Over the past few years, ‘Lean maintenance’ has become a frequently used buzz phrase in the IT world, and it isn’t without good reasons. Though lean principles were at first framed keeping in mind the manufacturing environments, their effective implementation for cost cutting has been on a constant rise in businesses related to services and IT.
Application development and maintenance presents an ideal scenario for applying lean methods due to a variety of reasons. To begin with, application development and maintenance include multiple processes with each one carrying the possibility to be optimized. Vast differences in the outputs of companies possessing the same resources and skill set suggests that there is a huge efficiency gap in between organizations. There have been umpteen cases where application of lean principles has led to an over 25 percent increase in the overall application development and maintenance productivity.
Frequent alterations in the requirements from an application are some of the most common reasons behind resource wastage. Lean identifies such wastes in the form of designers changing their specifications and reworking on new requirements, coders waiting till all the specifications settle down and testers needing to alter their testing environment.Applying Lean principles
The foremost step in the implementation of lean principles is diagnosing the waste levels in different processes. Most Application Development and Maintenance companies don’t keep a track of waste, and hence the data is collected through various rounds of interviews and interactions. The questions are usually related to the present code being developed and the requirements put forward for the new applications. At the end of these interviews and interactions, an estimate of the time utilized and wasted is secured. Now the focus is shifted on the time being wasted, its causes and the probable actions which can lead to increase in productivity.
The two major reasons leading to increased wasted efforts, as pointed out in different studies; include a random and unsystematic process of dictating the requirements of the project and no defined approach behind prioritizing any specific project. Both these causes negatively impact the working of the developers who are needed to be in constant touch with the clients to understand the project requirements and to juggle contrasting projects simultaneously. Most of the Application Development and Maintenance departments keep a constant watch on the overall cost and staffing for the project, but neglect the waste component.
Some of the lean principles that can be successfully applied in such situations include redesigning of the process to ensure a much improved flow, ensuring the best balance of work among the different work groups and a holistic performance management.
Some of the steps taken include setting up of a clear schedule for monthly or quarterly releases so that the next step is always predictable and every team is on the same page. Also, a well defined prioritization process is put in place against random practices. All the testers and developers are to be holistically trained to ensure that their workability stretches beyond the current project. This allows the managers to take ad hoc help from some other team in case his or her developers or testers are over occupied or not available. New performance metrics need to be formulated with a focus on reducing waste. The managers should be able to see the amount of time taken for a task as compared to the usual time the task takes. Application of these lean principles can boost the overall productivity manifolds.