Process as defined by Oxford
“A series of actions or steps taken in order to achieve a particular end.”
A very precise and simple definition. However there generally exists an inherent resistance to processes since it is considered to be an extremely strenuous and time consuming activity that hinders the normal progress of development activities.
I tend to disagree. The resistance is more towards adapting to drastic changes that don’t seem required, rather than to the processes themselves. Processes need to exist, no doubt; they need to be made more sensible, logical and something that really helps.
Following are some of my thoughts about setting up processes in a startup:
Don’t go Big Bang – Go Slow
While creating or changing processes, it is very natural to get carried away and introduce a number of changes in the process; all the changes seem perfectly right and justifiable but are often difficult to implement when put to practice. As mentioned above, many times the resistance to the processes comes due to the sudden change in all aspects of what we are doing.
It is always better to chew what we can eat. Start with a process that is doable and really required. You would not want the team to spend hours on following processes while creating a very small application. Startups typically work on small projects, hence it is better to have processes that are simple to understand and easy to implement. As the company grows and more people come in, it becomes more important to have much more stringent processes since tracking things becomes more and more cumbersome.
But as I said, start with the baby steps.
Choose what best suits you
Simply put, all that a process needs to do, it set the right direction and ensure that the direction is not lost. Follow the basic simple steps and do the right thing. It is not about creating huge sets of documents, but to ensure that something can be traced back or viewed into the future.
So instead of implementing something that is most sought after, create and customize the process that best suits your organization. Choose something that meets your needs.
Same hat does not fit all
Even within an organization, not all projects need the same level of detail. So it is very much acceptable for each project to customize the process that fits it best. It is not so much as to stick to specific rules; it is more about creating rules that fall within the umbrella of rules. So based on the project need, ensure the process is adapted to meet the project needs.
Keep it agile
Ensure the process is created to keep the project delivery agile. Break up the entire development cycle to multiple sprints, this ensures continuous delivery to clients and at the same time client gets to see what is being created.
Create Deliverables, Not documents
Don’t look at creating documents for the sake of maintaining a process. Instead make them deliverables that will have to be submitted to the clients. That brings a sense of “delivery need” among the team members and there will be a lot of commitment in creating the documents.
Do not enforce documentation that is not going to be reviewed by the customer.
Finally, review the processes from time to time and see areas where they can be improved. Do not let a process stagnate and die over time. Take feedback from the team on where changes are required. If all the projects are customizing the process based on their needs, then there is something definitely that needs to be changed.