With the current shortage of skilled software professionals, every software development manager and senior executive is looking for solutions to help them to develop the software they need now. While an army of programmers might be able to do the job, most of us have an army of open positions instead. And though it would be wonderful to have a staff of super-star developers, the truth is that your average programmer is ... average.
In times like these, your only option is to get the absolute best out of every member of your technical staff. This doesn't mean training that is costly, and too often has no effect other than a lost week of productivity for those who attend. Getting the best out of your people requires improving the way they do their work. Not by sending them off to a class and hoping for the best, but by providing the support they need to grow in their skills and professionalism.
Just as the worlds of sports and the arts have long known the value of coaches, software development organizations are now learning the same thing. They are discovering that a software engineer coach provides the perspective and drive to challenge their engineers to excellent performance and continual professional improvement. While your engineers focus (as they should) on developing software, their coach maintains his focus on developing those engineers.
The coach constantly challenges each engineer to understand his or her performance, to learn from mistakes, to build important skills, and to push the limits. The coach helps him or her to set aggressive but achievable personal improvement goals, take concrete steps toward achieving them, and measure progress against those goals.
All programmers who aspire to being software engineers need the expert guidance of a Software Engineer Coach. Whether the person has completed Personal Software ProcessSM (PSP) training or has not yet done so, having a professional coach can mean the difference between a medeocre career and a stellar one. Watts Humphrey, near the end of the PSP book said it well:
We have not yet developed a coaching ethic in software development. It could certainly help if we did. Sports and the performing arts have learned the value of coaching. Coaches help professionals to maximize their talents. ...It seems unlikely that truly superior software development performance will be achieved without the help of skilled coaches. The software coach will have three objectives: 1. Motivate superior performance. 2. Insist on a dedication to excellence. 3. Support and guide individual development.
ASK Process helps professionals in the software field in just those ways. By challenging them to learn the best techniques and then to build their professional skills, he encourages each software engineer to constantly grow and work at his or her peak performance.