Apr 09
Importance of Demos
When developing a software project in a short amount of time (less than 6 months), demonstrating often that you are providing value to your customer is essential. Of course it is important for long-lasting projects, but if you only have three months to complete your project, you cannot afford to miss a demo.
I have learned this over the last two major software projects I have completed. On both projects, the team did not just “demo often,” but we demoed every week. (When you only work 2 hours a day, that is a bigger feat than it might seem.) We were not following the extreme programming methodology or specifically trying to program quickly, we simply found that we could provide enough value in one week’s time that it was worth presenting to the customer. These constant demos had some other beneficial side effects like keeping the build in an extremely stable state. Some people use an automated test suite for that kind of security, but having to demo the code once a week forced us to do more manual user testing that uncovers usability issues that an automated test suite is incapable of discovering.
Agile methodologies preach having shippable code at the end of each iteration/sprint, but how often is that the true outcome? When you demo your code to customers, you are essentially shipping your code. The customer has a chance to look at and try out the code and provide some instant feedback. In the most recent project, we actually did ship the code to the customer each week and they performed their own user testing on site. The amount of benefit gleaned from these each week was incredible and no doubt increased the success of the project. From now on, all projects I am apart of will have regularly scheduled demos in front of the customer or stakeholder. They are that important.
April 28th, 2009 at 1:58 pm
First, did they just look at it as a team internally or show it to their “users”? Second, what about HappierHour? We release so often, isn’t each release kind of a demo?
P.S.: Can the captcha be above submit? I didn’t see it at first.
April 28th, 2009 at 3:32 pm
It could unfortunately be said that this semester, I was essentially the “demo lead.” The client was very adamant about visible progress every few weeks, and we’re not just talking some new buttons on a form. It got a little out of hand, but it was indeed a good testbed and verification exercise.
April 28th, 2009 at 7:35 pm
One problem that we ran into was keeping the trunk clean. There would often be persistent bugs and quirks in our system spanning multiple iterations. Did you guys have a peer review policy before code was migrated to the trunk?
April 29th, 2009 at 2:32 am
@Nate It was actually shown to and used by end users. About the best outcome we could have hoped for.
@Nick Before code was considered completed, a team member had to check off another’s work which prevented anyone from confirming his or her own bugs as completed. It kept the trunk in a stable enough state to demo from.