Up at 5AM: The 5AM Solutions Blog

Software Myopia

Posted on Wed, Apr 07, 2010 @ 01:09 PM

I made a list this morning of my favorite essays from Rework, the new book from the founders of 37signals. The book has been discussed quite a bit online and around our office. At 5AM, reactions have been all over: violent agreement with some, like "Meetings are toxic"; lively debate about others, such as "Why grow?"; and disagreement with essays like "Pass on great people." My list ended up looking like a small poem:
Planning is guessing
Your estimates suck
Decisions are progress*
Decisions are temporary
Start making something
Launch now
(* "Decisions are progress" is actually "Making the call is making progress," but that's too wordy for me and for them.)

The takeaway from my list: Be myopic. Be intentionally, explicitly, unabashedly myopic.

Planning and estimation are educated guesses, and you almost certainly don't have enough data to make long-term project plans. How many Microsoft project plans have you seen with tasks years into the future with precise annotations "6/12/2012 - 2 days - Kickoff with Site #7"? This is nonsense, and nonsense that takes forever to set up, review, link, and update. People are terrible estimators, and nobody really knows what they want at the outset. A giant project plan doesn't serve the needs of the people doing the project. You have the illusion of control and clarity, when in fact you have neither and are now suffering from software myopia.

Throw it away. Move to processes and tools that mirror how you actually engage your client. Make requirements and estimates clear for needs to be built now, then get progressively less precise about what will be built later. Be explicitly myopic. At 5AM, we have use case models to describe the really big pieces. We create that as one of our first artifacts, often as part of our proposal. The use case model is broken up into more granular tasks, which are added to our backlog. Perhaps 3-8 initial tasks will be created for each item in the use case model. As tasks percolate up the backlog, they are further subdivided until a single task's requirements, acceptance criteria, and estimate fit comfortably into an iteration. We are not suffering.

This is the same message Rework has for decisions. Moving from "let's discuss" to "let's decide" is hard if you think you are deciding for all time. Make the best decision for now, given the information at hand, and move on. Within a project, this applies both to what you are building and how you build it. This is where close feedback cycles matter. Build a little, see what works, learn from your mistakes, and build again. Recognize that you are further along than you were before, and you have a clearer picture of the problems than you did before. Myopia is working in our favor.

Finally, don't let myopia paralyze you. Take what you know right now and build it. It's wrong, but you are better off wrong with working software and lessons learned than you are wrong with no software and no attendant lessons. And the very best lessons are those learned by putting software in the hands of the end users.


Diagnostic Tests on the Map of Biomedicine


Download the ebook based on our popular blog series. This free, 50+ page edition features updated, expanded posts and redesigned, easier-to-read maps. 

FREE Biobanking Ebook

Biobanking Free Ebook
Get this 29 page PDF document on how data science can be used to advance biorepositories.

 Free NGS Whitepaper

NGS White Paper for Molecular Diagnostics

Learn about the applications, opportunities and challenges in this updated free white paper. 

Recent Posts