0% found this document useful (0 votes)
209 views37 pages

Introducing Agile Methodologies

The document introduces agile methodologies for software development. It discusses traditional software development processes and some of their limitations. It then introduces concepts of agile like iterative development, customer collaboration, and responding to change. Specific agile methodologies like eXtreme Programming (XP), Scrum, Lean, and Kanban are explained at a high level.
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)
209 views37 pages

Introducing Agile Methodologies

The document introduces agile methodologies for software development. It discusses traditional software development processes and some of their limitations. It then introduces concepts of agile like iterative development, customer collaboration, and responding to change. Specific agile methodologies like eXtreme Programming (XP), Scrum, Lean, and Kanban are explained at a high level.
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/ 37

Introducing Agile

Methodologies
Speaker

Dmitry Buzoverya
o Director of Cloud Computing Department
o Over 15 years of Software Development
experience
o Over 10 years of Team Management
experience
o In AMC Bridge since 2001
Traditional Software Development Process

Is it good or bad?

The main feature that we deliver all at once


Sometimes Traditional Software Development
Process is not so good

½ way? Out of time? Cut here

Houston, we have a problem!

In most cases when customer doesn’t care about the cost of changes – it is not so bad.
Simple truths

o It is very hard to gather all requirements at the


beginning of project (especially in case of 5
lines of spec from customer);
o There is a need to handle new client
requirements;
o Some customers require to show some
progress;
o It is hard for customer to trust that team goes
in the right direction.
Transformation
Time

Something is complete, 0% usable

Traditional

About 25% complete, 100% usable


History: The Agile Manifesto
2001 February + ‘The Lodge’ at Snowbird Ski Resort + 17 Thinkers =
Agile Manifesto
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

That is, while there is value in the items on


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

Extreme Programming (XP)

Scrum

Lean

Kanban


eXtreme Programming
eXtreme Programming (XP)

Planning

o User stories are written


o Release planning creates the release schedule
o Make frequent small releases
o The project is divided into iterations
o Iteration planning starts each iteration
eXtreme Programming (XP)

Managing

o Give the team a dedicated open work space


o Set a sustainable pace
o A stand up meeting starts each day
o Move people around
o Fix XP when it breaks
o The Project Velocity is measured
eXtreme Programming (XP)

Designing
o Simplicity
o Choose a system metaphor
o Use CRC cards for design sessions
o Create spike solutions to reduce risk
o No functionality is added early
o Refactor whenever and wherever possible
eXtreme Programming (XP)

Coding

o The customer is always available


o Code must be written to agreed standards
o Code the unit test first
o All production code is pair programmed
o Only one pair integrates code at a time
o Integrate often
o Set up a dedicated integration computer
o Use collective ownership
eXtreme Programming (XP)

Testing

o All code must have unit tests


o All code must pass all unit tests before it can be
released
o When a bug is found tests are created
o Acceptance tests are run often and the score is
published
Scrum
Scrum

o Focus on delivering the highest business value


in the shortest time
o Allows easy inspect actual working software
o Business sets the priorities
o Teams self-organize to determine the
best way to deliver the work
o Every sprint anyone can see real
working software and decide to
release it as is or continue to enhance
it in the next sprint
Lean
Lean

o Eliminate Waste
o Amplify Learning
o Decide as late as possible
o Deliver as fast as possible
o Empower the team
o Build integrity
o See the whole
Kanban
Kanban

Stop starting, start finishing.

o Visualize Workflow
o Limit Work in Process
o Measure and Improve Flow
Do we really need Agile?
Summary

Agile is not 100% recipe for success

Requirements management is a critical part of success

Methods can be applied according to certain circumstances – case by case decision

Risk and failure are both nature of software projects


Resources

o http://www.agilenutshell.com/
o http://www.agilemanifesto.org/
o http://www.extremeprogramming.org/
o http://www.scrumguides.org/
o scrum.org.ua
303 Wyman Street, Suite 300
Waltham, MA 02451, USA

You might also like