Friday, October 13, 2006

I ve been recently reading a lot about software development strategies and methodologies revolving around a fairly recent way of thinking. These methodologies also belong to what is now know as Agile Software Development. an interesting overview about Agile software development can be found at wikipedia.
One particular book that i discuss with the employees at REALSOFT (Amman office) is called "Lean Software Development" by Mary Poppendieck and Tom poppendieck (ISBN 0-321-15078-3).
The origin of Lean thinking stems back to the 1940's when taiichi Ohno of Toyota who wanted to know how Toyota (a small car producer at the time) could compete with American mass-produced cars. The father of the Toyota Production System is the mastermind behind the fundamental lean principle, namely, eliminate waste.

The book and others book in Agile realm try to transform the Lean thinking used in development and production of products into lean thinking as it applies to Software development.
Effectively, lean thinking advocates the adoption of iterative software development approach over the traditional water fall approach. However, even though several other studies in software development life cycles (SDLC) favor iterative approach, the agile lean approach has its unique steps.

Lean thinking has seven principlesEliminate Waste
Amplify learning
Decide as late as possible
Deliver as fast as possible
Empower the team
Build integrity in
See the whole.

The are other approaches that also know in the agile arena such as
Extreme Programming (XP)
Scrum

I think that this approach can be applied in Jordan very well, and many of us, most probably apply it without having identified their method as being Lean or Agile. The Lean approach applies best in environment when it is not possible to capture the business requirement of a certain business precisely and comprehensively at the start of the project. The agile approach, then suggests, that the team starts to do early rough releases and present the results to the client as soon as possible, then start enhancing and evolving both the requirement and the software application itself by introducing another iteration that includes the additional features resulting from the first release. (This complies with the Decide as late as possible and Deliver as fast as possible principles)

No comments:

Fundamentals of Software Testing

Originally posted on jan , 23 2009, Published again on Sept,18,2024 extracted completely from    http://testingsoftware.blogspot.com/2005/1...