Over-engineering

In the world of software engineers, there are 10 types: those who speak binary, and those who don’t. Kidding aside, it is sort of akin to the political spectrum, except the labels are roles like the Idealist, the Architect, and the Pragmatist. After almost 15 years of developing software, I have decided that being a pragmatist is my happy place for one and only one reason: shipping software. 

I’ve worked on projects that never ship, it is no fun and from what I’ve observed the delays usually stem from designers getting mired in over-engineering. Most of the over-engineering follies revolve around something we as humans are all bad at doing: predicting the future.

However, we remain convinced that we can predict the future, and with accuracy:

VMT-C-P-chart-big

Federal Highway Traffic Projections – Image Courtesy SSTI

This impulse pervades all of engineering, regardless of the field. I’ve done it myself: obsessing over scalability of a website before visitor one hits the front page.

Engineers get obsessed with the minutia. In a city where it takes us 23 minutes to drive 19 miles we get obsessed over those first and last 4 minutes of travel, before getting up to 60MPH. I’m glad that there are people out there who can nerd out about their field of study, but sometimes you have to draw the line.

If I’ve learned anything from years of development, it’s best to see how people use a simple design before adding additional (potentially unnecessary) complexity. Recently, when the I-694 / MN-51 Snelling interchange re-opened after construction I was overjoyed. The previous design forced all 694 eastbound through traffic into the left lane, which only reinforced that bad habit all of us Minnesotans have: immediately moving to the far left lane as soon as we merge onto the motorway.

The switch-to-the-far-left through traffic pattern isn’t a problem anymore, but but there is some over-engineering that has taken place here. If you are traveling east on 694 and exit to go south on MN-51 / Snelling Ave, it is a single lane exit. But then it immediately becomes a 2 lane ramp, only to quickly reduce back to one lane before merging onto 51.

694-51_sliplane

I know someone was nerding-out on this ramp because there has never been a traffic issue with cars wanting to exit 694 here. But it was a two lane exit before reconstruction – heaven forbid we remove some lane miles and reduce cost – so it better be a two lane exit for the next generation to maintain. Part of being a pragmatist is recognizing waste – noticing what is going unused and eliminating or re-purposing it. The over-engineer will horde these assets, whether they are used or not. They’ll be there if they are needed, if ever.

All engineers need to summon their inner pragmatist and do what is the most flexible thing, not pie-in-the-sky perfect.

Streets.mn is a non-profit and is volunteer run. We rely on your support to keep the servers running. If you value what you read, please consider becoming a member.

6 Responses to Over-engineering

  1. Bill Lindeke
    Bill Lindeke February 6, 2014 at 12:08 pm #

    But by 2040 the extra lane will save 2.7 seconds per car per projected minimum wage per hour times the lifetime of the onramp = 7.3 gazillion dollars in cost savings due to congestion migitation!

    • Justin Foell
      Justin Foell February 6, 2014 at 12:29 pm #

      The cost savings that the highway department does based on commute times is ridiculous. It’s all Monopoly money.

    • Joseph Totten
      Joseph Totten February 6, 2014 at 1:25 pm #

      I don’t even think MNDoT could swing that. It simply reduces again…

  2. Matt Steele February 6, 2014 at 2:26 pm #

    That’s even shorter than the short two lane stretch of the flyunder ramp from Hiawatha Avenue to I-94 West.

  3. Walker Angell
    Walker Angell February 6, 2014 at 8:51 pm #

    Justin, you should have discussed going from NB Snelling/51 to EB 694. 🙂

    • Justin Foell
      Justin Foell February 7, 2014 at 10:12 am #

      They should have traded that extra lane for the option to go east.

Note on Comments

streets.mn welcomes opinions from many perspectives. Please refrain from attacking or disparaging others in your comments. streets.mn sees debate as a learning opportunity. Please share your perspective in a respectful manner. View our full comment policy to learn more.

Thanks for commenting on streets.mn!