0% found this document useful (0 votes)
2 views3 pages

Tutorial 3 Solutions

The document discusses the 'Silo’d' approach to software development, highlighting its isolation of teams and the resulting communication gaps, while noting that Product Owners and Business Analysts can mitigate some issues. It emphasizes the need for a DevOps approach to improve collaboration between development and operations, streamline deployment processes, and enhance software delivery. Additionally, it outlines the development-delivery-deployment pipeline phases, tools for implementing DevOps, and the importance of integrating Build Engineers into the Scrum process.

Uploaded by

nirthisingh58
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views3 pages

Tutorial 3 Solutions

The document discusses the 'Silo’d' approach to software development, highlighting its isolation of teams and the resulting communication gaps, while noting that Product Owners and Business Analysts can mitigate some issues. It emphasizes the need for a DevOps approach to improve collaboration between development and operations, streamline deployment processes, and enhance software delivery. Additionally, it outlines the development-delivery-deployment pipeline phases, tools for implementing DevOps, and the importance of integrating Build Engineers into the Scrum process.

Uploaded by

nirthisingh58
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

SOFTWARE ENGINEERING TUTORIAL 3

1. Explain the “Silo’d” approach to software development


The “Silo’d” approach refers to a traditional software development structure where distinct
teams (Business, Development, QA, and Operations) work in isolation. Each team functions
independently, leading to a lack of communication and collaboration between them.

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.

4. Explain the need for a DevOps approach.


DevOps is needed to eliminate the disconnect between development and operations. It
promotes continuous collaboration, automation, and early involvement of all stakeholders to
improve deployment speed, stability, and delivery of business value.

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.

6. Provide a viable definition for the concept/strategy/principle referred to as DevOps.


DevOps is a cultural and technical approach that integrates development and operations to
enable continuous, stable, and fast delivery of software. It emphasizes collaboration,
automation, and shared responsibilities to improve quality and time-to-market.
7. Provide a detailed explanation of the phases involved in the development-delivery-
deployment pipeline by making reference to:
a. Continuous Integration (CI):
Developers frequently commit code to a shared repository. A CI server detects changes, runs
automated tests, and alerts developers to issues. This keeps the system stable and reduces
integration issues.
b. Continuous Delivery:
Software that passes CI is always in a deployable state. Although not released automatically, it
is production-ready and can be deployed with minimal effort.
c. Continuous Deployment:
Every code change that passes automated tests is immediately deployed to production. This
process is controlled to avoid overwhelming users and align with business priorities.

8. Make use of a UML sequence diagram to illustrate CI as an integral component of Scrum


software development methodology.

9. Explain the main problem with current software development methodology.


The main issue is the lack of continuity between development and operations. CI is often not
integrated into Scrum, and the term “done” usually refers to development completion rather
than production readiness. This causes deployment delays and reduces business value.

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.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy