The Problem of Stupid Processes
Most of the time, the process doesn't actively help people do their jobs because:
- You have to know what you're looking for if you want to find anything useful.
- When you do find something useful, you have to apply it yourself.
- They remind you of all the boring things you have to do without making them any easier or less boring.
Have you ever tried to find anything useful in a process whilst you are actually developing some software? Typically, the process just sits there as a passive knowledgebase waiting patiently for you to read it. It certainly doesn't interact with you and offer you appropriate and timely advice. It expects you to know exactly what you are doing and exactly what useful information it contains and exactly where it has hidden it.
When you eventually find something in the process, it is typically not that useful. What you really want is some active help in the task you are trying to do and all you get is more words to read.
Processes often provide detailed instructions, for example:
- Scripts to be followed. In many cases, very detailed step-by-step instructions, often going to the level of what button to press or menu option to select.
- Standard transformations to be applied.
- Lists of validations and qualities to be checked.
- Templates and formats to apply.
Wouldn't it be nice if, rather than just describing these things, the process could actually play an active role in applying them? Rather than describing how you should do these things, it could actually do some of them for you: finding things, checking things, and performing mundane and trivial tasks.
Without the ability to take an active role in helping people to develop software, the process will always be nothing more than a fancy textbook, and teams will continue to struggle to realize its benefits. Process adoption will continue to rely on the presence of full-time experts, mentors, and coaches who will spend a lot of their time helping with trivial work and answering the same questions over and over againa particularly expensive way of bringing the process to life, and one, which unfortunately, doesn't scale.