0% found this document useful (0 votes)
35 views75 pages

Scrum Framework in Agile Development

Uploaded by

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

Scrum Framework in Agile Development

Uploaded by

n.ramesh9632
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

SOFTWARE ENGINEERING

(CSE 2014)
Presidency School of Computer Science and
Engineering
Assessment Schedule
Course Duratio
S. Assessment Mark Weighta
Contents Outcome n In DATE
No type s ge
Number Hours
Surprise Test - 10.09.24 -
1 Module 1 CO1 30 Mins 10 5%
1 14.09.24
Assignment - 22.10.24 -
2 Module 2 CO2 1 week 10 5%
1 26.10.24
Module 1 & 15.10.24 -
3 Mid Term CO1 & CO2 90 Mins 50 25%
2 21.10.24
Surprise Test - 11.11.24 -
4 Module 3 CO3 30 Mins 10 5%
2 15.11.24
Assignment - 09.12.24 -
5 Module 4 CO4 1 week 10 5%
2 14.12.24
Module 3 & 16.12.24 -
6 Presentation CO3 & CO4 30 Mins 10 5%
4 20.12.24
Module – 1 CO1, CO2, 180 05.01.25 -
7 End Term 100 50%
to 4 CO3,CO4 Mins 15.01.25
Module - 3
Agile Principles & DevOps

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.
CO3: Understand the Agile and DevOps
Principles
Introduction to Agile
Definition:
• Agile is an iterative, flexible software development methodology
focused on customer collaboration, adaptability, and rapid
delivery of product increments.

Main Components:
• Iterations (Sprints), Customer Feedback, Collaboration.
Need for Agile Methodology
Customer Involvement
• Continuous engagement and feedback from customers ensure the
final product aligns with their needs.
Flexibility
• Agile allows quick adaptation to changes, even late in
development.
Faster Releases
• Rapid, small releases reduce time-to-market.
Continuous Improvement
• Agile promotes regular reflection and process optimization.
Agile vs Traditional SDLC
Popular Agile Frameworks
Scrum
• Short iterations (sprints), daily stand-up meetings, defined roles
(Scrum Master, Product Owner).

Kanban
• Visualize workflow, limit work in progress, continuous delivery
without set sprints.

Extreme Programming (XP)


• Emphasizes technical excellence, frequent releases, and customer
involvement.
Key Benefits of Agile
Reduced Risk
• Continuous feedback reduces the risk of failure.
Improved Product Quality
• Integrated testing ensures high quality.
Better Collaboration
• Agile fosters stronger communication between teams and
stakeholders.
Faster Feedback Loops
• Quick adjustments based on real-time feedback.
Companies Using Agile
Spotify:
• Customized "Spotify Model" for autonomous squads.
Amazon:
• Rapid iteration and feature releases with customer focus.
Google:
• Agile across products like Google Cloud and Android.
Netflix:
• Fast feature development for improving user experience.
Microsoft:
• Agile in Azure and Office 365 for continuous delivery.
Challenges of Scaling Agile
Large Teams
• Coordination between multiple Agile teams is complex.
Balancing Long-Term Planning
• Iterations focus on short-term goals, leading to potential oversight
of long-term objectives.
Managing Scope Creep
• Agile's adaptability can cause unchecked feature expansion if not
controlled.
L21: Scrum Roles and activities

LO1: Define agile principles and scrum diagram


LO2: Describe SCRUM activities
Agile Technology
• A way to manage a project by breaking it up into several
phases

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
• Responsible for ensuring a Scrum team is operating as effectively
as possible with Scrum values.

Some of the responsibilities are:


• Facilitate daily Scrum meetings
• Lead sprint planning meetings
• Conduct “retrospective” reviews
• Keep a pulse on team members
• Manage obstacles that arise for the team
SCRUM Roles
2. Product owner
Ensures the Scrum team aligns with overall product goals.

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
[Link] team
Is composed of professionals who do the hands-on work of
completing the tasks in a Scrum sprint.

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
Five Scrum Events

