The Manifesto for Agile Software Development values "working software over comprehensive documentation". This core value asks us to think about how much and which kinds of documents are needed and when they need to be written.
Organizations adopt agile to be able to handle changes. Agile helps teams to deliver products that satisfy the needs of customers; products which do not contain unneeded (and unused) features. Lean software development says: everything not adding value to the customer is considered to be waste. How can a transition from waterfall to agile software development help organizations to reduce waste?
The priority game is an exercise which Michael Franken did at the GOTO Amsterdam 2013 conference, to make large backlogs manageable. He showed how Scrum can help you to focus and remove waste by not making things that are probably never used by customers.
Delivering faster is one of the reasons that enterprises mention why want to use agile for software development. How can agile be used to become faster?
Tony Wong, a project management blackbelt, enumerates some practical points on individual procutivity. This article wonders how well these apply to software development and contrasts his list with that of other lists.
Hitting a kanban limit introduces slack into an organization by temporarily stopping the work that feeds into a bottleneck. So how can you convince management that introducing a kanban limit (i.e. stopping work) could actually be a good thing?
JRebel 3.0 was released on April 16th. It targets turnaround time in Java development by removing the need for redeployment. Instead it supports advanced class reloading. The article details updating Java classes at runtime and provides an overview of the technologies used in JRebel and especially the improvements of the recently version 3.0.
TDD and BDD are now widely-used software development techniques. However, solely following TDD & BDD may still lead to missed business opportunities, or worse, a negative impact to the business. Two questions which TDD & BDD are unable to answer are: How do you measure the usage of your application? How do you get feedback from your customers? Is Experiment-Driven Development (EDD) the answer?
A delay, in general, is getting something done later than it was scheduled for thereby causing distress and inconvenience. Likewise, a delay is considered to be a waste in the Agile terminology. A delay causes discontinuity and thereby causes other wastes like relearning, task switching etc. A few Agilists discuss the common delays and ways to resolve them.
Fundamental to Lean Software Development is the pursuit of minimizing waste. The TPS publicized 7 primary wastes of manufacturing, and the Poppendiecks have since translated these wastes to our world of software development. Jack Mulinsky has recently been posting an introductory series on these wastes at agilesoftwaredevelopment.
In a recent article entitled “Continued Delivery of High Values as Systems Age”, Chris Sterling discusses the concept of Software Debt – “Software debt accumulates when focus remains on immediate completion while neglecting changeability of the system over time.” Software Debt goes beyond technical debt an encompases a variety of aspects that impact on the ability to deliver value.
"Why in the world would we use two people to do the job of one?" This is often the initial reaction to people when first introduced to the idea of pair programming. In essence, they perceive pair programming as doubling the cost of writing any segment of code. Dave Nicollete offers some quantitive ideas to help show how pair programming can save money, not waste it.