Customers prize the process strengths of Indian firms, as well as the passion and creativity of Nearshore developers. One Nearshore developer explains why both are important, and how he tries to combine them in his work.
A recent post on a developer Web site claimed “Process kills developer passion” because in the software development industry, we are spending too much time on processes, and de-motivating talented people by not letting them be creative enough.
But another recent article described a potential Nearshore services customer who is looking for creative and dynamic people, instead of those who are too oriented on formal methodologies and maturity models.
So, is process really killing developer passion? Should we rethink the way we are doing software? Can we trust all our developers all the time to be creative and still be sure that production changes will have no negative revenue impact, and that (for example) a new billing platform will work perfectly on day one?
There is not just one answer. We have to balance the amount of process with the creativity and passion of developers. How can we do so?
First, by understanding this is not a war. Creativity is not fighting against processes and processes are not meant to kill someone´s passion. If processes are overwhelming your colleagues then you might not be applying them correctly or did not tailor them to the nature of the project. Another possibility might be that the process is OK but the people who are trying (or were forced) to use it were not trained in it, do not understand it or simply didn´t buy into it.
Other problems could include a lack of tools, or tools that are too complex and/or slow, communication problems, having the wrong type of legal contract for your project, leaving project management behind or not considering important QA tasks within your work breakdown structure. The list can go on…
Creativity and passion are important and valuable, but most people in the software industry work for a sponsor who will pay for a final product or a service only when it is finished. So in the end we cannot only be creative, emotional artists. We also must pay attention to the processes that ensure projects are finished on time and with high quality, and remember that creativity can include new processes, new ways of working together and new standards. That is how the discipline of software engineering welcomes creativity and research.
The key to balancing passion and process your approach for each project, learning from your experience and being mind-opened for innovative ideas that might come from a colleague, an industry standard, or even from a crisis or a legal requirement.
I used to be more of a “passionate” developer who typed code as if possessed by an external force while listening to music through earphones. Then I joined a consultancy where I jumped (and still do jump) among positions: Project Leader, Delivery Assurance Manager, Project Manager, Developer, Onsite Coordinator, Business Analyst and all levels of Production Support. So I have seen quality, processes, creativity and passion from different perspectives.
For open source, animation and design and research projects, innovation and creativity MUST be involved and continuously encouraged, while the focus on process might be relaxed. On the other hand, for strict and aggressive market-sponsored projects, multi-location initiatives, multi-outsourced work, procurement management, package implementation, testing services, defense, aerospace, financial and other industries, processes are not just welcome but many times demanded.
One example was the migration of a Web application to IBM WebSphere for a major medical client. The specifications changed constantly, as did the configuration of the client’s server, so the meetings were largely spent determining which documents and configurations were most current. The project team was making changes to individual components without assessing their impact on other parts of the project.
The big problem was that the work of various team members was not synchronized and we lacked proper processes for check-in and integrated change management control. I was invited to help deploy CMMi (Capacity Maturity Model Integration) best practices, and with the help of my company process group improved workflow in areas from project reviews to check-in and deployment, bi-directional traceability matrices and change control management. After nine months of frustration, we were able to successfully close out what had been considered a doomed project in another three months.
At Tata Consultancy Services we believe in process, but it should never displace attention on the needs of the business. We must have processes in place so we can control our communication and our project, and coordinate teams in multiple locations so we can lead with experience and talent diversity. But process should be tailored and coached mostly at the beginning of the project, allowing flexibility throughout the life cycle.
The key is to be flexible and to apply your experience to reach the proper balance between passion and process.