• Sprint
• Sprint Planning
• Daily Scrum
• Sprint Review
• Sprint Retrospective.
Sprint Planning
• Takes place on the first day of the Sprint.
• Main 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?”.
• Topic Two covers the “What?”.
• Topic Three deals with the “How?”.
Daily Scrum
• Analyze where they are in respect to the Sprint Goal
• It is a planning meeting, not a generic synchronization meeting.
• To focus the important Sprint Backlog Items
• The SM should help create the right environment to encourage open
communication, identify obstacles, and promote quick decision-
making.
Sprint Review
• Is a Scrum event that takes place at the end of the sprint, just
before the retrospective.
• 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.
• Is the only event in Scrum that is exclusive to the Scrum Team.
• 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.
• 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.
• A new sprint starts immediately after the current sprint ends.
Agile Estimation
• 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 which,


in turn, leads to accurate sprint planning.

• 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
Agile Estimation Techniques
1. Three-point estimate
• This requires the creation of three values and finding their mean:
• Most likely estimate, Optimistic estimate and Pessimistic estimate
• Example:
For Activity A, the three values for the estimated time are as
follows:
• Optimistic (o) = 4 hours
• Most likely (m) = 8 hours
• Pessimistic (p) = 16 hours

• Calculating the mean will give us the estimated time:


E = (4 + 8 + 16 ) / 3 =>E = 28 / 3 = 9.3 hours
Agile Estimation Techniques
2. Planning Poker

• The team members vote for an estimate of an item using specially-


numbered playing cards.
• Anonymous voting takes place, and discussions are held regarding large
differences.
• The process is repeated until the entire team reaches a consensus about
the accurate estimation.
• The technique is suitable for estimating a relatively small number of
items (maximum 10) in a team of 5-8 people.
Agile Estimation Techniques
3. Affinity Grouping

• This approach works by looking for correlations between the


estimated objects. They are to be grouped by the team.

• A card with the word 'Smaller' written on it is placed on the extreme


left of a wall or a board, while a card with the word 'Larger' is placed
on the extreme right.

• Teams are asked to prioritize the stories based on this after


considering the effort required to execute them.
Agile Estimation Techniques
4. Random Distribution

• Its a technique that organizes tasks from low priority to high priority.
• The facilitator begins this technique by providing participants with a
list of tasks on a horizontal line.
• The least important tasks go on the left side of the line and the most
important go on the right side.
• The team members then take turns moving an item up or down in
importance and discussing their move.
• The process ends when everyone passes, showing they all agree with
the priority levels for the tasks.
Agile Estimation Techniques
5. T-Shirt Sizes

• Facilitators divide a set of T-shirts into groups based on size, and each
T-shirt size correlates with the level of difficulty or time requirements.

• The larger T-shirts represent larger orders that require more time and
resources, while the smaller T-shirts represent smaller orders.

• Each team member chooses the T-shirt size that represents the amount
of work they think is necessary for that project.

• If everyone's choices match, the exercise concludes.


Agile Estimation Techniques
6. Buckets

• The facilitator creates numerous buckets represented by pieces of


paper.
• Each bucket has a number corresponding to the level of difficulty or
the time requirements for project tasks.
• The facilitator begins by placing one task, typically written on a
sticky note, in a bucket.
• Teams may discuss each task during the process or wait until all tasks
are in a bucket.
• The assignment concludes when participants place all tasks in the
buckets.
Agile Estimation Techniques
7. Large, small, uncertain

• The facilitator places topics or projects in front of group participants


and asks them to rate.

• Team members can then discuss why they believe each item should
rank as a big or small or uncertain task.

• The assignment concludes when the participants rank each of the


tasks.
Agile Estimation Techniques
8. Dot Voting

• This technique involves participants using dot stickers to vote on the


size of project tasks, with each sticker representing one vote.

• Each dot indicates the time and resources necessary to complete a


specific project task.

• For example, a task that receives fewer dots represents a simpler


project task.

• It also helps ensure everyone agrees on the time and effort


