The traditional agile approach to prioritization is that user stories of higher business value should be implemented before ones of lower business value. The concept is simple, but implementing it well relies on having a mechanism to assess business value. Pascal Van Cauwenberghe has recently described an approach to defining business value, called "Business Value Modeling", which may help.
The goal of refactoring and rewriting is to improve the sanity of the system by improving the code readability, structure and clarity. A clean code would be easier to maintain and enhance. However, on many occasions Agile teams have a tough time deciding between the two.
Forrester Research, in preparation for their Business Technology Forum next week, has released an analyst report for free download, entitled "Lean: The New Business Technology Imperative." Aimed at management, it discusses Lean as a whole-business imperative, and its impact on IT, cautioning: "Don’t get so caught up in eliminating waste that you forget to create value and increase flexibility."
In a recent interview on Venture Hacks (Advice for Entrepreneurs) commentator Eric Ries discussed the concept of the Minimum Viable Product (MVP) – doing “just enough” to meet customer needs in order to get a product THAT PEOPLE WILL PAY FOR to market as soon as possible.
An implicit assumption made by most Agile teams is that 'value' is directly proportional to the 'velocity' of the team. While this may be true in some cases, however mostly, the team velocity gives little indication on the true value delivered.
A recent discussion on the ScrumDevelopment Yahoo! group discussed the different uses and misuses for velocity. Should velocity be used a metric for productivity? Should it be used for iteration planning? What about longer term release planning?
When should you refactor? There are times when you simply need to pay down technical debt - you should stop and refactor. No, you should only refactor when one is working on a User Story. Which advice is best? Is there, perhaps, a third option?
Is quality supposed to mean a lack of defects that are holding us back? Mike Bria, Lisa Crispin, James Bach and JB Rainsberger debate the meaning of quality and the limitations our current definition is placing on us.
An increasing number of organizations are embracing Agile development as a survival tactic in these turbulent economic times. This in turn has lead to a number of pundits examining what attitudes and attributes their teams need to be successful. Business agility is important, but how is this agility achieved?
Anyone who has spent any time on an effectively executed agile project can attest to the fact that the Product Owner's (or, in XP, the "Customer's") collaboration with the development team plays a key role in the success of a team. Peter Stevens offers a bit of advice to help people in these roles do this well.
In this presentation held during Agile 2008, Alan Shalloway, CEO and founder of Net Objectives, presents the Lean software development principles and practices and how they can benefit to Agile practitioners.
At first glance, most agile methodologies define simply that stories be developed in order by business value. In many cases though, it is prudent to blend increasing business value with deliberate steps in "knowledge acquisition". Alistair Cockburn describes how to do this blending effectively, and how to leverage it to deliver the right feature set at the right time.
Scott Schimanski recently added his voice to those talking about the power of a clear definition of "done." Scott points out there is both business and personal value in a well-defined meaning of "done". The business can count on shipping features that are done, without making any additional investment, while individuals really seem to enjoy the sense of accomplishment that comes with "done."
Choosing the right features can make the difference between the success and failure of a software product. Mike Cohn presented 'Prioritizing your Project Backlog' at Agile 2008 on how a project backlog should be organized and prioritized and non-financial techniques for prioritization such as kano analysis, theme screening/scoring, relative weighting and analytic hierarchy process.
In this presentation filmed during Agile 2008, David Anderson talks about the history of Agile, the current status of it and his vision for the future. The role of Agile does not stand in just having a practice, but in finding ways to implement the principles contained by the Agile Manifesto.