Agile Cars Headed Over The Waterfall
Do you know Waterfall or Agile?
Yeah. I have some experience with both.
Any examples?
Well, I work on cars.
Agile and Waterfall are not car repair terms. They are software terms. But, they track pretty well to cars, too.
Waterfall software development is the way software used to always be developed. It’s how programs like Word and Windows and just about any software purchased before the turn of the century was made.
The idea is you design your software and then you build it. You build it from scratch. And then one day you turn it on and it works.
Okay, it doesn’t work. In fact, it probably doesn’t even start up. Instead, you start working on the compile errors. After you’ve fixed all the errors getting it to compile, it will finally start up. At that point, you now need to start fixing the runtime errors. You know, when you are supposed to put in a number and it only accepts letters? So, you fix the runtime errors. Finally, you move on to the logic errors. Those are where your programmer added 2 instead of 1 to a value.
Eventually, you get the logic errors fixed, at least the ones your testers find. And finally, you’re ready to send it out to real users as a Beta test. They will find a whole bunch more bugs for you.
Finally, you’ll get tired of fixing bugs and decide, like the movie guys say, “We’ll fix it in post.” Microsoft never shipped a program with a known bug. Of course, we had to redefine what the definition of a bug was.
Agile programming is a different approach. In Agile, you design your program, but then you figure out the least amount that you can build and make it run. It won’t have all the features, of course, but it will run.
And every couple of weeks you make a new build with a few more features. And it runs. You keep doing that cycle until you have enough features to actually ship your product.
Waterfall was the standard for years. Agile has come into vogue in the recent years. I’m not saying one is better than the other. I have my suspicions that there are some operations that cannot be completed in a 2 week sprint.
I work on cars a lot. Generally in the summer. Living in Utah, Winters are strictly an emergency fixes only time of year. I realized that I’ve done both waterfall car projects and Agile projects.
I owned a 1996 Lexus ES300. When I got it, it didn’t run. There was lots wrong with it. I approached it like a waterfall project. We rebuilt the engine. We worked on the fuel pump. We repaired body work. We had to fix almost every aspect of the car. And just when one thing was fixed, another would break. It was a long project.
I don’t have the Lexus anymore. I have a 1996 Toyota Corolla. It’s actually not that different from the 1996 Lexus. They are both Toyota products.
Anyway, the Toyota is more an Agile product. It ran when I got it, but had a lot of issues. The windshield leaked. The radio was missing. One rim was bent. The seats weren’t bolted down. (But only the passenger one. Found that one out when I was teaching my daughter to drive.
Anyway, every repair on the Toyota has had two goals. One, fix the issue. Two, make sure the car still runs. There are still about a dozen things left to do on the Toyota. But, in the mean time, I’ll keep driving it.
Maybe there are some advantages of Agile over Waterfall after all.
Rodney M Bliss is an author, columnist and IT Consultant. His blog updates every weekday. He lives in Pleasant Grove, UT with his lovely wife, thirteen children and grandchildren.
Follow him on
Twitter (@rodneymbliss)
Facebook (www.facebook.com/rbliss)
LinkedIn (www.LinkedIn.com/in/rbliss)
or email him at rbliss at msn dot com(c) 2019 Rodney M Bliss, all rights reserved