necessary for each task.
Agile Estimation Techniques
How to choose the best suitable Agile Estimation Technique:

It depends on the size and experience of the team, as well as the kind
of backlogs that needs to be sorted.

• Planning Poker: Teams experienced with Agile Estimation, with the


intent to prioritize backlogs.

• Bucket System: Teams, who are inexperienced with Agile Estimation,


with the intent to prioritize large backlogs.

• Dot Voting: Teams who are experienced with Agile Estimation and with
the intent to prioritize large backlogs.
Agile Estimation Techniques
How to choose the best suitable Agile Estimation Technique:

• Big, Uncertain, Small: Teams who are inexperienced with Agile


Estimation.

• T-Shirt Sizing: Teams who are inexperienced with Agile Estimation,


with large backlogs.

• Affinity Mapping: Teams experienced with Agile Estimation with the


intent to prioritize large backlogs.
Stakeholder Roles

 Anyone having any type of relation/interest in the project is known as


stakeholder.

 It refers to a person, group or company that is directly or indirectly


involved in the project and who may affect or get affected by the
outcome of the project”.

Dept. of CSE, SOE, Presidency University


38
Dept. of CSE, SOE, Presidency University
39
Type of Stakeholders:
[Link] Stakeholder:
-Person, group or a company that is directly involved in the project.

a)Project Manager:

• Responsible for managing the whole project.


• controls, monitors and manages the activities involved in the
production.

b)Project Team:
Performs the actual work of the project under the Project
Manager including development, testing, etc.
c) Company:
Organization who has taken up the project and whose employees are
directly involved.
d) Funders:
Provides funds and resources for the project.

2. External Stakeholder:

• The one who is linked indirectly to the project but has significant
contribution in the successful completion of the project.

a) Customer:
Customer is the one for whom the project is being developed.
b) Supplier:
Supplies essential services and equipment for the project.
c) Government:
Makes policies which helps in better working of the organization.
Dynamic Systems Development Method
(DSDM)

• DSDM is an Agile method that focuses on the full project lifecycle.

• Philosophy: “any project must be aligned to clearly defined strategic


goals and focus upon early delivery of real benefits to the business.”

• Supporting this philosophy with the eight principles allows teams to


maintain focus and achieve project goals.
DSDM life cycle
DSDM Lifecycle
Feasibility Study:
• It establishes the essential business necessities and constraints related to
be designed then assesses whether or not the application could be a
viable candidate for the DSDM method.

Business Study:
• It establishes the use and knowledge necessities that may permit the
applying to supply business value; additionally, it is the essential
application design and identifies the maintainability necessities for the
applying.
DSDM Lifecycle
Functional Model Iteration:
• It produces a collection of progressive prototypes that
demonstrate practicality for the client.

• The intent throughout this unvarying cycle is to collect further


necessities by eliciting feedback from users as they exercise
the paradigm.
DSDM Lifecycle
Design and Build Iteration:

• It revisits prototypes designed throughout useful model


iteration to make sure that everyone has been designed during
a manner that may alter it to supply operational business price
for end users.

• In some cases, useful model iteration and style and build iteration
occur at the same time.
DSDM Lifecycle
Implementation:
• It places the newest code increment (an “operationalized” prototype)
into the operational surroundings.

• It ought to be noted that:


• Increment might not 100% complete or
• Changes are also requested because the increment is placed into place.
• In either case, DSDM development work continues by returning to the useful
model iteration activity.
Dynamic Systems Development Method
(DSDM)
The Eight Principles of DSDM:

1. Focus on the business need:


The team must have total, crystal-clear comprehension of the project’s
priorities so that each decision helps to achieve the defined goals.

2. Deliver on time:
DSDM works with fixed timeboxes and iterations to create a product.

3. Collaborate:
Teams should work as a singular unit to create quality products with real
value baked into every feature.
Dynamic Systems Development Method
(DSDM)
The Eight Principles of DSDM:

4. Never compromise on quality:


DSDM follows streamlining processes and avoiding waste but reminds us to
never sacrifice quality.

