Continuous, Incremental Improvement
From TheCommandLineWiki
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
- Everything always takes more time and effort than anyone predicts

