|Jack Ganssle's Blog
This is Jack's outlet for thoughts about designing and programming embedded systems. It's a complement to my bi-weekly newsletter The Embedded Muse. Contact me at firstname.lastname@example.org. I'm an old-timer engineer who still finds the field endlessly fascinating (bio).
For novel ideas about building embedded systems (both hardware and firmware), join the 35,000 engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
How Projects Get Out of Control
November 15, 2019
Think requirements churn is only for software? Think again.
Software requirements factoids, from Jones, The Economics of Software QualityWe have a 32' sailboat, a ketch (which basically means there are two masts). Voyager was built in 1977 as a tough vessel that could survive the worst conditions. She's an Allied Seawind II; there's a Seawind association whose website is here. We've taken multiple voyages in her to Bermuda, New England, the Caribbean, Bahamas, and Turks & Caicos.
Over the years we've upgraded most of her systems. But one pesky problem kept getting worse: the engine. The Westerbeke 30 diesel had 1000 hours of running time in 1998 when I bought her, but after uncounted miles over the last two decades the clock now reads 4500.
Three years ago the engine died. I was sidetracked by building a new barn after the old one was destroyed by a neighbor's tree, but this year pledged to get the thing going again. Rebuilt injection pump. Total reroute of all fuel lines and filters. New injectors. New lift pump.
But I realized that that lump of iron was really a black hole that would forever consume resources and my patience. Should I spend however many of my remaining good years wielding wrenches or going sailing?
We were in Newport, RI in September for a wedding and had a free day, so went to the Newport boat show. Beta Marine was offering a 20% show discount on their engines. I had my eyes on a 30 HP Beta and had been desultorily talking to them for two years. Stan, the president, and I chatted at the show, and he convinced me to downgrade to the smaller and cheaper 25 HP model. The ever-supportive Marybeth gave her go-ahead, so I plunked down a $3000 deposit.
The scope of the project was clear: Replace the old engine with the new. Over the course of a week I removed the miserable rat's nest of wiring and plumbing from the Westerbeke and extracted the 550-pound beast into the main cabin using a chain hoist and numerous colorful adjectives. The boatyard's crane extracted it from the cabin and plopped it in my truck.
The old engine.
The new Beta.
A big project! But, pondering this more, I realized that since we need a new prop shaft to fit the smaller Beta, I should also replace the cutless bearing and stuffing box (these let the shaft penetrate the hull without leaking… much). Oh, with the boat out of the water I better also rebuild a couple of valves. And the Beta's exhaust isn't compatible with the Westerbeke's, so that has to go. With the engine out we could install a water heater, too.
Some more requirements churn: with the engine out there's great access to the tons of wiring in the engine compartment. Decades of modifications and changes by many owners, some with limited electrical skills, has made this a total mess. I added a complete rewiring of that area to the list.
But the main electrical switch panel is a catastrophe. Some of the breakers don't work and replacements are not obtainable anymore. The wiring behind that panel is, well, just too embarrassing to get into. Now we have another, major, new requirement: Replace that panel. I could buy a standard panel from Blue Seas, but all of those are an imperfect fit to Voyager's needs. As an engineer I want a perfect solution (a goal that has destroyed many schedules and projects). Another few days went into designing the perfect panel, which was manufactured by Front Panel Express. Another upside: loaded with circuit breakers it is a third the cost of one from Blue Seas.That panel was then mounted in bit of plywood with meters and guages. And wouldn't it be nice to be able to charge phones and the like? A smaller panel joined the fray with two USB ports and a linear regulator to reduce the +12 to +5.
The new panel in my shop.
Since we're doing all this work, Marybeth decided this would be a good time to upgrade the varnish, which is her domain. (At the boat show Jamestown Distributors convinced us to try a new brand which promised much easier application. It was a bust, and she has returned to Epiphanes, her old standby. Now she plans to strip the experimental varnish, adding weeks to her work.)
The result of this requirements churn is a more expensive project. The schedule, originally estimated at one month of being on land, is now, well, who knows? It looks like we'll be ashore till April. Or May. Maybe June.
If I were my boss I'd fire myself for doing such a poor initial job at eliciting the requirements. But this is playtime, not work. I'm excited about both doing the refit, and at using the boat come Spring. And it's fun to give the metaphorical "boss" the metaphorical finger!
But I sure hope that the requirements are now settled.
Feel free to email me with comments.
Back to Jack's blog index page.
I'll present my Better Firmware Faster seminar in Melbourne and Perth, Australia February 20 and 26th. All are invited. More info here. The early registration discount ends January 20.
If you'd like to post a comment without logging in, click in the "Name" box under "Or sign up with Disqus" and click on "I'd rather post as a guest."
Recent blog postings:
- A Lack of Forethought - Y2K redux
- How I Write Code - Comments first, code second.
- How Projects Get Out of Control - Think requirements churn is only for software?
- 2019's Most Important Lesson. The 737 Max disasters should teach us one lesson.
- On Retiring - It's not quite that time, but slowing down makes sense. For me.
- On Discipline - The one thing I think many teams need...
- Data Seems to Have No Value - At least, that's the way people treat it.
- Apollo 11 and Navigation - In 1969 the astronauts used a sextant. Some of us still do.
- Definitions Part 2 - More fun definitions of embedded systems terms.
- Definitions - A list of (funny) definitions of embedded systems terms.
- On Meta-Politics - Where has thoughtful discourse gone?
- Millennials and Tools - It seems that many millennials are unable to fix anything.
- Crappy Tech Journalism - The trade press is suffering from so much cost-cutting that it does a poor job of educating engineers.
- Tech and Us - I worry that our technology is more than our human nature can manage.
- On Cataracts - Cataract surgery isn't as awful as it sounds.
- Can AI Replace Firmware - A thought: instead of writing code, is the future training AIs?
- Customer non-Support - How to tick off your customers in one easy lesson.
- Learn to Code in 3 Weeks! - Firmware is not simply about coding.
- We Shoot For The Moon - a new and interesting book about the Apollo moon program.
- On Expert Witness Work - Expert work is fascinating but can be quite the hassle.
- Married To The Team - Working in a team is a lot like marriage.
- Will We Ever Get Quantum Computers - Despite the hype, some feel quantum computing may never be practical.
- Apollo 11, The Movie - A review of a great new movie.
- Goto Considered Necessary - Edsger Dijkstra recants on his seminal paper
- GPS Will Fail - In April GPS will have its own Y2K problem. Unbelievable.
- LIDAR in Cars - Really? - Maybe there are better ideas.
- Why Did You Become an Engineer? - This is the best career ever.
- Software Process Improvement for Firmware - What goes on in an SPI audit?
- 50 Years of Ham Radio - 2019 marks 50 years of ham radio for me.
- Medical Device Lawsuits - They're on the rise, and firmware is part of the problem.
- A retrospective on 2018 - My marketing data for 2018, including web traffic and TEM information.
- Remembering Circuit Theory - Electronics is fun, and reviewing a textbook is pretty interesting.
- R vs D - Too many of us conflate research and development
- Engineer or Scientist? - Which are you? John Q. Public has a hard time telling the difference.
- A New, Low-Tech, Use for Computers - I never would have imagined this use for computers.
- NASA's Lost Software Engineering Lessons - Lessons learned, lessons lost.
- The Cost of Firmware - A Scary Story! - A hallowean story to terrify.
- A Review of First Man, the Movie - The book was great. The movie? Nope.
- A Review of The Overstory - One of the most remarkable novels I've read in a long time.
- What I Learned About Successful Consulting - Lessons learned about successful consulting.
- Low Power Mischief - Ultra-low power systems are trickier to design than most realize.
- Thoughts on Firmware Seminars - Better Firmware Faster resonates with a lot of people.
- On Evil - The Internet has brought the worst out in many.
- My Toothbrush has Modes - What! A lousy toothbrush has a UI?
- Review of SUNBURST and LUMINARY: An Apollo Memoir - A good book about the LM's code.
- Fun With Transmission Lines - Generating a step with no electronics.
- On N-Version Programming - Can we improve reliability through redundancy? Maybe not.
- On USB v. Bench Scopes - USB scopes are nice, but I'll stick with bench models.