In a software development project, amplify learning is the process by which we increase the ability of the development team to learn quickly and effectively. And the single most important subject worth learning, in a software development project, is user needs and feedback; failing in understanding what the user needs can easily cause a project to fail.
Capturing user needs is crucial, but also very complicated, so it’s very important to communicate continuously using feedback loops. This concept is well interpreted by the lean and agile movement: this new approach has shown us how in many scenarios, increasing feedback is the most effective way to amplify learning and help a complex and difficult software development project.
In agile and lean software development, the most distinctive methodology to achieve this is iteration. In the words of Poppendieck :
“An iteration is a useful increment of software that is designed, programmed, tested, integrated, and delivered during a short, fixed timeframe”
Iterations increase the feedback levels between the development team and the users and they are useful to highlight earlier potential problems; they work best when coupled with the other agile and lean principles, like built-in quality, to make sure every increment meets the appropriate quality standards.
The goal of each iteration is to deliver value to the customer in form of additional coherent features and, equally important, to learn from the customer: feedback from the users about delivered functionality is what really drives the project and it is crucial to receive it as soon as possible.
That is also the reason why modern software development life cycles are based on concepts like continuous deployment and continuous delivery: the more often new functionalities are deployed to live environments the quicker is feedback received, and learning from it will improve the quality of subsequent deployments and ultimately the level of value delivered to the end users.
Works Cited and Further Reading
Poppendieck, Mary, et al. Lean Software Development: An Agile Toolkit. Addison-Wesley Professional, 2003.
Top comments (0)