Evolution of Software Engineering

Sangeeta Gupta
3 min readAug 29, 2019

--

“Software is the invisible writing that whispers the stories of possibility to our hardware…and we are the story tellers..” — Grady Booch

I believe that software is about creating magic with logic to solve the world’s challenges. Living through the various resources for writing this little piece made me realize how software evolved from being a means to replace tedious human labour to the guardian angel who helped us demystify the wonders of the universe! This year we just got the image of our first black hole, isn’t it?

The Origin

As we undergo the journey of how and when we started engineering our guardian angel, let’s find where the term “Software engineering” originated from. According to an unpublished oral history, Margaret Hamilton, lead developer of Apollo, began using this term around 1963–64 to distinguish her work from the hardware engineering work on the project. Some have pointed that the 1966 letter by Anthony Oettinger in Communications of the ACM wherein he used this term for the first time to distinguish between computer science and software-intensive systems. Many suggest it came from the 1968 NATO Conference on Software Engineering, coined by Friedrich Bauer.

Software Crisis

During the 1960s-80s, we witnessed the era of software crisis wherein many problems in software development led to projects running over budget-schedule and at times causing death and damage to property. Fred Brook mentions in The Mythical Man Month on how he made a multi-million dollar mistake of not developing a coherent architecture before starting the OS/360, the first of all large software projects in the world which ran for a decade.

Silver Bullet

For years, software crisis continued to be the greatest fear for researchers and companies in software development. The cost of owning and maintaining software was twice as much as developing software and thus in the 1970–90s the silver bullet to kill the crisis emerged.Tools, discipline, formal methods, process, and professionalism were touted as silver bullets. It was during this period we saw the birth of software engineering wherein formal engineering methodologies, documenting and diagrammatically representing the software on paper, identifying and distinguishing the various processes came into picture.

The Internet

In the 1990s, the Internet changed the face of software as now the world demanded for software which was designed and built for everyone. Programmers needed to manage fast loading and optimized storage of dozens of pictures, videos and other content. Internalization and Localization became the key features of software. The user base of computers went from hundreds to millions.

Lightweight methodologies

With the inexplicable demand for software in many smaller organizations in the 2000s, the need for inexpensive software solutions led to the growth of simpler and faster methodologies to speed up the entire software development process .Lightweight methodologies, such as Agile Practices, appeared which escalated many processes of software engineering and helped in creating flexible and reliable software.

While this little piece ends here, I would like to conclude by stating its now time for you to witness and create the next history in software engineering!

Thank you for your read. If you enjoyed this article, don’t forget to applaud and share it with your friends ! Also, feel free to reach out in comments if you have any suggestions or feedback for this article.

--

--

Sangeeta Gupta

User Advocacy @ Dataiku | State of Indian Community Management 2021 | Meta Certified Community Manager