Continuous, Incremental Improvement

From TheCommandLineWiki

Jump to: navigation, search
This transcription has not yet been started.

Part of The Inner Chapters Unbook.

Originally part of podcast episode number thirty four].

Dedicated audio available from Podiobooks.

Original Notes

  • Others have spoken about this at length
    • Pragmatic Programmers
    • XP, flattened cost of change
    • Even Kernighan and Pike, No Broken Windows
  • Seems obvious
    • Also seems like their would be valid exceptions
    • This is a pitfall, tantamount to hubris
    • Software complexity will rise on a geometric curve
    • Our first job is keeping that curve as close to linear as possible
    • Continuous, incremental improvement is the most proven, low-risk way to do this
  • First example
    • Let's re-write some or all of our software
    • 3 jobs back, decided to do just that
    • Engineering agreed because we always want a blessed opportunity to improve design and implementation
    • Management don't take customers into account
    • Re-write took a lot longer than anyone imagined
    • Marketing used it as an excuse to include all kinds of new features
    • No one could ever admit to the customers that it was either going to be considerably later or with less features than originally promised
    • Company essentially ended up standing still from a competitive standpoint for the better part of six months
  • Second example
    • We're going to change the world
    • Last job, to a lesser extent during the bubble
    • Founder did not already have the idea
    • Wanted to disrupt existing telecommunications industry
    • Knew how to do it, better compression, but didn't have a feasible scheme for the technology
    • Became so fixated on the win big scenario, missed any number of real opportunities to start realizing revenue
  • Lessons
    • Everything always takes more time and effort than anyone predicts
      • Predictions are inherently faulty
      • Re-writes are worthwhile
      • Take an incremental approach to re-writes, never attempt all at once
      • Pick the best candidate component
        • Highest risk yields highest reward
        • Lowest risk protects other components
        • Demands on situation, risk aversion
      • Better than a whole sale re-write
        • Shorter more predictable delivery, a la XP
        • Learn more early and improve the entire re-writing effort as you go
      • Never, ever lose sight of the bigger picture for one task or project
    • Get the best people, give them the best equipment and put them in the best environment and they will succeed
      • From Spolsky
      • You do not need a moment of greatness fixation to be great
      • Be open to what you already have, can already achieve and capitalize on it
      • Predicting what will succeed is also tricky, diversify!
      • If any startup looks too good to be true, it is
      • Demos may be necessary but they are evil
        • May "innovative" startups end up doing nothing but producing demos
        • Turned down an opportunity after last job because they were in the demo rut
        • At some point, you need to produce results
      • The opportunity is less important than the people and the place

Transcript

Personal tools