Because our story was done and our customer s acceptance tests run, we asked the customer what to do next . The customer decided that the team should package up the software and ship it as an installable application.
It turns out that Visual Studio has the ability to deploy the software, so Chet and I read the help files and set up deployment for our XML Notepad. It took us a couple of hours. Most of the problems were in figuring out how to cause the deployment builder to set up shortcuts to the XML Notepad on the desktop and in the Start menu. We re still not sure we did it exactly right, but now there s a deployment project built in to the solution and it does create a directory with the install files in it.
We were using my modestly priced version of Visual Studio, so there weren t many options: maybe there are more in the bigger versions. The setup program that we got doesn t offer a bunch of options to the user either: it just installs the app in a known location, requiring that you manually remove any previous copies, and puts icons unconditionally in the Start menu and on the desktop.
But we didn t have a story requiring any more than that. Our shipping story ”made up on the spot ”was to produce a shipping package that would install the system on a suitably preconfigured machine. We re sure that as the project goes on, there will be lots of stories about making the installation more beautiful, flexible, and bulletproof. That s what iterations are all about. The thing is, now we have completed a full cycle of product development, all the way from nothing but an idea, to running, tested , shippable software.
And one more important detail: I m using the application right now to write up this chapter! It turns out that the TextBox includes copy, cut, and paste, so I can transfer this report to the existing scheme whenever I want to. Typing the raw text here is easier than using TextPad, my usual editor, because here, when I hit return, I get a new paragraph, already in paragraph tags. In TextPad, I have to press Alt+P to create a new paragraph. This is better!
I d like to call your attention to something. This project is between ten and 20 hours old in terms of work on it. For all practical purposes, it is nothing but a GUI app. Nonetheless, it already has an automated Customer Acceptance Test, in addition to a bunch of automated Programmer Unit Tests.
Furthermore, our program is deployed as a shippable, running application.
We did it. You can do it, too.