Agile software development is a process that supports the agile philosophy of being able to move quickly and easily. It is suitable for small or medium sized projects or for custom system development within an organization. Lean software development applies lean manufacturing principles to software development with the goal of reducing waste and providing high value for the customer. The key principles of lean software development are to eliminate waste, amplify learning, defer commitment, deliver fast, respect people, build in integrity, and optimize the whole system rather than sub-optimizing parts. Success stories found lean software development resulted in on time delivery, reduced scrap and rework, lower costs, and improved productivity.
2. Introduction Agile Software
Development
• Agile – able to move quickly and easily
• Agile software development – process that support the agile
philosophy
• Philosophy-
• Suitable for -
- Small or medium size scale
- Custom system development within organization
• Other agile software development – XP, Scrum, kanban method,
Crystal Family and many more
3. Lean Software Development
• Implementation of a lean manufacturing
principles into a software development model
• Lean manufacturing principle originated from
Toyota production system in Japan
• Main objective: Reduce waste in a system and
produce a higher value for the customer
4. Key Principles of Lean Software
Development
Eliminate
waste
Build in
integrity
Amplify
Learning
Defer
commitment
Deliver fast
Respect
people
Optimize the
whole
5. Principal 1: Eliminate waste
– Waste: anything that didn’t improve quality of code,
didn’t reduce time and effort in development
process and didn’t provide real value too customer
(tools:VSP mapping)
– Three types of waste
Waste in code development
Waste in project management
Waste in workforce potential
Principal 2: Amplify Learning
– Softw. Development is a continuous learning
process (need to learn as project develop)
– Predictable performance is driven by feedback
6. Principal 3: Defer Commitment
– Deciding irreversible decision as late as possible to
keep option open for as long as practical
– Why? ->The later the decision are made, the more
information we will have to make the right decision.
*important of timeboxs
– >adaptable, change is manageable
– >avoid/ delay cost of change
Principal 4: Deliver Fast
– Customer like a rapid deliver
– Less time for a customer to change their mind
– Avoid over-enginered solution
– Complement defer commitment
7. Principal 5: Respect People
– Empower those who add value: letting people who
add value use their full potential
– To get individual to be motivated and take
responsibility -> be responsible for the outcome
and authorized to make it happen
Principal 6: Build in Integrity /Quality
– perceived integrity and conceptual integrity
– Making sure customers expectation are met
– Key is early and often communication , feedback, testing
8. Principal 7: Optimize the whole
– Sub-optimization: Tendency to solve problem by
breaking system into parts and optimize each and
individual part
– Usually will be leading to “tragedy of the commons”
– Look at the entire value stream
– Continuously review product and process
development.
9. Success story
• BT Adastral,
50% sooner than expected.
80% ROI in the first year.
• Timberline Software (now part of The Sage
Group),
estimates that improvements in quality, costs,
and time to market were all greater than 25%
10. -On time delivery
-Scrap reduction
-Space utilization
-Total project work reduce
-Project rework reduce
-Project costs reduce
-Improve productivity
- Success depend on
discipline,
commitment and
technical skills
- Role of a business
analyst is crucial
- Flexibility in
requirement
11. Conclusion
• Effective principals in terms of cost-related
• Effective principals in terms of quality-related
• Need a strong team work and discipline from
all party involved including customer/client