Friday, October 13, 2006

Lean Software development, can it be applied in Jordan - by Ammar Sajdi

Amman, 13, Oct 2006

By Ammar Sajdi

Recently, I've been 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 known as Agile Software Development. an interesting overview of 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 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, eliminating 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 an iterative software development approach over the traditional waterfall approach. However, even though several other studies in software development life cycles (SDLC) favor an iterative approach, the agile lean approach has its unique steps.

Lean thinking has seven principles
  • Eliminate 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 are also known 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 an environment where it is not possible to capture the business requirements 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)

Ammar Sajdi

www.realsoft-me.com
www.e-ammar.net

1 comment:

Anonymous said...

You have listed amongst the Seven Principles of Lean Thinking : (Decide as late as possibe). I find this to be misleading as this statement implies that you have no direction which I am sure is not the intention. I would suggest replacing it with :(Make and Take intuitive decisions).

However, because of the possible uncertainities in the Software Development, which are possibly more that those in other businesses, you may have to " Keep options open and make irrevocable decisions as late as possible".

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...