Have you the seen the Harris Bank TV commercial series yet? The commercials makes use of a catchy Frank Sinatra song (“I’ve got the world on a string”) playing while a business owner picks up an empty picture frame and sees the future building/business he desires. Of course, the jest of the ad is that Harris Bank will help you see the future.
The ad reminds me of how I viewed the development process in the past. We would give our clients the picture frame, have them hold it up, and tell us, in detail, what the solution they saw. Based on what they would describe, we would fix bid the contract, develop massive design documents that we would expect our users to see the future, and then sign off (in blood) that this document was their vision.
The funny thing is our clients had themselves convinced they could see their vision through the empty picture frame. On more than one occasion, we followed the process, building from massive design documents only to find out that the client’s vision did not translate into words the same way. We even thought we were protecting ourselves with these requirement documents. We would hold up those massive documents (if we could lift them) as proof the client needed to pay for a change request. Even with the large number of words, they were often vague and open to interpretation. The client ended up being disillusioned when the solution did not meet their initial expectations.
In hind sight, developing solutions in this matter was less than effective. In fact, some would argue it only works 32% of the time. To move away from the traditional waterfall approach could be traumatic for an organization. Taking baby steps may be a viable approach, though it is less than ideal. Here are five steps to do just that:
- Start reading articles about Software Development Methodologies. Pay particular attention to Scrum.
- Take a Certified Scrum Master(CSM) or Professional Scrum Master (PSM) class. This will not make you an expert, but will indoctrinate you in the process.
- Start capturing statistics if you are not. Count story points, defects, effort per task, etc.
- Talk about what you are doing. By collaborating with others in the organization, you will build support. Share what you learn with others. The more eyes you have looking at the way you do things the better.
- Hire an Agile (scrum). As software professionals, we always know people who have worked with a technology or process. Get some help from someone who does this for a living, not someone who has just participated. You will pay more, but you will get someone who has done this before.
Of the six steps above, cost conscious organizations will not hire an expert. Someone will look at the per hour cost of an Agile coach and balk. What they miss is that an Agile coach will make the rest of the team more effect, which will more than offset the cost. In the long run, corporations spend a lot more on lost productivity and failed project than bring in an expert to help.
Thanks for coming in today.