MODULE 3 Updated
MODULE 3 Updated
(CSE 2014)
Module 3
Agile Principles & Devops
Department of Computer Science and Engineering
School of Engineering,
PRESIDENCY UNIVERSITY
Module 3
• Agile: Scrum Roles and activities, Sprint Agile software
development methods - Scaling, User Stories, Agile estimation
techniques, Product backlogs, Stake holder roles, Dynamic System
Development Method.
• Devops: Introduction, definition, history, tools.
Agile Technology
• The Agile methodology is a way to manage a project by
breaking it up into several phases. It involves constant
collaboration with stakeholders and continuous improvement at
every stage.
• Once the work begins, teams cycle through a process of
planning, executing, and evaluating.
The Key Values and Principles of the Agile Manifesto
• Individuals and interactions over processes and tools.
• Working software over comprehensive documentation.
• Customer collaboration over contract negotiation.
• Responding to change over following a plan.
SCRUM Roles
1. Scrum Master
• A Scrum Master is responsible for ensuring a Scrum team is
operating as effectively as possible with Scrum values.
Some of the responsibilities are
• Facilitate daily Scrum meetings (also called “daily standups”)
• Lead sprint planning meetings
• Conduct “retrospective” reviews to see what went well and what
can be improved for the following sprint
• Keep a pulse on team members, through individual meetings or
other means of communication.
• Manage obstacles that arise for the team by communicating with
stakeholders outside of the team
SCRUM Roles
2. Product owner
A product owner ensures the Scrum team aligns with overall
product goals. They understand the business needs of the product,
like customer expectations and market trends.
Some of the responsibilities are
• Manage the product backlog by ordering work by priority
• Set the product vision for the team
• Communicate with external stakeholders and translate their
needs to the team
• Make sure the team is focused on hitting product needs through
communication and evaluating progress
SCRUM Roles
3.Development team
A development team is composed of professionals who do the
hands-on work of completing the tasks in a Scrum sprint. This
means development team members can be computer engineers,
designers, writers, data analysts, or any other role needed to reach
sprint goals.
Some of the responsibilities are
• Help in sprint planning and goal setting
• Lend expertise to program, design, or improve products
• Use data to find best practices for development
• Test products and prototypes, plus other forms of quality assurance
SCRUM Activities
• There are five Scrum Events,
• Sprint
• Sprint Planning
• Daily Scrum
• Sprint Review
• Sprint Retrospective.
Sprint Planning
• The Sprint Planning event takes place on the first day of the Sprint.
• Its purpose is to plan the work to be done during the Sprint and the
whole Scrum Team is involved in this event.
• Sprint Planning should have roughly three parts. Topic One should
focus on the “Why?”. The outcome should be a defined Sprint Goal.
Topic Two covers the “What?”. During this topic, the developers
should work to decide which Product Backlog Items are going to be
worked on during the Sprint, and if necessary, refine the Sprint Goal
to reflect this. Finally, Topic Three deals with the “How?”. During this
final stage of the meeting, the developers create an actionable plan
to get the work done.
Daily Scrum
• The Daily Scrum is the moment where the Developers step back for
15 minutes, analyze where they are in respect to the Sprint Goal,
and collectively decide what is the most important thing each
Developer has to do in the next 24 hours to get closer to the Sprint
Goal.
• It is a planning meeting, not a generic synchronization meeting.
• It is important to focus the conversation on the most important
Sprint Backlog Items, not on individuals stating what they have
done.
• The Daily Scrum is not a status report meeting. The SM should help
create the right environment to encourage open communication,
identify obstacles, and promote quick decision-making.
Sprint Review
• The sprint review is a Scrum event that takes place at the
end of the sprint, just before the retrospective.
• The purpose of the review is to evaluate the latest features and
to consider the plan for the product in the future.
• The purpose of the Sprint Review is to inspect the outcome of
the Sprint and determine future adaptations.
• The Scrum Team presents the results of their work to key
stakeholders and progress toward the Product Goal is
discussed.
Sprint Retrospective
• The final Scrum Event is the Sprint Retrospective.
• The Sprint Retrospective is the only event in Scrum that is
exclusive to the Scrum Team.
• The intention is to create a safe space where everyone in the
Scrum Team feels comfortable to openly share their observations
and express their views and ideas.
• The purpose of the event is to inspect how the last Sprint went
and plan ways to increase quality and effectiveness.
Scrum vs. sprint
• Scrum is the specific, framework used under the Agile umbrella
to develop complex products. The term scrum is also used to
describe the daily, standup meetings that occur during a sprint.
• Sprints are time-boxed periods of one week to one month,
during which a product owner, scrum master, and scrum team
work to complete a specific product addition. During a sprint,
work is done to create new features based on the user stories
and backlog. A new sprint starts immediately after the current
sprint ends.
Agile Estimation
• Agile estimation is the process for estimating the effort
required to complete a prioritized task in the product
backlog. This effort is usually measured with respect to the
time it will take to complete that task, which, in turn, leads to
accurate sprint planning.
• Agile estimation helps for proper planning, management and
estimation of the total efforts that will be used for implementing,
testing and delivering the desired product to the customers in
terms of time within the specified deadlines. A well-prepared
preliminary estimate is essential.
Agile Estimation Techniques
• Three-point estimate
• Planning poker
• Affinity grouping
• Random distribution
• T-shirt sizes (Estimation units)
• Buckets
• Large, small, uncertain
• Dot voting
Stakeholder Roles
For example :
As the project manager of a construction team, I want our team-
messaging app to include file sharing and information update so that
my team can collaborate and communicate with each other in real-time
as a result the construction project development and completion will be
fast.
1. Introduction
2. Definition
3. History
4. Tools
What is DevOps?
• The word DevOps is a combination of two words
Development and Operations.
• Before getting into what DevOps is, let us get an idea
about the two teams involved in software development.
• The development team is responsible for developing,
designing, and building the application.
• The operation team deals with the deployment and
testing of the application.
• If there are problems with the application, the operation
team also provides feedback to the development team.
History of Devops
Let us see some important events of DevOps :
DevOps Agile
DevOps deals with filling the time gap between the Agile methodology deals with filling the gap between
development team and the operations team. customers and the company.
Here the feedback will be coming from the Operations Here the feedback will be coming from the customers to
team to the development team. the company.
Some of the tools used in DevOps: Puppet, AWS Some of the tools used for Agile: JIRA, Bugzilla,
Kanboard