5. Build incrementally from firm foundations:


The foundations don’t need to have too much detail, just enough to define the
problem and how you intend to solve it.

6. Develop iteratively:
Teams using the DSDM agile framework will build the product incrementally to
ensure maximum value.
Dynamic Systems Development Method
(DSDM)
The Eight Principles of DSDM:

7. Communicate continuously and clearly:


DSDM teams need to be transparent. This is enabled through
daily stand-ups, sprint reviews, and prototyping.

8. Demonstrate control:
Project Managers can demonstrate control by ensuring that all
progress is visible and progress is measured by deliverables.
Agile software development
methods

Department of Computer Science and Engineering


School of Engineering, Presidency University
Agile software development
 Agile software development -- is a type of development
methodology that anticipates the need for flexibility and applies a
level of pragmatism to the delivery of the finished product.

 Agilesoftware development requires a cultural shift in many


companies because it focuses on the clean delivery of individual
pieces or parts of the software and not on the entire application.

Dept. of CSE, SOE, Presidency University


52
Scaling
• The process of translating established Agile
methods, like Scrum and Kanban, to larger groups
of people.
• Traditional Agile teams, according to the Scaled
Agile Framework (SAFe), work best with groups
of five to eleven members.
• As companies see success in these small groups,
they often want to replicate it at a larger team,
department, or organizational level.
That’s where scaling Agile comes in.
Scaling Agile is a systematic approach for achieving
enterprise wide goals, by extending an
organization’s existing implemented agile
framework to multiple teams.
Dept. of CSE, SOE, Presidency University
53
There are two conventional ways

Bottom up and Top down


 For a bottom up approach, you need to start
scaling from the team level and go upwards to
other teams and management in the organization.

 The top down approach is when the agile transition


is embraced by the higher management first, and
then it trickles down to the team level.

Dept. of CSE, SOE, Presidency University


54
Popular Scaling
Agile models

• Scaled Agile Framework (SAFe)


• Disciplined Agile (DA)
• Large Scale Scrum (LeSS)
• Tribe

Dept. of CSE, SOE, Presidency University


55
Benefits of
Scaling Agile
• Following consistent process and practices
• Getting executive support from stakeholders
• Using common tools across the teams
• Consultation or help from agile coaches
• Strong foundation of contextual agile knowledge
• Shorter time to market
• More flexible and responsive work environment
• Mutual respect for co-workers
• Increased overall productivity
• Decentralized decision making

Dept. of CSE, SOE, Presidency University


56
User Stories

• In Agile software development and product


management User Story refers to a short, informal, and
simple description of software features that are
required by the end-users in the software system.
• Its main purpose is to provide software features that
will add value to the customer requirements.
• User stories are considered an important tool in
Incremental software development.
• Mainly a user story defines the type of user, their
need, and why they need that.
• So in simple, a user story is a simple description of
requirements that needs to be implemented in the
software system.

Dept. of CSE, SOE, Presidency University


57
Pattern of User Story
User stories are completely from the end-user perspective which
follows the Role-Feature-Benefit pattern.

As a [ type of user ], I want [ an action ], so that [ some reason ]

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.

Dept. of CSE, SOE, Presidency University


58
Writing User Stories
• User stories are from a user perspective. So when user
stories are written, users are given more importance
during the process.
• Some points outlined which are taken into
consideration during writing user stories like
[Link]
[Link] and their subtasks
[Link] user
[Link] to user words/feedback
[Link] user stories for larger requirements

Dept. of CSE, SOE, Presidency University


59
Importance of creating User stories

1. Stories clear idea about requirements


2. Makes it easy to understand the features
3. Delivers higher customer satisfaction
4. Fasten development process
5. Creates an effective work environment
6. Enables collaboration between teams
7. Delivery of valuable software

Dept. of CSE, SOE, Presidency University


60
DEVOPS

1. Introduction
2. Definition
3. History
4. Tools
What is DevOps?
• Its a combination of two words Development and Operations.

