Where the Mind is Agile...
Date: Wednesday , August 01, 2007
I was really inspired when I came across Toyota Motors journey to success. To over take other automobile companies and to reach at the helm, Toyota had devised a comprehensive action plan which included the Toyota Production System. The main idea was to add value to the organization by continuously solving the problems, by developing its people, and by recognizing that continuously solving root problems drives organizational learning. This business philosophy influenced me a lot because Toyota has been consistently ranked as superior in quality and customer satisfaction than any other car manufacturer in the world.
Why can’t we have the same process in software development also? I decided to experiment. Because if there was one complaint that has been constant in our industry it was the inability to deliver software that is of a suitable quality which meets the needs of the customer. While Toyota’s practices will not directly transfer to software development, their principles present guidelines to create practices which can make the software development process more efficient and productive. As the founder of Thought Works I decided to adopt the lean and agile methods practised by Toyota Motors into my organisation.
Henceforth, I have understood that pragmatic and effective use of agile methods can deliver software of high quality in a lesser time frame than the traditional process oriented methodology of software development. Agile methodology intensely focuses on best practices such as iterative delivery, test-driven development, continuous integration, and agile testing which enables the developer to deliver high quality applications with unprecedented visibility of progress to customers.
Agile methodology defies all conventional hierarchical forms of working in an organization. While there are some processes which are strictly followed, agile methodologies give a lot of leniency and flexibility in achieving the objective. How can a company be flexible and also be process oriented? It’s hard to draw the line but not impossible. This can be achieved through maintaining a collective responsibility for the outcome or the result. Each project is divided into various sub-projects and goes through all the stages of a full blown project: analysis, design, development, testing, and also deployment. This helps in creating an environment of collective responsibility.
In an agile environment leadership and management are clearly defined. Today there is a general misconception that leadership and management are one and the same. Leadership is the ability to inspire and lead the team. And when it comes to leadership I have found that women can be better collaborators and leaders. In my office I have a lady manager who inspires her team by constantly nurturing the members. This ability has helped her develop a proactive team that believes in the collective responsibility of the team. They passionately believe that individuals and interactions are over and above the processes
Techies should also adopt the agile methodology to progress in their career. Techies generally have a tendency to specialize in a particular language. They believe that to be a master in a particular language is the best way to progress in their career. However the software industry is a never ending stream of novelties. Today 35 percent of Java in the U.S. is moving to Ruby. Ruby and Ruby on Rails are going to be the next generation technology and it is all set to change the way software is written. Ruby is extremely agile and flexible and can work along other languages. Being proficient in multiple languages will help the techies innovate better. Innovation comes from experimentation.
So be in the innovation hotspot by continuously updating your skills. And be agile, this works wonders.
The author is Founder and Chairperson of Thought Works Inc. He can be reached at firstname.lastname@example.org