Introduction Flashcards
What is the focus of the Enterprise Computing module?
Implementing lean product evolution through agile software production.
What is the defining characteristic of the Waterfall Model?
It cascades the three fundamental activities of software development (Exploration, Development, Operation) sequentially.
Why is the Waterfall Model called “Waterfall”?
Because each phase flows into the next without iteration, like a waterfall.
What are the two key aspects of the Iterative/Incremental Model?
- Iterative: It includes feed-back loops between activities
- Incremental: It delivers small additional pieces of functionality regularly
What enables the Exploration phase?
Lean cycle evolution.
What are the two main architectural approaches in the Exploration phase?
- Monoliths
- Microservices
What is a monolith in software development?
A traditional software model where a single codebase handles multiple business functions.
What are microservices?
A software architecture where applications are broken into small, independent services that communicate over a network.
What enables the Development phase?
Version Control
What are the two main practices in the Development phase?
- Continuous Integration (CI)
- Continuous Delivery (CD)
What is Continuous Integration (CI)?
A practice where developers frequently merge code changes into a shared repository, triggering automated testing.
What is Continuous Delivery (CD)?
A practice ensuring that software is always in a deployable state, allowing frequent releases.
What enables the Operations phase?
Cloud computing.
What are the two main practices in the Operations phase?
- DevOps
- Site Reliability Engineering (SRE)
What is DevOps?
A cultural and technical movement that integrates development and operations to improve efficiency and collaboration.
What is Site Reliability Engineering (SRE)?
A discipline that applies software engineering principles to IT operations to improve system reliability.
Why is cloud computing important in the Operations phase?
It enables scalability, flexibility, and cost-efficiency in software deployment and maintenance.