The Appreciation of Software – we are nowhere
I have been listening and waiting patiently, while watching one of the many shows on the History Channel, the Discovery Channel and the Egyptian Antiquities Channel (OK, fine, I made that last one up…) for one of the pyramid experts to sit back smugly in his overstuffed chair and say, “They’re just a pile of stones, how hard could that be???” Needless to say, that never happens. Instead, they go one for hours, puzzled and amazed, giddy about the engineering and construction feats of these ancient Nile Valley dwellers.
Granted, I am amazed as well. But why can’t just a smidgen of that appreciation spill over into our software universe? What are we doing wrong??
I was with a client for two straight days this week, acting (and I stress acting) as the subject matter expert for an enterprise Project Management Office and Decision Support System for the government of an emerging third world country. For a day and a half I patiently gathered requirements, sketched out architectural alternatives and tradeoffs, and modeled data flows.
Toward the end of day 2, I had the audacity to imply that to electronically and ‘automatically’ provision new projects in the EPM tool of choice from a legacy budget authorization system might be technically challenging (not impossible) and could involve things like workflow and transaction management. I stated my case in layman’s terms.I was brilliantly articulate. Not condescending at all, just enlightening.
I paused at the end of my explanation, sat back, and waited for the nods of understanding. “Ah, that was wise, Bob. Thank you. We didn’t really appreciate the complexities of trying to do this in Phase I.”
That’s what I expected to hear. But you already know what happened, don’t you? Their body language said, “How hard could that be??” Their words said, “We really need it to do that.” Their faces showed disappointment. I, of course, relented (who wants to disappoint a client?) and said, “I am sure we can figure out a way to make it do that…”
We are nowhere.
Gone are the days when hulking mainframes lurked in a data center behind security doors, air-conditioned to a temperature you could keep Dove Bars in, when the general public had a fair amount of awe and respect for the “programmers” who made these machines do their bidding. Since then, end user expectations have gone up. Appreciation for the inherent complexity of software has gone down. And with that, quite a bit of whatever mojo we ever had.
I am in complete awe of what you can do with an iPhone and the remarkable engineering feats that must have made that possible. Am I the only one?
With the same determined spirit that keeps us going when there are more bugs this week than last week, let’s vow to take the time to educate and enlighten one end user. No matter how long it takes and how persistent we have to be, let’s find a way to help them see that software engineering is still challenging and its practitioners still worthy of some level of admiration. Even if we’re not piling stones on top of each other…
This entry was posted on December 13, 2008 at 3:30 am and is filed under Client Management, Expectation Setting, Scheduling, Software Development. You can subscribe via RSS 2.0 feed to this post's comments.comment below, or link to this permanent URL from your own site.