A Short History of Iterative Software Development
[This post has also been published on DZone.com, where it has gathered well over 5,000 views.]
It is useful to know about the various iterative software development project methodologies and how they originated, not so that you can follow them religiously but so that you can add them to your bag of tricks.
I recommend learning about the following.
A good starting point might be to read the content at the two links I've provided in this post.
I believe it is more important to understand the driving forces behind these movements than it is to understand the detailed practices that are in vogue today.
On most projects, I end up adopting or recommending not a pure version of any one of these methodologies, but a hybrid methodology employing those practices and techniques that seem best suited for the team and project at hand.
A final word. Whereas the methodologies listed above mostly concern themselves only with the softer aspects of project management, it is important to understand what I call technical Agile practices, i.e. the many software development tools and practices (e.g. unit testing, continuous integration) that must be mastered in order to extend the theories expounded in these methodologies into practical reality.
It is useful to know about the various iterative software development project methodologies and how they originated, not so that you can follow them religiously but so that you can add them to your bag of tricks.
I recommend learning about the following.
- Kanban (1953), whose origin lies within the Toyota manufacturing process innovations
- Scrum (1986), and its storied origin in the 1986 Harvard Business Review seminal article The New New Product Development Game, which examined 6 major Japanese and American companies to conclude that successful teams had replaced sequential approaches with iterative ones
- Rational Unified Process (1996), proposed by IBM in response to some of the growing market forces looking for alternatives to the Waterfall family of methodologies
- Lean (1998), and its origin in Toyota's manufacturing system
- Agile (2001), especially the contents and motivation behind the Manifesto for Agile Software Development, written by many of the software development thought leaders of our time
A good starting point might be to read the content at the two links I've provided in this post.
I believe it is more important to understand the driving forces behind these movements than it is to understand the detailed practices that are in vogue today.
On most projects, I end up adopting or recommending not a pure version of any one of these methodologies, but a hybrid methodology employing those practices and techniques that seem best suited for the team and project at hand.
A final word. Whereas the methodologies listed above mostly concern themselves only with the softer aspects of project management, it is important to understand what I call technical Agile practices, i.e. the many software development tools and practices (e.g. unit testing, continuous integration) that must be mastered in order to extend the theories expounded in these methodologies into practical reality.
0 Response to "A Short History of Iterative Software Development"
Post a Comment