|
Lean Software Development (LSD) |
Lean Software Development (LSD) which is allied with
Agile software development methods, provides guiding principles, practices
and tools for improving software development. It helps software companies
to: be more profitable, increase productivity, achieve faster development,
eliminate waste and produce high quality software products and systems
which have more value to customers. |
|
Guiding principles include:
|
 |
Maximise Value (to Customers and us) (of whole software
product) |
|
 |
Eliminate Waste (from the 'Whole Product') |

|
Eliminate Waste (from the Value Stream) |
 |
Motivate people (to be accountable, empowered, disciplined
and creative) |
| 
|
Innovate through knowledge
|

|
Defer commitments |
 |
Maximise Productivity in providing Value and Quality (should
flow at the pull of customers and markets)
|
 |
Develop fast (Demand driven pull and flow {with real time
feedback})
|
|
 |
Continuous improvement and optimisation (of End to End
Value Stream) (of 'Whole Product') |
|
| |
|
|
|
|
|
|
|
To achieve these guiding principles, companies adopt various
practices which they use to manage and implement software product development.
These practices are supported by a toolkit which helps implementation
at the management level and software development project level. |
Lean Software Development
applies to various types of development, including:
In House IT Development
Software developed by companies for sale to customers
Software consultancies which develop bespoke software for other companies
Outsourced software development |
and encompasses different
types of software and systems:
Embedded systems/software: e.g. Avionics; Cellular telephones and telephone
switches; controllers for automobiles; handheld computers; household appliances;
Medical equipment; personal digital assistant (PDA); …………….
Desktop Applications; Enterprise Applications; Server Applications
Business Integration/ Enterprise Application Integration (EAI)
Commerce
Data and Information Management
Mobile, Speech and Enterprise Access
Networking
Organizational Productivity, Portals and Collaboration
Security
Web Applications
ERP/CRM/SCM
Mobile Applications
Business Intelligence and Workflow
Database and Middleware
Product engineering software (CAD), (CAE), (CAM)
Document Management
Geographic Information System (GIS)
Analytical software
Media and entertainment software |
|
|
|
Lean Software Development
provides a set of practices and tools which are an overlay and integrated
with:
e.g. Programming languages (Ada, C++, Java, Visual Basic, PHP ……);
Programming paradigms ( Object-oriented, Structured, rule based …..)
Agile, Crystal Clear, DSDM, Extreme Programming (XP), Scrum, Scenario
Driven Development,Test-Driven Development, Software Reuse
IBM mainframes, Linux PCs, Mac OS X PC’s, Microsoft.NET, Windows
mobile, Solaris, Symbian OS, Microprocessors (µP) and Microcontrollers
(µC): ARM, Intel, MIPS, DOS, Linux, NetBSD, …….real-time
operating system MicroC/OS-II, QNX, VxWorks ……
Project management methods and tools:
Project planning, monitoring and control, Milestones, Risk Management,
Project Metrics
|
Example
DSDM stages
|
| Lean Software Development (LSD)
implements practices and tools at two levels within a company:
Software Product Management Level
Software Project/ Developer Level
Software Product Management Level,
which applies across the organisation and addresses those practices which
enable LSD to work on individual software development projects or within
individual departments such as software test or software QA.
Introduction and implementation of LSD practices and tools at this level
is typically the accountability of software managers and focuses on issues
which apply across the organisation, resources and projects. These include,
for example:
 |
Front end Voices of Customers Research to identify
and prioritise software development or other needs |
| 
|
Front end Software Competitive Analysis |
 |
Generate cross-functional methods and tools to prevent Over Development
Waste |
 |
Generate methods and tools to prevent Defects Waste |
 |
Value Stream Mapping of software product flow to reduce Non-Value
Added Time from process |
 |
Value Stream Mapping of information flow to reduce Non-Value
Added Time from process |
 |
Manage 'departments' and work centres to minimise Queues and
Bottlenecks and maintain 'flow' |
 |
Establish ways to manage 'Batch Size' and Capacity to maximise
productivity and minimise delays |
 |
Methods to systematically improve the Software Development process
Encourage good problem solving to remedy root causes of problems |
 |
