Lean Software Development is the extension of the Lean principles to IT Products and Services Development and Management; more specifically, it aims at eliminating any type of work that adds no value to an IT product or service.
Lean Six Sigma is a methodology that relies on a collaborative team effort to improve performance by systematically removing waste, on eight types of operation: Transportation, Inventory, Motion, Waiting, Over production, Over processing, Defects, and Skills (abbreviated as ‘TIMWOODS’).
One shouldn’t underestimate, in a more and more predominant eBusiness and eCommerce environment, the crucial role IT has come to play in businesses’ primary activities of delivering value to customers. IT often provides products and services that enable customers to find, order, and pay. IT also provides enhanced productivity and allows both suppliers and employees to better communicate, collaborate and produce / execute.
All Lean IT Consultants and Evangelists will tell you, there is an abundance of waste in Software Development due to IT legacy infrastructure and fractured or non-performing processes which eventually contribute to poor customer service, lost business, higher costs, and lost employee productivity.
Lean Software Development targets eight sources of waste within IT operations:
Source image : Wikipedia
« Lean » does not mean « Cheap »
Surprisingly, even though we’re evolving in a more and more competitive environment that leaves no margin for error, we have lost these last few years our share of Software Development mandates as a Consulting Firm to either interns or junior developers among enterprises. So, it seems like many enterprises really think they can save time and money by entrusting mandates to the internal at lower rates.
Normally though, it doesn’t take much time for reality to catch these enterprises and for someone to raise a « red flag ». Fortunately for us, with time, we have successfully recover many Software Development mandates for which we have been initially solicited but were finally given to interns and juniors.
A rule of thumb emerged from that experience: if the development project is complex or if it has to integrate with other legacy systems, calling upon a junior resource is very rarely a winning idea.
So, how has our experience of Software Development project impacted Analystik?
Lean Software Development « à la Analystik »
First, Analystik has put into place over the last 15 years a comprehensive and very rigorous Software Development Quality Control process, with a Lean flavour to it.
So today, every Development project is executed through our own Software Development process which is strongly inspired by Agile Development Methodology.
Thus, it was quite easy for us to pinpoint and highlight that the main causes of failures of those development projects that were entrusted to interns and juniors were a lack of experience and deficiencies in the Software Development Methodology applied by the project resources.
And this how the lessons of our Software Development experience and our expertise in Development Methodology translate into the reality of a new project:
- Take the time to REALLY UNDERSTAND the Client’s business needs (very often not clearly expressed) and distinguish the essential from the unnecessary (prioritization and hierarchy of suggested features)
- Take the time to ARCHITECTURE WELL the solution BEFORE starting to code
- Take the time to DESIGN WELL each deliverable functionality
- Define how each deliverable functionality will be tested BEFORE starting to code
- Ensure each functionality developed REALLY CORRESPONDS to a need as well as to expectations throughout the development of the application
- Apply the AGILE Development Methodology
- TEST, test and test again BEFORE delivery
Lean Software Development Methodologies of Reference
For your information, here are the different sources which Analystik has relied on over the years.
Happy Software Development Project and looking forward to a fruitful collaboration,
Denis Paul & Michel