Software Engineering Research

1. What was the "software crisis" of the 1960s, and how did it lead to the creation of software engineering? What problems did this new discipline aim to solve?

It was a period when developing large scale complex systems became difficult due to the rapid increase of computer power and failure to handle the complexity of problems arising. Which lead to a proposition of an ‘engineering’ approach to developing software. This thus led to the creation of software engineering. Which was created to tackle large software systems.

2. What are Agile methods and the Waterfall model in software development, and how are they different?

Agile is a iterative approach to software development. It involves flexibility and collaboration among teams focusing on delivering incremental releases and adapting changes throughout the development process. Waterfall is a sequential approach, where every phase must be completed before moving on to the next.

3. Why does Netflix intentionally shut down its servers randomly, and how does this help their software?

They to it to test how well their system can handle unexpected problems. It helps their software by learning potential weak spots and improving upon them.

4. What is open-source software, and why do big companies like Google, Microsoft, and Amazon contribute to it?

It is a software with source code that anyone can access. They contribute to it further develop and improve open-source software.

5. Why can maintaining software sometimes be more costly than building it initially, and how does technical debt contribute to these higher maintenance costs?

Because the older a software is the harder it is to maintain it due to adapting software to certain challenges and environments, integrating with other systems, and changing the design. Technical debt increases complexity and higher operational costs causing more costly maintenance.

Sources:

https://piusmwilson.medium.com/the-1960s-software-crisis-27d15f6356ef
https://www.forecast.app/blog/difference-between-agile-waterfall#:~:text=What%20is%20the%20main%20difference,distinct%20phases%20completed%20in%20order.
https://medium.com/@raja.gupta20/what-is-choas-engineering-and-how-netflix-uses-it-to-make-its-system-more-resilient-b91758df6a8d#:~:text=It%20sounds%20counterintuitive%2C%20but%20the,if%20everything%20keeps%20running%20smoothly.
https://www.linuxfoundation.org/blog/blog/why-do-enterprises-use-and-contribute-to-open-source-software