5 Things I’ve Learned About Software Development

I’ve run software companies. I’ve been a software product manager.  I’ve sold software. I’ve bought software. Yet, in the last 8 months, In 35 years I’ve learned some things about developing software and here are some of the gems:

  1. Listen To The User – Primary Stakeholders Don’t Know What They Don’t Know – Listen to them. Hear them. Observe them. But at some point, it comes down to what Henry Ford said, “If I asked my customers what they wanted they would have said a faster horse,” so he gave them a car instead.  The product lead has responsibility for shaping and refining the stakeholder’s vision into something revolutionary versus evolutionary. There is a fine line as Henry found out when other cars started outselling the Model T because they came in a choice of colors.  Mr. Ford on the topic of color? “They can have any color they want as long as it’s black.”
  2. Three Worst Words – The worst three words in software development, “Can’t we just …” As quoted by a recent client with deep scars inflicted from those three little words. “Can’t we just,” has sunk more development projects than U-boats have sunk ships.  Yes, you can JUST as much as you want. Hell, you can JUST until the cows come home but your cows coming home won’t finish that software project and shouldn’t you keep your cows on the farm and not in the home?
  3. Security – Never trust a Chief Security Officer (CSO) who only wears a belt. In addition to the belt and in case of a belt breach, they should also wear elastic waistband pants with suspenders.
  4. Pregnant Women And Software – Sometimes software is like a pregnancy.  You can just as easily throw nine programmers at a project and reduce the delivery date by a factor of nine as you can throw nine women at a pregnancy and bring the baby to full term in a month. But unlike a pregnancy, sometimes throwing people at a project can decrease the gestation period.
  5. The If To Is Ratio – Listen carefully to a discussion and you can tell how close a project is to completion by the If’ses to the Is’ses. What is done and what is planned… the If to Is Ratio.