I recently reviewed a list of defect prevention methods published by Capers Jones and Olivier Bonsignour in their book, “Economics of Software Quality.” I was looking for some information to give to my development team so they could choose an option to reduce the number of bugs in their delivered software.
I was surprised to find PSP/TSP was number 6 on the top-10 list with a 44% defect prevention efficiency. The Personal Software Process (PSP) was published by the Software Engineering Institute of Carnegie Mellon University in November of 2000. I’ve reviewed it in the past but I’ve never seen anyone using it.
It’s a straightforward concept, you collect metrics on your own software development. The paper provides a guide to interpreting what the metrics tell you so you can create your own plan to improve your coding. You then use the same metrics to determine the plan’s effectiveness and modify the plan until you meet your goal. The PSP itself is intended to allow a self-motivated individual to become, essentially, his or her own mentor. The Team Software Process (TSP) allows the team to collect the results, but it still assumes you want to be the best you can be.
My team didn’t jump at implementing the PSP either. But this month I sent everyone on the team a challenge inspired by the PSP. I asked each person to come up with one New Year’s Resolution on how they could do their own job better (not limited to the developers). Strangely, even this request didn’t receive immediate and complete compliance. One person went so far as to state he always tried to do his best but didn’t want to select one improvement. And, while I appreciate the sentiment, a general desire to do your best isn’t the same as a focused look at how you do what you do and how you might do that better.
I’ve seen some good resolutions so far. I’ve asked each person to post it at his/her work space (and I’ve posted mine) so we can encourage each other in the resolutions. Even these few will help our team do a better job if the people who made them keep at them.
But what about the others, and what about you?
Are we just too frustrated with resolutions we’ve made in the past to believe we can change our habits? Are we unwilling to take that look at how we work for fear of what we might see? Do we really think we’re as good as it gets? And as the world becomes more Agile, can we avoid taking this kind of look at ourselves?
Most of are very poor at doing work while watching how we work. That’s why sports teams pay coaches. That’s why the concept of Management 2.0 emphasizes coaching and mentoring rather than reviewing and criticizing. And that’s why I’m making this suggestion.
Take a few minutes sometime during the next 7 days after reading this post. Think about why you work the way you do. Think specifically about whether the work habits you’ve created for yourself lead to lower quality work than you might otherwise produce. Ask co-workers for help (especially the best ones). If you find a good idea, make a resolution to change that. Don’t try for more than one as habits are hard to change and you don’t want to discourage yourself. And don’t try for something so broad it’s hard to implement. Do you have trouble staying focused on your priorities? Maybe your resolution can be to review your top 3 priorities at the start of each day to make sure they’re the right ones and you’re making progress. Do you share too little information with your team mates? Maybe your resolution can be to get up and wander twice a day (not on your way to or from a meeting). Pick a resolution and share it so others can help you keep it.
Maybe even post a comment here with it. You might help someone else come up with theirs.
BTW: Mine is to take care of issues now, not when it’s a good time.