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()
Yes
Send Mail to samir@initech.com
End Sub
And you were going to fix it like this, right?
Sub btnSendInfo_Click()
Why, yes
‘ Send Mail to samir@initech.com ’ comment out this line
Send Mail to michael@initech.com
End Sub
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!
Previously …
- Beermat App Development (October 18, 2004)
- The good and the bad about being a hands-on tech manager (January 25, 2005)
- Communicating Complex Technical Concepts (March 21, 2005)
- Tech shorthand, a minor interest (June 3, 2005)
- The “Army Rangers” model for IT Professionals (January 2, 2006)
- Funny, how techies talk to each other (September 11, 2006)
- The Joy of Programming, the Challenge of KM (May 5, 2007)
Technorati Tags: best practice, collaboration, development,
hands on, tech management
Previously ...
- Another Spam Graph – The Impact of Spammers Changing Tactics (September 17, 2004)
- Code Mover / Transport: Managing source, environments, and deep-diving into multiple technologies (November 6, 2005)
- Custom Code Bad, Custom Code Good – Notes for your Software License Agreement (February 26, 2006)
- IMAP Gmail Reinforcing the Drive to Web-based Productivity Applications (November 3, 2007)
- How to Cheat at the PMO Prioritization Game (December 15, 2007)
- Desperately Needed Features for eMail Clients/Servers (April 20, 2008)
Follow my updates on Twitter ...
Care to connect our professional networks on LinkedIn?
Join my Cazh1 Circle in Google Plus ...
Follow the discussion in Facebook ...
Receive eMail notifications of new stuff ...
Subscribe to the RSS feed ...





Discussion
No comments for “Agile Methods in a Waterfall World: Speaking In Code”