Sexy New Development Methodology!
(This was going to be a joke... but now I suspect I might actually be serious!?)
Forget Test-Driven Development!
Try:
TODO-Driven Development!
Here's the process: (continued....)
Step 1
- Write Class or method outlines (ie, 'Public Class ...' or 'Public Sub...' with no code inside.)
- Include rough logic
- Add pseudo code preprended with "TODO:"
- Only write the *very* trivial code -- anything else just add a TODO
Private Sub Runcommand(CommandText as String) If CommandText <> "" Then 'TODO: is command valid? 'TODO: NO: error message... 'TODO: yes: run the command Else 'TODO: handle for blank command End If End Sub
You soon get a Task-List like this...
(Make sure you've got 'Show-Tasks -> All' selected)
Step 2
- Repeat step 1 until the whole application is roughed out
- You've now got a big list of 'TODO' tasks
- Check for completeness (breadth)
- See what can be removed.
- See what can be simplified (eg, two similar todo comments: can they be made identical?
Step 3
- Replace TODO's with calls to non-existant classes, methods etc...
(For test driven development, create exhaustive tests for each of these methods/classes)
- Where appropriate, replace TODO's with the trivial code required
(For test driven development, create exhaustive tests for each of these methods/classes)
This will result in a LOT of Compilation errors:
Step 4
- Fix One Compilation error at a time by:
- writing shells of classes, methods etc,
- Adding TODO: pseudo code to each of these as you go.
- (Also Add 'HACK: ' comments and explanations where appropriate, if pressed for time)
Step 5
- Repeat Step 4 until there are no compilation errors left.
- If there are TODO's left, then Go back to step 3.
And that's it.
It's almost embarrassing to realise that i often use this process.
(There's also a lot of prior planning, paper prototyping, customer meetings, discussion, procrastination, database design, coffee-drinking, code-generation for sprocs and crud-sproc calls, import of re-usable DAL's, PAG block usage, go PAG!, back-and-forth debates prior to document sign-off, arguments, late-nights, frustration, chatting with friends, sifting through email, scratching in visio, printing things out and leaving them in a heap, scrounging for staples, catching buses, doing back and neck stretches etc., but that's all been left out for simplicity...)
Does giving it a name make it legitimate? Can I write a book on this and do a lecture tour now?
Next → ← PreviousMy book "Choose Your First Product" is available now.
It gives you 4 easy steps to find and validate a humble product idea.