So I just read some fabulous articles by Joel on specs here. (Was written in 2000!!) I read all 4 parts, but I'm looking for some methodical approaches to writing my specs.
I'm the only lonely dev, working on this fairly complicated app (or family of apps) for a very well known finance company.
I've never made something this serious, I started out writing something like a bad spec, an overview of some sorts, and it has wasted a LOT of my time.
I've also made 3 mockup-kinda-thingies for my client so I have a good understanding of what they want. Also released a preview (a throw away working app with the most basic workflow), and I've only written and tested some of the very core/base systems.
I think the mistake I've been making so far is not writing a detailed spec, so I'm getting to it now.
So the whole thing comprises of
- An MVC website (for admins & data viewing)
- 2 Silverlight modules (For 2 specific tasks)
- 1 desktop application
I'm totally short on time, resources and need to get this done quick, also, need to make sure these guys read it up equally quick and painlessly.
- So how do I go about it, I'm looking for any tips, any real world stuff, how do you guys usually do it?
- Do you make a mock screenie of every dialog/form/page?
I'm thinking of making a dummy ASP.NET Web Forms project, then filling in HTML files in folders and making it look like my MVC URL structure.
Then having a section in the spec for the website and write up a page for every URL I've got with a screenie.
For my win forms app, I've made somewhat of a demo Win Form project, would I then put in a dialog or structure everything as I would in the real app and then screen shot it?
For some background into this question. I've always been a crazy jump-to-code kinda guy, which has worked OK, but for the app I'm working on, it's not only complex, it's for a very very reputed and large company and I have to get it right!
(And it has been going well so far, today I gave a demo of the preview version which a lot of people liked!! =D )
If I do get the initial design right I will also have a great business with this company, there are already many thinking about new "awesome" features which they're ready to pay for.