4 April 2007 by Nari Kannan
|
Printable version | Email to a friend |
Importance of Iteration in Process Improvement |
|
|
|
|
|
To improve is to change; to be perfect is to change often. - Sir Winston Churchill Iteration is so under-rated these days. People who improve things one small thing at a time are called "uninspired" and "tinkerers." We need people like Steve Jobs who can wake up from dreams and write down furiously their latest and greatest ideas and make them happen! Sure, this happens once in a while and can make gobs of money, but relying upon it as a strategy is dangerous. We call the Japanese "tinkerers" and wait for the Big Three US automakers to come up with cars that run on practically free hydrogen from the air while the byproducts are water cooled and bottled for our drinking pleasure as we drive. Very exciting, but decades away from happening in real life. Meanwhile, Japanese automakers are eating their lunch and will continue to do so for decades to come! The secret is "iteration" -- continuous process improvement and not legendary leaps in innovation. Sure they can happen, great breakthrough ideas, once in a while. But iteration must be one of the most underrated and unexplored ideas. The Toyota Production System with its infinite patience for iteration, studying the results of the iteration and constantly trying to change something in provably better ways, seems to be proving that iteration is better in the long run than inspired instant change. Particularly for business process outsourcing as well as software development. In BPO, the selling is not as tough because people realize that before you can improve something, you need to be comfortable and trained on how it is done today. Outsourcing service providers do not have too much say in doing things too differently except in the case of the most enlightened customers. However software development has institutionalized non-iterative ways of doing things. You CAN come up with a definitive requirements document that CAN be turned into a definitive design document that CAN be turned into perfect code, which in turn makes users ecstatic! Couldn’t be further from the truth. This is where iteration provides the secret. Users may not know precisely in terms of software interfaces or functionality what their requirements are -- especially when they keep changing due to changes in business environment, regulations, laws, and many other externalities. Iteration provides a base for reflecting upon ONE way of doing things and refining it as time goes on. This seems to work better than being forced to specify everything upfront. Software development methodologies are evolving from rigid, poured-in-concrete ways of doing things to one of gradual evolution and iteration. In many real cases, these new methods seem to have worked better than than before since it involves a feedback cycle that works in design-develop-use-gather-feedback-back-to-design methodology over and over again, converging to the right solution. Some are radical agile methods and some are gradual improvements over the older waterfall methods of software development. In all these cases, iteration seems to be the secret. Iteration provides a seed that be refined continuously with constant feedback from real users. Time to embrace iteration as the solution for many ills that are abstract and ail both business process execution as well as software development, particularly in the outsourcing context. |
|
| ADM / IT , BPO , Call Centers , Cool Tools , General , Globalization , Offshoring , Research | |
|
|
|
| posted by Nari Kannan at 12:23 PM ET | comments [2] | |
|
|
| posted by Sandeep Sood [ http://www.bcmdigital.com/o2 ] | 5 April 2007 at 4:38 PM ET |
Outsourcing is particularly challenging when it comes to an iterative process. The days of waterfall development suited outsourcing very well. As long as you were careful and thorough during the scoping process (which we were maybe half the time time ; >), the project went fine. But, how do you develop a web 2.0 site with an offshore team? How do you spend time with your team, throwing ideas back and forth with a developer who is receptive and has ideas of his own? An iterative outsourcing methodology? It is going to be tough. But, as you has stated, those who figure it out will be challenging the Wipros and Tatas for projects soon enough. |
|
| posted by Alexey Linkov [ http://outsourcing-insights.net ] | 28 April 2007 at 7:17 AM ET |
I think iterative software outsourcing methodologies is already here for a while. Rational Unified Process is promoted as an iterative methodology by IBM. Scrum is iterative at it's core. As far as i know, when the scope of the outsourcing project is not well defined or requirements change over time (and this happens often), the best option is Scrum methodology. |
|
Comments currently disabled on this Blog system. We're sorry for the inconvenience.

