Ideas from Project Management, that can apply to life inside and outside of projects. This doesn't have too much to do with the Critical Chain, but I really liked that title.
Tuesday, December 16, 2008
The Last Line of Defense, in Soccer and Bug Catching...
So, how does this relate to a software project?
Well, the ball is a bug and the soccer team is each member and phase of the project. In many cases the bugs that are found post-launch are blamed on programmers or testing team, when in fact they could have been caught much earlier on.
What is the first line of defense? The offense.
From the very beginning, be sure to clarify requirements with the project stakeholders, the client or the end users. When possible, use prototyping to demonstrate how the application will work. Using a prototype will hopefully dig up more questions that will lead to defining the product more carefully.
Next, as you move back to the mid-fielders, make sure the technical, functional and design specifications are closely married to the requirements. Review specs with the client/users to ensure that everyone is on the same page with what the end product will be. A bug can just as easily be created in this phase of the project, by missing a critical requirement or misinterpreting the user's needs.
The defense is the programming team. Make sure the level of quality is consistent in this phase by holding peer code reviews, functionality checks and regularly merging all of the elements back in to be tested together. Programmers who develop independently might build perfect pieces of an application, but if not brought together often enough those incongruous pieces are useless.
The last line of defense, the goalkeeper, is the tester teamed with the programmer assigned to fixing those bugs. Of course this stage is critical, and to ensure the highest level of quality you want to make sure there is proper testing documents, adequate time to properly test and fix and then test again. Ideally there will be a full system test each time a new set of bug fixes is rolled out.
All of these players in the project are human, and they can all make mistakes. I haven't yet found a software solution to ensure that requirements are completely met 100% from start to finish, without some level of human intervention.
So, next time one of your end users finds a bug or the opposing team scores a goal...don't just blame it on the goalkeeper, take a look at a whole picture and figure out where else the mistakes could have been made and how to avoid them next time.
(as the referee whistle blows, the next play begins....)
good luck!
Tuesday, December 2, 2008
"Sending Confirmation", the slow and painful way
- Send me an email! Save the paper and postage.
- Setup an electronic calendar that can be shared when appointments are made. Use Google calendar and shared events, or an Outlook calendar with meeting invites.
- If sharing the electronic calendar is too complicated, than trust that I will write down my appointment (or enter it into my electronic calendar) and you will also write down yours. We are all adults here (and this can be the first 'test' to see if my younger daughter comes from a family organized enough to be a part of their school).
I should remind myself that I spend most of my day in a happy technology bubble, and I shouldn't have such high expectations of the teachers at the school. I don't expect them to walk around with blackberries, communicate with other teachers via Yammer, and share their class information via Ning sites. But, maybe little baby steps....try to incorporate email a little more into your regular communication.
What if they find out that I'm criticizing them, and decide to keep my younger daughter from attending their preschool??
Something tells me they probably don't surf the blogosphere much, so my thoughts are safe...