Finishing Software Is Hard (And If You’re Managing Software Projects, It’s Your Job)

The Last 10% Is Hard

“The first 90 percent of the code accounts for

the first 90 percent of the development time.

The remaining 10 percent of the code accounts

for the other 90 percent of the development time”

— Tom Cargill, Bell Labs (ancient software

wisdom — if you know an Agile equivalent,

I’d love to hear it)

The last 10% of a software project, is hard. It just is.

There’s nowhere to move the deadlines — time’s up. The thing you are building, which used to feel like a set of well-understood building blocks, now streams towards you in an endless river of barely connected details. UX wording needs to be exactly right; reliability, which was “good enough for beta” now needs to be 100%; that niggling bug everybody has been working around for weeks needs to go away, today; a feature that you thought worked great is missing something — not clear what it is, but it is clear that the beta users have to have it; the CEO has an idea and…

The more you do it, more you learn to pattern match on traps you’ve fallen into in the past. But I’m not sure anybody ever learns enough to bring their projects into the final deadline smoothly and without stress. (Maybe you do — if so, let everybody know your secret). There’s something more fundamental going on here.

Read More


Scaling Your Product Org Fast. Ten Things to Know.

If you’re in the tech world, at some point in your career you’ll be part of scaling a product organization (engineering, product management etc) really fast. You may be a founder, a VP Engineering, Director of PM or a project leader of an engineering group.

Whatever your position, it’s going to be a challenging, fast-moving potentially bewildering time.

These are some of the larger issues that come up (having done it a few times, and coached people who are in the middle of it now), and how you might start to get to grips with them.

It’s not an exhaustive list. The good news is you’re not on your own.

tl;dr Version

  1. Yes, you’re doing it for the first time. So is everybody else. Get over it. The skill you need for the long-term in the tech industry is the ability to learn whilst keeping a clear head. Everything else stems from that.
  2. Work hard. This is an opportunity and there is much to do. Don’t grind yourself into the ground, but this isn’t a time to really get into balancing your life, either
  3. Know your cultural core values. Being clear here is a tool that will save you heartache and time when the crunch decisions come. Which they will
  4. Find, hire or otherwise determine your number 2 — somebody who complements you as a leader.
  5. Hiring is just time-consuming, exhausting and at its core, pretty simple: you have to see lots of people. Lots. More than you ever imagined.
  6. Yes, you’re going to need managers. You’ll be surprised how many are sitting in your organization now. Find them. Promote them. Don’t be scared.
  7. Engineers don’t like Managers (sometimes. maybe often). There are reasons. Have your organization be one that gets it right (that is: Engineers and Managers get along fine).
  8. Who defines the product? This comes up a lot. The Product Manager does. But there are considerable subtleties to this. I suggest you read the whole thing.
  9. Yes, you’re going to need some process: weekly staff meetings, one on ones, project reviews and decision points. Process does can be light-weight, elegant and effective. Learn to love it.
  10. Overcommunicate. There’s a lot going on. Make sure your team knows about it all — good, bad and ugly.

“Help! I’m Doing it For the First Time!”

Yes, you probably are. Here’s why it’s fine:

Read More


Apple’s Quality Fail. And How Not to Have It Happen to You.

So I’ve been bouncing along using my iPhone, iPad and Macs for years, and, like the proverbial frog in boiling water, have been putting up with stuff. I won’t bore you with a list of irritations — we all have them (*oh, OK, I’ll put one at the bottom of the post). I had workarounds. I rebooted regularly. And then on Monday I read Jean-Louis Gassee and found myself nodding in recognition — quality problems! bad design choices! — and the water suddenly seemed pretty frickin’ hot:

I’ve gotten a bad feeling about Apple’s software quality management. “It Just Works”, the company’s pleasant-sounding motto, became an easy target, giving rise to jibes of “it just needs more work”

It turns out his awakening was triggered by Marco Arment’s post which in turn started a general pile on (he later posted that he regretted his original — but the train was many miles away by that time, and gathering speed).

I have tremendous admiration for what Apple has achieved in the past fifteen years. The tech world has never seen anything like it, and may not for a while. Heck, the business world has never seen anything like it. So rather than putting our own boot in , let’s look at how this can happen, even in a very highly functioning company like Apple, and maybe learn some things about how we can avoid a Quality WTF of our own.


Establish in the Culture that Quality Matters

Easy to say. In fact, almost everybody says it. Executives love to say it (I’ve done it myself). Doing it takes work, and a real prioritization of effort at multiple levels of the organization. Here are some suggestions:

Read More