My Project Management Expert

Lean Software Development

The methodology of lean software development is the application of lean manufacturing principles when developing software. It is quite close to scrum methodology which is known for its application in problematic projects.

Just like Scrum, it symbolizes the concept of dynamic stability. It's originator insisted on completing a project with a third of the human effort, development time and investment than an Organisation who had attained the CMM Level 3 service capability rating would be able do. This should immediately tell you that lean development is not a methodology which is heavy on process or paperwork.

The Principles of Lean Software Development

These can be summarized by seven principles which are:

1.0 Eliminate Waste

The team members of a Lean Software Development project should be able to recognize and eliminate waste. For example, waste could be defined in terms of time and effort spent in adding features in software which would hardly ever be used. Time should instead be spent on what would actually be of real value for the customer. There is after all a great deal of time required in task switching, extra processes, extra functionalities, waiting, delay and defects. Plus this is a great way being able to avoid scope creep!

2.0 Increase Learning

There is an old saying; when you are in doubt, ask. The principle of amplifying learning is somewhere close to that. It demands that one should increase the amount of knowledge sharing and project communications required from the project management stakeholders when there is a tough problem. In plain english, it is better to ask someone who has spent time struggling with a similar problem and found a workaround rather than wasting time trying to troubleshoot the same problem.

The principle also means that feedback should be taken from the user to understand their business requirements documentation. Such feedback increases the knowledge and learning of the person working on the task, which in turn speeds up the entire process of software development.

3.0 Make Decisions as Late as Possible

This means that one should not rule out any of the options as long as feasible. Contrary to traditional methodologies, this principle of Lean Software Development insists that all the project management requirements should not drilled down into before starting the development of software. One should let the requirements evolve with development starting with highest value functionality and then adding all the other necessary features as the requirements comes up.

4.0 Deliver as Quickly as Possible

This principle certainly does not mean that a poor quality product is delivered to the customer. It simply means that functionality specified is delivered to the client as soon as they ask for it. This is complementary to the previous principle. The quicker the product is delivered, the quicker you receive the feedback and the quicker you can improve the next iteration. If you cannot deliver fast, then decisions will have to be made earlier, and stuck to.

5.0 Empower the Team

Lean Software Development starts with the basic assumption that the frontline staff are smart. Their intelligence should be trusted and the team should be empowered to take decisions required during the software development process. The leader should only be a facilitator. The team, on the other hand, should be clever, motivated and disciplined.

6.0 Building Integrity

The product should have conceptual integrity, which means it should have a balance between flexibility, maintainability, efficiency and responsiveness. It should be a smooth, cohesive and value for money product for the customer. This can only happen when customer’s comments are carefully listened to and then acted upon.

7.0 See the "Big Picture"

One should never only view the product in isolation but also consider how it interacts with other software and interfaces. This is all the more of a necessity in large organizations which have larger and more complex systems along with numerous development teams and vendors. There should be smooth relationship amongst all so that the product easily interacts with others without lots of re-work having to be done.

Lean Software Development - Tip

Lean Software Development is good methodology to follow if you are working on a straightforward project for which the software requirement specification (SRS) is easy to devise and implement. However there are many pitfalls involved in this approach. For more information please read the advantages and disadvantages of lean software development

Sign Up for Our Free
The Fast Track to Project Success eZine
and get The mPME Top 10 Tips
of Successful Project Management Ebook!

The Top 10 Tips of Successful Project Management Ebook Email

Name

Then

Don't worry -- your e-mail address is totally secure.
We promise to use it only to send you The Fast Track to Project Success.



follow MyPMExpert on Twitter


Sign Up for Our Free
The Fast Track to Project Success Ezine
and get Our
Top 10 Tips of
Successful Project Management Ebook!

The Top 10 Tips of Successful Project Management Ebook
Email

Name

Then

Don't worry -- your e-mail address is totally secure.
We promise to use it only to send you The Fast Track to Project Success.

Site News

Please check out our new Project Management Methodologies section. It has loads of great info on concepts such as the PMMM and Critical Path.


Spare 2 Mins & Win an iPod Shuffle

We're running a survey to enable us to better focus our site and products. Please spare 2 minutes to answer our 6 questions and we'll enter you into a draw to win an iPod Shuffle. This way you help us to better help you. Go on, you know it makes sense!

Click here for the Survey.

Original Content Copyright © 2009 My-Project-Management-Expert.com
All other content is in the public domain or is copyright by the credited author.