Agile Methods in a Waterfall World: Speaking In Code

Starting up a new project, and I’m definitely having fun with it. At first glance, it looks like a fairly small, departmental application, but it is actually part of a web of disconnected processes and local databases (ie. “a mess”) that support some fairly important master data. Also, the folks I’m working with are much more comfortable in a “waterfall world”, with formal requirements followed by code, test, and deploy.

Lots of opportunity for process coaching and new methods – I’ve started notepads on data models, process maps, glossaries, even “best practice” lists for app dev processes like Requirements Gathering.

One session in particular was quite interesting. I am working with a developer on a Notes database, but I do not know the language (LotusScript, or whatever). Oh, I’ve seen it, and can figure out what’s going on, but don’t ask me to code anything! Anyway, the developer was educating me about “workflow”, and the Notes app’s propensity for spitting out email notification when Significant Things happened. When we clone the production database, we’ll have to trap all of those emails, lest our testing process spams the department with meaningless links.

The developer started talking about a “global search” and a lot of hand coding, but I had a different idea. Not knowing the language, I just pulled up a screen and started typing VBA-like pseudo code …


Is this how it currently works?

    Sub btnSendInfo_Click()
       Send Mail to samir@initech.com
    End Sub

Yes

And you were going to fix it like this, right?

    Sub btnSendInfo_Click()
    ‘   Send Mail to samir@initech.com   ‘ comment out this line
       Send Mail to michael@initech.com
    End Sub

Why, yes

What if we did something like this?

Global Const iDebugMode = 0

Function SendMailAddress( sAddress as String ) as String

if iDebugMode = 1 then

SendMailAddress = sAddress

Else

SendMailAddress = michael@initech.com

End If

End Function

Sub btnSendInfo_Click()

‘   Send Mail to samir@initech.com ‘ comment out this line

Send Mail to SendMailAddress( “samir@initech.com”)

End Sub

The neat thing was that I couldn’t even finish typing some of these sections when the developer started assenting with verbalizations that indicated understanding (ie. “grunting acks”). He had seen some .Net stuff, I was mangling some of the syntax, but the basic pattern was easy to see. It was about 5 minutes of silence, save for the clicking of the keys – we were Speaking in Code, and it worked great!

This Post Has 0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Related Articles

An Author’s Journey – The Editor’s Harsh Bright Light

Second in a series of articles on the creation of Don’t Think So Much. Exposing yourself to the unbiased eye of your editor will be a humbling, but super valuable, experience.
read more

Fighting over Amber Boxes

Change is a natural part of the Digital Transformation process and nothing to worry about – as long as you don’t get too caught up in the drama of your Preferred Point of View.
read more

James MacLennan

... is the Managing Partner at Maker Turtle LLC, a digital consultancy focused on creating value in ways that align with your strategy and drive engagement with employees, customers, and stakeholders. He is an active creator, providing thought leadership through on-line & print publications, and public speaking / keynotes.