Off late I have been in a few discussions with people about processes. I am a believer in the importance of a clear articulated process but I often end up having to justify my stand because well processes have been known to kill creativity, increase bureaucracy and in general make people dumb! But I believe that is because of a lack of proper understanding of a process.
So I decided to put together some of my thoughts what a process is and what’s it good for.
So first.. what is a process?
A process is an articulation of how work is done.
What is a process good for?
Well lots of stuff that I can think of…
1. Sustainability: Without a clearly articulated process, there is a lot more dependence on individuals. And with changes in the team… the work quality suffers and sometimes for things that are not seen as burning issues in the short term, work stops all together. I have seen this happen multiple times with people management initiatives and quality assurance activities which do not result in deliverables to the customer(I work in a service company). These activities die down with a change in management or increase in workload.
2. Better Work Allocation: Dividing work into distinct steps allows us to understand how complex and/ or business critical each step is. People with different skill sets and experience levels can be deployed accordingly. In my experience as a team member and then a team lead in a software company, I found that once we broke our work into even the basic Requirements, Design, Coding and Testing phases, we were able to match peoples skills better with the work required off them. Some people are just better at talking to the customer and getting out his real needs, some (like me) love design etc. With this distinction in place, we were able to focus our attention to the areas we were good at and/ or enjoyed the most.
3. Estimation: Breaking work up into distinct steps, especially in large projects allows us to estimate better because we can think at a more granular level. I have seen this work multiple times. The customer/ onsite coordinator asks you to add a certain functionality to an existing application and you say you’ll take 2 weeks to do it and then there is shock, awe and then some bargaining. What helps the most here is to break the work up into pieces… put estimates against each and let him make the call of which piece he wants to forego given the consequences it might have on the deliverable quality.
4. Quality: Processes come with check-points and reviews. This allows better quality assurance. I do not wish to beat this point in any further.
5. Automation: Once you break up a process into its constituent parts, lots of times you identify pieces which are just repetitive and simple. These pieces don’t deserve human owners, programs can be written to take care of them. We had a classic case of this in the projects we were executing. Our project itself was automation of certain design processes for an aircraft manufacturer. The output of our programs were 3D models in CATIA. Before we delivered our applications to our clients, to be sure that application functions correctly, we checked the output model whether all the necessary geometries and parameters had been created correctly. Over time we started creating checklists for these outputs. But as the requirements grew so did the checklists and the work of the poor tester, visually checking the parts for errors. This even for our relatively small applications would take 4 person days of boring checks and filling out spreadsheets. Then we struck upon the idea of writing code for it. When we did, we reduced the testing time to 30 mins and reduced the possibility of human errors. The important point here is that once we broke our work down into its constituent parts, we could see room for optimization and automation.
6. Outsourcing: This continues from point 2… when work is divided into its components, some non business critical parts can be outsourced. And whole industries have been formed because of this. (including mine… long live the processes)
7. Encouraging the right behavior: In an organizational context, this understanding of the components of work allows the organization to identify ways to encourage the right behavior whether through positive or negative incentives or through cultural changes. Now this is a path that needs to be tread with caution, because incentivizing wrong can lead to more focus on the steps of the process rather than the objectives. I saw multiple examples of this when I was leading a team and was involved in the goal setting discussion of our project team members. When we incentivized creation of reusable components and knowledge artifacts, a lot of the artifacts that we got were unusable because the author focused only on the creation of the artifact and didn’t put much thought into how it could be used and what might be the associated challenges.
8. Academics: This is one of my favorites. I recently read a paper by MP Ranjan of the National Institute of Design in Ahmadabad, India. To reinvent the design education curriculum for NID, he had first analyzed how a designer works, what is his skill, knowledge and cognitive base. [Pic below] Now I don’t know how this impacted the curriculum at NID but what’s important here and now probably seems obvious is that to define a curriculum to educate students in a particular discipline, it is important to understand how work happens in that discipline to define the skills and knowledge required.
The Process Traps
1. Bureaucracy: Not much to say… establishing processes sometimes slows work down because the process becomes a mandate and people at the execution level are not empowered to use their judgment to forego processes and just get the damn work done!
2. Big Picture: Processes rob a lot of people at the lower levels of the larger view of the work and the organization. So unsurprisingly, they end up focusing more on the steps to be followed rather than the reason behind the steps.
3. Processes become obsolete: A process is established a point in time based on the knowledge, tools and limitations of the time. After a while these basic premises might change. So its important to always keep questioning the process and revisiting it from time to time.
To summarize, processes are just a way to understand and improve our work. It’s important to understand the process in spirit and remember that processes are our slaves not the other way around.