Two teams:
• Development team - developing, designing and building the
application.
• Operation team - deployment and testing of the application.

• The operation team also provides feedback to the development


team.
History of Devops
Let us see some important events of DevOps :

• 2007-2008: The DevOps idea was started


• 2009: In the initial stage the first conference was ”
Deploys a day: Dev and Ops cooperation of
flicker.” Another conference called “DevOps Days in
Ghent, Belgium” also happened.
• 2010:DevOps conference happened in the United States
at mount view, calif.
History of DevOps

• 2012: Allana browns at puppet creates a state of DevOps


report
• 2014: Publishing the annual “State of DevOps report”
• 2017: Forrester Research calls 2017 “The Year of DevOps

• 2018: 30 DevOps day conferences were scheduled across
the united states.
Why did we need DevOps?

• As we know about the problems faced in traditional models


like in the waterfall model there is a problem of a one-way
stream of work.
• Due to which if there is any mistake the whole process
repeats and there is no interaction with customers.
• Now, this is solved in agile by splitting the whole
development plan into several iterations for a better level of
production efficiency.
Why did we need DevOps?
• The agile model also includes customer interaction with
the company to rectify the mistakes.
• Here, the problem arises when the development team
continuously changes the code for better performance
and sends the code to the operations team for testing.
• But there may be a delay in the operations team feedback
in situations like if the developers sent code for review at
night but due to the unavailability of the operations team,
there will be a delay in the project feedback.
Why did we need DevOps?

• So, DevOps is the solution to this problem.


• DevOps is a practice or a methodology in which the
development team and operations team work together by
including automation at the initial stages.
• So they can work on rapidly changing systems, fix bugs,
and help to deliver a good quality of software in time.
Why did we need DevOps?
DevOps Architecture:
DevOps Architecture:
• Plan – In DevOps planning plays an important role. In this
stage, all the requirements of the project and everything
regarding the project like time for each stage, cost. etc are
discussed.
• Code – In this Stage the code is written over here
according to the client’s requirements. Here the code is
divided into small codes called Units. Some of the
examples of the tools used are Git, JIRA
• Build – In this stage Building of the units is done. Some of
the examples of the tools used are maven, Gradle.
DevOps Architecture:

• Test – Testing of all units is done in this stage. So we will get


to know where exactly the code is having bugs and if there
are mistakes found it is returned. Some of the examples of the
tools used are Selenium, Pytest
• Integrate – In this stage, all the units of the codes are
integrated. That means in this step we will be creating a
connection between the development team and the operation
team to implement Continuous Integration and Continuous
Deployment. An example of the tool used is Jenkins.
• Deploy – In this stage, the code is deployed on the client’s
environment. Some of the examples of the tools used are
AWS, Docker.

Dept. of CSE, SOE, Presidency University


71
DevOps Architecture:

• Operate – Operations are performed on the code if


required. Some of the examples of the tools used are
Kubernetes, open shift.
• Monitor – In this stage monitoring of the application is
done over here in the client’s environment. Some of the
examples of the tools used are Nagios, elastic stack.

Dept. of CSE, SOE, Presidency University


72
How is DevOps different from Agile?
vOps Agile

vOps deals with filling the time gap between


Agile methodology deals with filling the ga
e development team and the operations
between customers and the company.
m.

re the feedback will be coming from the Here the feedback will be coming from the
erations team to the development team. customers to the company.

ocuses on constant testing and delivery. It focuses on constant changes.

Some of the tools used for Agile: JIRA, Bug


me of the tools used in DevOps: Puppet, AWS Kanboard

Dept. of CSE, SOE, Presidency University


73
DevOps automation tools
• These are some of the popular DevOps automation tools:
• Jenkins. Jenkins. Jenkins is an open source and free automation
server that helps automate software development processes such
as building, facilitating CI/CD, deploying, and testing. ...
• Docker. Docker. ...
• Puppet. Puppet. ...
• Apache Maven. Apache Maven. ...
• Gradle. Gradle.
• END OF MODULE - 3

You might also like