0% found this document useful (0 votes)
60 views

Scrum Training Notes - Week 1

The document provides an overview of agile development practices and compares it to traditional waterfall development models. It discusses the agile manifesto and principles and describes popular agile methodologies like Scrum, Extreme Programming, Kanban and DSDM.

Uploaded by

uzojimba
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views

Scrum Training Notes - Week 1

The document provides an overview of agile development practices and compares it to traditional waterfall development models. It discusses the agile manifesto and principles and describes popular agile methodologies like Scrum, Extreme Programming, Kanban and DSDM.

Uploaded by

uzojimba
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Scrum Quick Guide

Week 1
Introduction

One of the most popular buzzwords in the software development business today is agile.
But what does agile development actually mean? Agile development is, to put it in simple
terms, a different approach to managing software development teams and projects.

First, let's review the conventional approaches so you can see what is new. Prior to starting
the development process in traditional software development, the product requirements
are finalised.

Waterfall Model
The Waterfall Model, as shown in the following diagram, is the most popular software
development model containing this feature. However, modifications are frequently added,
and previous requirements can sometimes change.

The structure of the waterfall model does not allow for such frequent changes in
requirements. The user won't fully understand the product's functioning unless it is made
available in its entire form.

2
The waterfall model initially was used in the manufacturing and construction industries. But
in the 50's it started being used for software development as well. It is also referred to as a
Linear -Sequential Life Cycle model because it follows a pattern which is completing
phase by phase.

Meaning, a phase has to be completed before moving on to the next phase and there's no
going back to the previous phase.

Requirements Gathering

In this phase the requirements are gathered by the business analyst and they are analysed
by the team. The Business Analysts document the requirement based on their discussion
with the customer. Will the new banking application be used in more than one country? Do
we have to support multiple languages? How many users are expected to use the
application? etc

System Design

The architect and senior members of the team work on the software architecture, Which is
designing the software. It is decided that the banking application needs to have redundant
backup and failover capabilities such that system is accessible at all times. The architect
creates the Architecture diagrams and high level / low level design documents.

Implementation

The development team works on coding the project. They take the design documents and
ensure that their solution follows the design finalised by the architect. Since the application
is a banking application and security was a high priority in the application requirements,
they implement several security checks, audit logging features in the application.

3
Testing

The testing team tests the complete application and identifies any defects in the
application. These defects are fixed by the developers and the testing team. Security testing
teams were assigned to test the security of the banking application. After that they'll deploy
the software.

Maintenance

During the maintenance phase, the team ensures that the application is running smoothly
on the servers without any downtime. Issues that are reported after going live are fixed by
the team and tested by the testing team.

The waterfall method involves the idea that you cannot move on to the next stage of
building something until the stage before it has been completed.

It’s a very rigid framework, which doesn’t allow development teams any flexibility, meaning
there is no time to adapt to change and, as anyone will tell you, technology changes fast.

Something new was needed to allow companies to try, fail, try again, and succeed, at the
same rate that technology was evolving.

Agile
Agile is built on incremental iterative development, in which team collaboration allows for
the evolution of requirements and solutions. It encourages quick and adaptable responses
to change and suggests an iterative process which is timeboxed.

Agile is a term used to describe approaches to software development emphasising


incremental delivery, team collaboration, continual planning, and continual learning,
instead of trying to deliver it all at once near the end.

4
Agile focuses on keeping the process lean and creating minimum viable products (MVPs)
that go through a number of iterations before anything is final.

Feedback is gathered and implemented continually and in all, it is a much more dynamic
process where everyone is working together towards one goal.

It is theoretical knowledge and makes no specific recommendations regarding the


procedures a development team should use.

Agile Manifesto
Software engineers created the Agile Manifesto in 2001, emphasising the value of the
development team, the necessity to adapt to changing requirements, and the importance
of customer interaction.

The manifesto is a set of 4 values and 12 principles that describe “What is meant by
Agile".

The Agile Manifesto is as follows:

“We are uncovering better ways of developing software by doing it and helping others do it.

Through this work, we have come to value:

1. Individuals and interactions over processes and tools: Importance needs to be given
to: self-organisation and self-motivation of the team members, continuous
interaction for work, clarifications, information among the team members
2. Working software over comprehensive documentation: Delivery of working software
at short duration intervals helps gain customer trust and assurance in the team.
3. Customer collaboration over contract negotiation: Constant involvement of
customers with the development team ensures communication of necessary
modifications.
4. Responding to change over following a plan: Focus on quick response to the
proposed changes, which is made possible with short duration iterations.

5
That is, while there is value in the items on the right, we value the items on the left
more."

The Agile Principles


1. Our highest priority is to satisfy the customer through early and continuous delivery
of valuable software.
2. Welcome changing requirements, even late in development. Agile processes
harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months,
with a preference to the shorter time-scale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and
support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and
users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity – the art of maximising the amount of work not done – is essential.
11. The best architectures, requirements, and designs emerge from self-organising
teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes
and adjusts its behaviour accordingly.

The Agile Manifesto's key tenet is that we must have faith in people and their
capacity for cooperation. Because of this, these particular agile approaches
emphasise teamwork and collaboration throughout the course of the project,
thereby maximising the potential of team members.

6
Different Subsets of Agile
Agile is a concept, not a particular methodology, according to the word. Agile encompasses
a variety of approaches, some of which may be in conflict with one another. These include;

Dynamic System Development Methodology DSDM

It is a flexible framework for software projects. It was used to polish the conventional
methods. DSDM Atern is the name of the most recent version of DSDM.

The word Atern is an acronym for Arctic Tern, a seabird that can fly great distances and is
used to symbolise several aspects of the system, including prioritisation and collaboration.

Scrum

It focuses specifically on how to handle tasks within a team-based development


environment, making it the most well-known agile framework. With shorter iteration times,
Scrum uses an incremental and iterative development paradigm. Scrum focuses on
frequent and quick deliveries and is comparatively easy to deploy.

Extreme Programming XP

It promotes frequent releases with quick development cycles in an effort to increase


productivity and create checkpoints for incorporating new customer requirements. The
name of the methodology is derived from the notion that the positive aspects of traditional
software engineering practices are magnified to the highest degree.

Extreme Programming is a software development discipline that organises people to more


effectively build higher-quality software. Innovative methods used in XP's analysis,
development, and test phases significantly improve the final product's quality.

Kanban

It is a method for enhancing and maintaining high levels of productivity. Kanban is one tool
used by businesses to implement Just-In-Time (JIT), a tactic used to reduce inventory costs.

7
Kanban evolved into a useful tool for managing a production system as a whole and proved
to be a great approach to encourage development.

KEY POINTS

There have been an increasing number of success stories over the past ten years showing
how organisations have used agile practices to significantly increase the productivity and
success of their IT development teams and projects. Agile has been widely embraced as a
result across many industries, including media and technology, big businesses, and even
the government.

Agile Framework helps teams to benefit from:

● Faster Time to Deliver/ Market


● Reduce Uncertainty and Risk
● Increase Return on Investment ROI by focusing on Customer Value

You might also like