Keeping Programming on Track
I recently read Dreaming in Code in which author Scott Rosenberg watches Mitch Kapor spend three years and lots of money building new software that, as of this blog posting, still hasn’t reached version 1.0.
As I have my own code dreams, I was naturally concerned. I could dismiss these worries by the relative complexity of our projects. Mitch Kapor wants to take on the entire concept of how we organize our life electronically. Jamseed is simply trying to be a site that allows musicians to solicit money from fans in exchange for tickets, songs, and backstage time with the band.
But a week ago I was, literally, called on my conceit. This call was a teleconference. Me at home with a cat in my lap, and Shannon, the dean of computer science at a local university, and his two student developers, Rose and Steve, at the college. It was to be the grand unveiling of their solid month (and lots of overtime) of development.
I think the tone was set (and rapport damaged) when I said, “I’m not sure we’ve made any progress from the version coded by the other programmer in May.” I should have found a better way to express my disappointment. But when I clicked on the Jamseed logo and the site crashed, I couldn’t help myself.
“It’s just an alpha version,” Shannon said in defense of Steve and Rose. “You can’t go clicking anywhere.” And he went on to describe all the solid work that had gone into building the database and critical foundations.
But I was thinking about how I couldn’t show Jamseed yet to the potential investors, musicians, news outlets, or even my business partners. Most importantly, we just weren’t ready for business, any business. I thought of the passages in Dreaming in Code where Kapor finds himself torn between “just implementing” and “building the idea”—and I imagined myself never ever leaving my day job at World Wide Wicket.
This is where I diverge with Kapor. I see the problem not as code, but as people—specifically, their alignment. All the missteps in development (like allowing the logo to lead to a 404 page not found error) were based on people having different goals.
For the students, Jamseed is a summer project—a way to earn some money while learning. For me, it contains all the pent up dreams of my entire career and hoped for eradication of the black mark of my last failed venture. This is a gap in alignment.
I was at fault for not telling them what I needed, and the developers at fault for not being sure they understood. Every employer and employee have the same challenge. If you don’t know what my goal is, then we will fail together.
What do you think? Is it, to borrow from Shakespeare, “The code’s the thing.” Or are all problems in software development essentially the same problem with every project: aligning people with the goal.
Sign up for the Harvard Business Publishing Weekly Hotlist, a new weekly email roundup featuring the top highlights from HarvardBusiness.org.
- Comments (5)
- Join the Discussion
- Email/Share

David Silverman is the author of Typo: The Last American Typesetter or How I Made and Lost 4 Million Dollars (Soft Skull Press, 2007).
This blog chronicles the trials and tribulations of David and two longtime friends who are trying to start an Internet music company called Jamseed. All three have day jobs, all have failed in the past with new ventures, and all hope that this company will bring them entrepreneurial redemption.
Comments
This is a common problem in software development projects. From my perspective, it is currently being tackled by changing the lifecycle mangement of the projects: from waterfall to agile. The key difference is that the latter focuses on never breaking the build in order to always have something working and thus providing value and having frequent releases (typically every 2 weeks) allowing you to validate your work in the market (meaning the end user in a specific company or statistical sample of a bigger customer market)
- Posted by Leo Palacios
July 13, 2008 9:48 PM
I think it's the latter: writing code (or doing anything, for that matter) without aiming for a clear mutual goal is a great way to fail. Without the goal, how do you measure success?
- Posted by Seth Gray
July 14, 2008 9:45 AM
It's people, not code. The scenario you describe is classically human, and can be witnessed in completely different contexts. A logo going to an error page is not a code error, it's an error in judgement.
I see your Shakespeare and raise you "Cool Hand Luke":
"What we've got here, is a failure to communicate."
- Posted by Kristin
July 16, 2008 8:24 AM
When you wrote: "For the students, Jamseed is a summer project—a way to earn some money while learning. For me, it contains all the pent up dreams of my entire career and hoped for eradication of the black mark of my last failed venture. This is a gap in alignment." IMHO you hit the nail squarely on the head.
So what are you waiting for? Stop treating the development of your dream prototype as a summer school adventure and involve some peer level engineers and programmers. Pitch a couple of guys/ gals on becoming co-founders and get this pup rolling :D
- Posted by Yousef Shemisa
July 19, 2008 8:02 PM
I agree with Kristin about this being applicable to different contexts. We are 18 months into a new start-up type company which has nothing to do with tech apart from using computers from time to time(teaching languages and translation) and we have discovered this problem.
I think these differences are difficult to discover at the start based solely on verbal communication - it's easy to present a plan and objectives and everybody will nod and say that it's a great idea.
Then you discover that people's actions and - more importantly - their reactions don't always reinforce what they said they would do.
If someone has their own vision of your project it's very difficult to get them to adopt your master unifying vision. Either you need to be learn to be very subtle and patient or look at ways of adapting the central idea to accommodate people sharing slightly different visions of it, or both.
- Posted by Matthew Bennett
July 23, 2008 6:44 AM