The reasoning behind software engineering

Inicholas
3 min readMar 12, 2023

--

Software engineering is a methodology, a set of techniques (practice), and a collection of tools that enable experts to create high-quality computer software (Roger S. Pressman, 2004, p. 1). Software engineering is crucial because it allows us to create complicated systems quickly and to a high standard. Given how deeply ingrained software is in almost every area of our lives today, the value of software engineering cannot be overstated. The following paragraphs will attempt to delve deeper into the importance of software engineering and also provide a case of failure in following the principles of software engineering.

Firstly, an effort must be made to comprehend an issue before a software solution is created since the number of individuals interested in the features and functionalities of certain apps has increased. For this, thorough consideration of design is necessary, together with an emphasis on good quality and maintainability. Software engineering provides tools to accomplish this.

Secondly, modern computer-based systems and products are extremely complex, thus all system interconnections must be carefully considered. Software engineering is useful in this situation. Computer programs that were once created by a single person are now created by large teams of individuals. An organized approach to creation, testing, and maintenance is necessary given the rising complexity of software development. The methods and tools required to control the complexity of contemporary software systems are provided by software engineering.

Thirdly, software is used more and more often by people, companies, and governments for daily operations and control as well as strategic and tactical decision-making. People and large corporations may suffer from little annoyances to catastrophic disasters if software fails. Software must consequently demonstrate excellent quality. Software engineering guarantees that software is created in a methodical, structured way with an emphasis on testing and quality control.

Lastly, a particular application’s user base and lifetime will likely increase as perceptions of its worth rise. The need for adaptation and improvement will expand as its user base and time in usage do. To make sure that software can be maintained, software engineering is required. This entails creating software with the intention of future modifications and improvements, as well as providing the required resources and documentation to make maintenance easier.

Overall, it can be concluded that software engineering is used in a lot of aspects of our lives and is therefore very important. Failure of following the principles of software engineering can lead to unwanted consequences.

In November 2022, Tesla issued a recall of over 36,000 Model S and Model X vehicles owing to a power steering issue that appeared after a software update (Barry, 2022). This recall serves as an example of software engineering failure. The software upgrade in question was intended to enhance the cars’ general performance and safety, but instead, it caused a power steering issue that might result in a loss of control while driving.

This event emphasizes how crucial software engineering is to the creation of contemporary cars. Following best practices in software engineering is crucial for developers to guarantee that updates and modifications do not have unexpected repercussions as software becomes more and more crucial to the operation of automobiles and other vehicles.

If Tesla had used a more systematic and methodical approach to software engineering, the power steering issue might have been prevented. This may have involved a higher emphasis on quality assurance and risk management throughout the software development process, as well as more thorough testing of software upgrades before they are made available to the general public.

The Tesla recall, in general, serves as a reminder that software engineering is essential to the security and dependability of contemporary software systems, including those that run our cars. Companies may lower the risk of software-related failures and guarantee the highest quality of their products by using a more systematic and exacting approach to software development.

References
Barry, B. K. (2022, November 8). Tesla Recalls Model S and Model X for Power Steering Problem After Software Update. Consumer Reports. https://www.consumerreports.org/cars/car-recalls-defects/tesla-model-s-model-x-recall-p ower-steering-problem-a4893117329/
Roger S. Pressman. (2004). Software Engineering: A Practitioner’s Approach. McGraw-Hill Science/Engineering/Math

--

--