Tutorial 3 Solutions
Tutorial 3 Solutions
2. Why is the “Silo’d” effect not so detrimental to the software development process?
Although the silo approach has flaws, it's not entirely harmful. Product Owners (POs) and
Business Analysts (BAs) help bridge the gap between Business and Development, and
developers often collaborate closely with testers, sometimes even sharing responsibilities
such as unit testing.
3. What is the main adverse outcome of the “Silo’d” approach? Make a reference to the
problematic definition of “done”.
The main adverse outcome is the lack of collaboration between Development and
Operations. Software marked as “done” is often only verified internally and not truly
production-ready. It is handed over to operations late in the process, leading to deployment
issues and delays, as the development team is often no longer involved.
5. What is software “operations” all about? In your answer make a reference to the
complexities inherent in Build Engineering (BE).
Operations focus on deploying and maintaining software in production. Build Engineering (BE)
involves converting code into deployable formats. It is complex due to runtime dependencies,
compatibility issues, lack of documentation, and differences between development and
production environments. BE must often intervene in development to resolve these issues.
10. Provide a discussion of some of the main tools that are used to implement a DevOps
approach to software development.
Version Control: Git, Bitbucket
Build Tools: Maven, Ant
CI/CD Tools: Jenkins, GitHub Actions
Containerization: Docker
Configuration Management: Ansible, Chef, Puppet
Monitoring: Prometheus, Nagios, Datadog
Logging: ELK Stack, Logstash
11. What are the core elements of aligning database solutions with a DevOps approach?
Aligning databases with DevOps includes using version control for schemas (e.g., Liquibase),
automating migrations, including database changes in CI/CD pipelines, and testing database
integration alongside application builds.
12a. Where should the Build Engineer (BE) be incorporated into the Scrum process?
The BE should be involved from the Sprint Planning phase to understand requirements and
configure environments. The BE also plays a key role during Product Increment Reviews,
Sprint Reviews, and build/test setups, ensuring production readiness and compatibility.
12b. Discuss the main elements of the Scrum-DevOps model illustrated.
The Scrum-DevOps model integrates the BE throughout the Scrum cycle.
Key Elements:
• Sprint Planning: Involves PO, Dev Team, and BE. BE prepares environments early.
• Dev & QA: Developers commit code regularly. CI server builds and tests the code.
• Build & Test: BE ensures a production-like test environment using containerization.
• Product Increment Review: BE, QA, and stakeholders validate the system’s readiness.
• Sprint Review: Involves user feedback and BE input on performance and deployment.
Containerization:
BE uses tools like Docker to create portable, consistent environments across development,
testing, and production. Containers bundle code with dependencies, eliminating environment
conflicts and enabling "write once, run anywhere" functionality.