The central concern of lean software development is the
elimination of waste, where waste is work that adds no value to a product or
service. Lean software could be summarized by seven general principles, all of
which are closely related to their manufacturing counterparts:
1. Eliminate Waste
Anything that is not considered value to the customer can be
classified as waste. Un-necessary resources, work, functionality and
communication or bureaucracy all add up to waste.
To reduce waste, you have to first recognize it! Project
managers should be able to able to spot waste such as abandoned code, waiting
on other teams and un-needed functionality.
When waste has been recognized it must then be removed,
usually by working with management to produce guidelines and procedures to
learn from mistakes and improve. The whole waste elimination process should be
constantly, iteratively, repeated until every process is as efficient as
possible.
2. Amplify learning
Learning in this context does not refer to a programmer
gaining new skills, it means gaining knowledge, or learning, about the software
being developed, usually from the end user and/or customer.
Lean software development often utilizes rapid prototyping
tools is a great way to get constant feedback from the end user. Regular
testing in cycles is necessary and ensures quality is up to scratch and no
creeping bugs are introduced. Customer feedback should be enlisted as often as possible to
ensure the project is on track, on spec and on time.
3. Decide as late as possible
Rather than deciding first, decisions should be kept
flexible as possible whilst going along with the process as requirements may
change, rendering the outcome of a decision null. A methodology like Agile
keeps the planning and development phase short to take in to account customer
feedback at an early stage. This helps to move things in the right direction
earlier than later.
4. Deliver as soon as possible
Delays can cause upsets, whereas early submissions without
any errors can cause delight. When considering deliverables, working with team
management is very important. The team leader should be a keeping the work
going without complications and keeping constant updates and meetings with the
customer.
5. Empower the team
The classic saying "There is no I in team" is an
important principle in lean development of software. Successful lean
development of software teams are where everyone works as an equal, with the
process of delegating done by a team leader. Developers should have as much say
and input to the end result as possible - they are the ones directly involved
in its creation, so they have unique insight.
6. Build Integrity in
You have to build integrity in to your product when it comes
to your software. Conceptual integrity has to match perceived integrity to
ensure customer satisfaction. If there is minimal gap between the two, the chance
of customer satisfaction is very high, even when created with lean software
development.
7. See as whole
Lean development is usually adapted by any of the Software Development Company Islamabad for
being a fast, eliminating waste and producing a product that satisfies the end
user.
No comments:
Post a Comment
Note: only a member of this blog may post a comment.