I just watch the conference made by Robert C. Martin at Devoxx’09 about Craftsmanship and Policy.
Very dynamic talk. After a long blah-blah on his own software (pre)history, he made some very important recommendations about software craftsmanship.
On Quality Assurance
The developer leitmotiv should be : “QA should find NOTHING”.
My note : In my own experience, I encounter too many people thinking the opposite : it doesn’t matter if there’s a bug, QA will find it !
Put QA to define tests with the business analyst. Those tests are the Definition of Done. You’re Done when you pass all the automated tests written by QA and business. So QA is a specification role, not a verification role !
On Teams and developers
We frequently meet teams matching a project with 2.5 people. Where this half comes from ? Bring a team of 10-12 people. Accept multiple projects for the team and keep the team together. You can easily manage business variations within such team !
How to guaranty a good developer. Is certification a solution ? In facts, Robert recommends mostly the master-trainee relationship. And to change master from time to time in order to get another vision.
My comment : A kind of companionship.
Contact him at : unclebob@objectmentor.com or www.objectmentor.com