Tag Archives: Scrum

Applying WCM to the Software Industry

I recently spoke at Symbiosis University on how WCM (World Class Manufacturing) thinking is being applied to the software industry.  World Class Manufacturing [WCM] is the collective term for the most effective methodologies and techniques to realize the objectives of: A) Products of consistent high quality B) Delivery on Time of the desired quantity and C) Product at the lowest cost. The commonly knows WCM methodologies and techniques are TPM, Kaizen, TQM, Six Sigma, JIT, and Lean Manufacturing. This presentation shares how the software industry has been adopting many practices from the above techniques over the last decade. 

Agile and Innovation

I was one of the panel speakers at the Agile India 2013 conference that was held in Bengaluru from Feb 27th to March 2nd, discussing whether Agile fosters or kills innovation. For us, based as we are in the Silicon Valley and in India, the largest outsourced IT services market in the world, this was of special interest.  Silicon Valley is a fantastic example of innovation; clearly it has also adopted a variety of Agile and Lean Startup related practices without slowing down on innovation.  On the other hand, India’s software industry – with a history of outsourced application development and maintenance, and a fledgling, yet steadily growing ISV industry, and a large pool of software developers, has been slow to adopt Agile methods – and is not recognized for innovation yet.  So was there a right ‘engineering method’ that fosters innovation?
The other panelists included senior delivery execs from IT services companies, Lean/ Agile consultants and product development experts.  As expected from a panel of speakers with a diverse background, the conclusions from such a forum were also varied. A spirited discussion ensured and a few approaches emerged from the panel discussion that could definitely be used to foster innovation.
To set the scope correctly, the discussion was around Agile and Innovation, not limited to any specific method and practices. So, under the broad definition of Agile, that included Lean and Kanban, the panel discussed this topic.
It was clear from the discussion that the Sprint based approach, where the team is put under constant milestone pressure at a frequent interval, does not foster innovation. The team is given a well-defined backlog of items to be delivered in the Sprint and in most cases that itself is a challenge.
Three approaches emerged to foster innovation in an Agile team:
1.     Plan for some slack time as part of the Sprint plan: While this approach is reasonable, my personal opinion is that the slack will get used to deliver the scope. After all, Parkinson’s law is hard to avoid!  As long as this risk is mitigated, this approach can indeed foster innovation within the team.
2.     Schedule a Hackathon: Define a problem, define a time limit and challenge the team to figure out an innovative idea/ approach. Alternatively, you could just define a time limit and let the team get creative to deliver a bunch of ideas. While this does have an immediate deadline, it is primarily internal to the team (unlike the regular Sprint deadline, where one is expected to make a customer release). The only catch is that that in a high pressure environment, management should not forget to plan for an occasional hackathon.
3.     Carve out an Innovation team: Another alternative discussed was to carve out a small team from the delivery rigor and let them work on innovative products or approaches. This team would not be measured like the rest of the delivery team – with a Burndown/ Velocity chart for SCRUM-based projects or cycle time for Kanban projects. For a team following Kanban, this work could be tracked in a separate swim-lane, so that they are not mixed with the regular delivery. One of the questions asked by the audience was whether such a “dedicated” team would cause attrition in other teams. The follow-up discussion clarified that this should not be a permanent team. The team should be formed to find an innovative solution for the identified need/ problem. Once the solution emerges, the team should be dissolved to return to regular work. For the next such need/ problem, a new team should be formed again, depending on who has the appropriate background/ experience.
Clearly, there are many ways to foster innovation amidst regular work!  Hopefully, the ideas above provide some viable approaches on how one can foster innovation in an Agile team! 
What is your experience?  I’d love to hear from you of other approaches and ideas that might work even better!
Sudipta Lahiri
Senior Vice President