Operate What You Build Development Model
Jump to navigation
Jump to search
An Operate What You Build Development Model is a software development model that advocates for the software development team to also be the software operation team.
- Context:
- It can aim to improve communication, reduce delayed responses to issues, and increase system accountability.
- It can lead to a faster feedback loop as developers experience the real-world performance of their software firsthand.
- It can result in increased accountability as the development team holds ownership over the entire lifecycle of the product.
- It can enhance collaboration and break down silos between development and operations teams.
- It can supports increased agility, allowing teams to quickly respond to changes and issues.
- It can require developers to acquire new skills in areas like monitoring, deployment, and incident response.
- It can challenge traditional organizational cultures and necessitate a shift towards shared responsibility and ownership.
- It can be implemented through approaches such as Full-Cycle Development, DevOps Teams, and Microservices Architecture.
- It can (often) involve Software Quality Assurance or Agile Software Development Practices.
- ...
- Example(s):
- Netflix's Operate What You Build Model.
- A DevOps team that collaborates on both development and operational aspects of a system, ensuring continuous integration and delivery.
- ...
- Counter-Example(s):
- a Traditional Software Development Responsibility Models where one team writes the code and a separate team manages its deployment and maintenance.
- an Outsource Development Model.
- ...
- See: Software Development Lifecycle (SDLC), DevOps, Continuous Integration and Continuous Deployment (CI/CD), Software System Accountability.
References
2024
- (Bard, 2024) ⇒ Bard. (2024).
- "Operate what you build" is a development model gaining traction in the software industry. It essentially means that the team responsible for building a software system is also responsible for operating and supporting it in production. This model diverges from traditional practices where development and operations are siloed, often leading to communication hurdles and delayed responses to issues.
- Benefits:
- Faster feedback loop: Developers experience first-hand the real-world performance and limitations of their creation, driving faster improvements and problem-solving.
- Increased accountability: Ownership fosters deeper understanding and commitment to the product's success, leading to higher quality and reliability.
- Improved collaboration: The close working relationship between development and operations breaks down silos, leading to better communication and teamwork.
- Increased agility: Teams can respond quickly to changes and issues, resulting in more adaptable and resilient systems.
- Challenges:
- Skill development: Developers may need to acquire new skills in areas like monitoring, deployment, and incident response.
- Workload balance: Ensuring developers can handle both building and operating responsibilities requires careful planning and resource allocation.
- Cultural shift: Implementing the model effectively requires a shift in organizational culture, promoting ownership and shared responsibility.
- Common implementations:
- Full-cycle developers: Developers handle the entire software life cycle, from design and coding to deployment and ongoing maintenance.
- DevOps teams: Cross-functional teams combine development and operations expertise, collaborating on all aspects of system management.
- Microservices architecture: Breaking down applications into smaller, independently deployable services makes it easier for specific teams to own and operate individual components.