Set an environment for the following practices: |
| |
Keep options open and reduce dependencies |
Defer critical or irreversible decisions to the 'last responsible
moment' |
Insist on a clear software product definition and architecture
but not a 'complete specification' before development starts |
|
 |
Encourage: |
| |
Concurrent Development Process |
Checkpoint or Decision Points scheduled 'Just in Time' |
|
|
| |
Software Project/ Developer
Level, which applies to individual software development projects
and the practices and knowledge of individual developers, testers, et.
al.
Introduction and implementation of LSD practices and tools at this level
is typically the accountability of project managers, software developers,
testers, trainers, documenters et. al. and focuses on issues which affect
the speed and productivity of development and value and quality of software
products. These include, for example:
 |
Product Definition based on prioritised Customers
Needs |
| 
|
Minimise Over Development Waste for Whole Software Products under
development |
 |
7 Types of Waste (Muda) applied to NPD Project |
 |
Value Stream Mapping of Information and Product Flow for project |
 |
Plan projects to minimise queues and bottlenecks |
 |
Tailor and improve process and tools for project specifics |
 |
Use Problem solving and disciplined experimentation to discover
innovative solutions |
 |
Early release of a minimum feature set to customers for evaluation |
 |
Daily builds and rapid feedback from integration tests |
 |
A team and/or leader with experience and instincts to make good
decisions |
 |
A modular architecture that supports the ability to easily add
new features |
 |
Schedule critical or irreversible decisions to the 'last responsible
moment' so that we have the most information available. |
 |
When developing the early features, avoid making decisions which
are difficult to change |
 |
Keep options open in those areas which are most likely to change.
Experiment with various solutions then decide on the best one as
late as possible |
| |
Lean Software Development (LSD) provides
an integrated approach for developing software products.
|
 |
A set of guidelines for integrating LSD with your software
design methods, technologies, platforms and processes |
 |
Management Level and Project Level toolkits for practical
implementation
|
 |
Training Workshops and Skills Transfer |
| We are experienced in adapting and applying
Lean Software Development (LSD) principles, practices and tools for a
client's specific situation using a variety of implementation programmes
and a database of tools.
|
| Toolkits:
Our approach installs an advanced set of tools to help achieve
improvements and results. We assemble these tools into a toolkit for a
client's specific situation. Examples of tools include:
|
DOSHWIP Waste Types and Checklists
Value Stream Time and Network Maps
Gemba
MoSCoW rules
Whole Software Product' Model
Queue and Bottleneck Diagram
Cumulative Flow Diagram (CFD)
Software Development Kanban
|

|
| Software
Packages and Templates
Some of the tools are provided with Excel or Web based software
packages or templates to facilitate practical use and ease of learning.
|
|
| Implementation
Programme
Each programme is tailored to the client's situation, but typically
comprises the following deliverables: DOSHWIP Wastes healthcheck, Value
Stream and Vallue Added Time Mapping, tailoring of toolkits, delivery
of facilitated workshops and software. |
 |
DOSHWIP Wastes healthcheck and Value Added Time Mapping for project
: DOSHWIP
Wastes healthcheck, Value Stream and Value Added Time Mapping
|
 |
Agreement of
programme deliverables
|
 |
Tailoring of
guidelines, toolkit and software for client's specifics |
|
 |
Facilitated
workshops, 1:1 and 1:n coaching |
 |
Off-line telephone
and e-mail support |
|
 |
Skills transfer
to key individuals or training programme. Agreement of programme deliverables |
Free
Proposal
We can provide a free proposal, including programme outline with costing,
to meet your requirements - please contact us.
We can also provide a formal in house training programme on the above
topics, tailored to your specific needs. For more details click below:
Lean Software Development Training
Workshop
|
For information
relating to allied topics, click on the links below |
| New
Product Introduction (NPI) or New Product Development (NPD)
Product
Definition (PD) and pragmatic Quality Function Deployment (pQFD)
Product Marketing and Management
Time
to Market Control and Compression (TtMCC)
Product
Innovation with Market, Technology and Process Innovation
Design
for Six Sigma (DFSS) or Six Sigma Product Development (SSPD) implementation
programme
Product
Development Training Course Workshop
Product
Development, Marketing and Management Software Applications
Time
to Market Product Development Healthcheck Assessment Audit |