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.