Code a little, Test a little, Talk a little, Code a little, Test a little, Talk a little …….
My Brother-in-law of forty years, Burton, is far more of a Brother than a Brother-in-law. Burton is recently retired as a Senior Architect at a major commercial BI vendor. He has watched over all the twists and turns of my late conversion to the Software industry (at 30) and has offered good counsel all the way through.
One of the most important things he has taught me is the saying “Code a little, Test a little, Talk a little, Code a little, Test a little, Talk a little……”. One look at it and it is obvious what the phrase means. It’s brilliant in its simplicity.
The idea is to break down development into manageable chunks, but not for the reasons you might think
While this protocol applies very much to small project custom software developers, it is for reasons different than those of developers in a major development shop.
Breaking the project into chunks does not necessarily mean more costs, but rather it means more time for testing by the client (at no cost), talking both with the client and amongst themselves (again at no extra cost). As a custom developer I have found that the longer a project takes to deliver the better the result is likely to be.
At the same time this incrementalism drags the client into the development process where three positive things happen:
- They discover, and hopefully appreciate, the complexity of the development process and of their business process
- They have time to work out what they REALLY want with less back-tracking and wasted, frustrating and costly rewriting
- They get their reputations tied to the success of the project …
That last one sounds a big Machiavellian but it is VERY important to achieve.
Just last week I brought a new player into a project, showing them a nearly finished part of the project that he and his people would be using soon. Unfortunately a few of the things that were not complete or had bugs (that I knew existed or likely existed – the known unknowns) became obvious as we went through it and as usual a very cool app (if I may say so myself). This app does 99% of what he needs, but the demo was brought down to the couple of things that didn’t work or weren’t there !! I knew this would happen but had no choice in the matter – if I had been able to Code a little, Test a little, Talk a little with this guy everything would have been much better. Fortunately my experience both with the Client company and with the kind of business process involved, worked for me and what I showed him was very close to what he needed, that is not always a luxury available. He is now happy after a bit of coding, testing and talking ;-).
Get the client INVOLVED as early as possible and….
Keep them in the loop, make sure they understand that the product is UNDER DEVELOPMENT and…..
Make sure the client knows that the project will continue to be under development even after going into PRODUCTION (another reason for time and materials – another discussion another day).