0% found this document useful (0 votes)
7 views

Lean Software Development

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Lean Software Development

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Lean Software Development

Lean software development is a concept that emphasizes optimizing efficiency and


minimizing waste in the software development process.
What are the 7 principles of lean software development?
1. Eliminate waste-aims to eliminate anything that does not add value to the
customer.
There are 7 types of waste:
 Overproduction – manufacturing product before it is required
 Unnecessary transportation – Moving inventory from one place to
another, wherein there’s a risk of damage without any value addition
 Inventory – holding inventory increases cost without adding any value
to the consumer, occupies valuable space, and delayed innovation
 Motion – denotes unnecessary motion of workers
 Defects – quality issues cause having to rework and can lead to
excessive additional costs to companies
 Over-processing – usage expensive tools instead of simple ones.
 Waiting – when inventory waits while value-adding steps are being
performed.
Identifying and eliminating waste allows team members to point out faults
and suggest changes in the next turn.
2. Build quality-emphasizes the idea that quality should be tested and verified in
the development process from the very beginning, rather than being
inspected in or fixed at later stages. The goal is to prevent defects from
occurring in the first place, rather than detecting and fixing them after the
fact.
Tools for quality building:
 Pair programming – combines the skills and experience of two
developers instead of one, figure out more effective solutions and
deliver better quality of work.
 Test-driven development – tests are written before writing the code so
that the engineer can ensure it meets business requirements.
 Incremental development and constant feedback
 Minimize wait states – lower context switching, knowledge gaps, and
focus loss
 Automation – every tedious, manual process or process prone to
human error is automated
3. Amplify learning-accumulating knowledge and creating a knowledge-sharing
environment within a team.
How to implement amplify learning?
 Pair Programming
 Code Reviews
 Documentation
 Knowledge sharing
 Training
4. Delay the commitment-learning as much as possible before committing to
serious, irreversible decisions.
Practices that help you implement the principle:
 Planning broadly, without too much detail
 Always leaving room for change
 Experimenting to gather as much information as possible
 Putting off irreversible decisions till the last moment
5. Deliver fast-developers launch a product quickly, receive customer feedback
fast and use that feedback to create a strategy for improvement.
6. Respect for people-collaboration and creating a supportive and productive
atmosphere. For a successful approach, it is important to address problems
and conflicts with communication, feedback, and respect for team members.
7. Optimize the whole-The team examines the process from start to finish
to make the Lean value stream as efficient as possible.
Benefits of lean software development:
1. Collaboration-with amplified learning, your team will exchange knowledge
faster and internal communication will be much more efficient. This will
empower your team members, prevent bottlenecks, increase engagement
and participation, and accelerate the decision-making processes.
2. Improved flexibility-incorporates constant changes and process improvement,
which enforces flexibility, allowing teams to adapt to changes and new
information.
3. Increased efficiency-reduces delays and inefficiencies by identifying and
eliminating non-value-adding activities.
4. Higher quality-integrates quality assurance throughout the development
process, preventing defects and ensuring quality products.
5. Efficiency- eliminates waste and delivers software fast, making development
organizations more efficient and reduce cost.
Challenges of lean software development
1.

You might also like