The current mantra for software development hinges around “better, faster, cheaper.” To support these efforts, companies attempt to improve their development process. While helpful, improving the current process has two negative side effects:
- diminishing returns. The more improved a process becomes the less room for improvement exists. Eventually the process will be as good as possible.
- over adaptation. The development process becomes highly adapted to the existing system leading to problems when the environment shifts.
I say if you want to improve your process, improve your people. It’s impossible to provide specific advice but try for improvements in three basic areas:
- What they know. Use seasoned developers to help mentor newer developers. Both learn in the process.
- What they don’t know. Software development extends beyond the code editor and compiler. Requirements, scheduling, and testing all play a part in the process.
- How they work with others. With very few exceptions, software development requires a team effort and interfacing with other people in and out of the organization. More effective interactions lead to better software.
The Second Law of Consulting states:
“No matter how it looks at first, it’s always a people problem.”
Inverted the Second Law becomes:
“No matter how it looks at first, people are always the solution.”
So if you want your software better, faster, cheaper, improve your process by improving your people.