Decrease Friction, Increase Flow
Do your developers feel like they are doing good work each day and going home with a solid feeling of accomplishment? Or do they feel like they’re spending too much time spinning their wheels?
In other words, are most of your developers’ actions adding value to the product being developed, or are they working on tasks that take up their time, but add no real value?
Do your developers feel like they can make positive process changes in order to improve the quality of their work and their productivity? Or do they feel that, no matter what improvement they suggest, someone is blocking their progress, telling them “…but we’ve always done it this way,” or “That’s not the way we do things around here.”
Here are some common organizational impediments that can slow the flow of work through your development team:
- Lack of timely decisions about what is required from the development team (either in terms of functional or non-functional requirements);
- Decisions that are frequently reversed, or withdrawn, and sometimes changed multiple times before finally settling down;
- Development tools that are old, unreliable and/or unproductive;
- Critical resources that are not available when needed, that require lengthy request forms to be filled out before work can be done, and/or that have long queues in which requests must wait before they are completed;
- Organizational standards that are old, or unrealistic, or that are too broad, or otherwise irrelevant to the work being done on the project;
- Organizational standards that are missing, requiring the dev team to create their own;
- Dependence on outside organizations that are resistant to change and modernization;
- Attachment to impediments, confusion about which actions are adding value, belief that hard work struggling against impediments confers some sort of honor or nobility.
Most organizations become stagnant and bureaucratic over time, spending more energy defending their current structures than they do on changing and improving them.
Leadership will generally be required to keep your organization progressing forward.
Note that delivering early and often can help to make these sorts of problems more visible, since long cycle times can often serve to hide these sorts of issues.
Next: Configuration Management