SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
The Agile
Movement
Modelos de Procesos y
Metodologías de Ingeniería de
software
Mayo de 2014
Universidad de Caldas
Facultad de Ingenierías
Maestría en Ingeniería Computacional
¡Welcome!
Content
Agile Methologies
The Agile Manifesto
Concrete agiles examples
CMMI & Agile
Sources
• Gerard O’Regan, Introduction to Software Process Improvement, Springer
2011. ISBN 978-0-85729-171-4
• Kenneth S. Rubin. Essential Scrum : a practical guide to the most popular
agile process. Copyright 2013 Pearson Education, Inc. ISBN 978-0-13-
704329-3
• Scott Ambler and Mark Lines. Disciplined Agile Delivery. A Practitioner’s
Guide to Agile Software Delivery in the Enterprise. Copyright 2012, IBM
Press. ISBN 978-0-13-281013-5.
• Joachim Rossberg and Mathias Olausson. Pro Application Lifecycle
Management with Visual Studio 2012. Apress, 2012. ISBN 978-1118314081
• Alan Shalloway et al. Essential Skills for the Agile Developer - A Guide to
Better Programming and Design. Copyright © 2012 Pearson Education, Inc.
ISBN 978-0-321-54373-8.
• Paul E. McMahon. Integrating CMMI® and Agile Development. 2011
Pearson Education, Inc. ISBN 978-0-321-71410-7.
Agile Introduction (I)
The Agile methodology / Agile development is a
software development methodology that claims
to be more responsive to customer needs than
traditional methods.
Agile Introduction (II)
Agile has a strong collaborative style of working and its
approach includes the following:
– Aim is to achieve a narrow fast-flowing value stream
– Feedback and adaptation employed in decision-making
– User stories and sprints are employed
– Stories are either done or not done
– Iterative and incremental development is employed
– A project is divided into iterations
– An iteration has a fixed length (i.e. Timeboxing is employed)
– Entire software development life cycle is employed for the
implementation of each story
– Change is accepted as a normal part of life in the Agile world
Agile Introduction (III)
– Delivery is made as early as possible
– Maintenance is seen as part of the development process
– Refactoring and evolutionary design employed
– Continuous integration is employed
– Short cycle times
– Emphasis on quality
– Stand-up meetings
– Plan regularly
– Direct interaction preferred over documentation
– Rapid conversion of requirements into working functionality
– Demonstrate value early
– Early decision-making
A tale about Agile (I)
In 2001 a group of people met at a Utah ski resort to talk, ski,
relax, and try to find common ground for software development.
This is the result:
“We are uncovering better ways of developing software by
doing it and helping others do it.
Through this work we have come to value:
• 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.”
A tale about Agile (II)
That is, while there is value in
the items on the right, we value
the items on the left more.
Kent Beck
Mike Beedle
Arie van Bennekum
Alistair Cockburn
Ward Cunningham
Martin Fowler
James Grenning
Jim Highsmith
Andrew Hunt
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave Thomas
www.agilemanifesto.org (I)
“On February 11-13, 2001, at The Lodge at
Snowbird ski resort in the Wasatch mountains of
Utah, seventeen people met to talk, ski, relax, and
try to find common ground and of course, to eat.
What emerged was the Agile Software
Development Manifesto. Representatives from
Extreme Programming, SCRUM, DSDM, Adaptive
Software Development, Crystal, Feature-Driven
Development, Pragmatic Programming, and others
sympathetic to the need for an alternative to
documentation driven, heavyweight software
development processes convened.”
www.agilemanifesto.org (II)
the Agile Manifesto lays down the following principles:
• 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.
www.agilemanifesto.org (III)
• 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.
www.agilemanifesto.org (IV)
• 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.
More about Agile history in:
http://setandbma.wordpress.com/2012/03/23/agile-history/
• SEMAT Deal (www.semat.org)
• The new deal for software development
(http://www.software-development-
experts.com/the-new-deal.aspx)
But, be careful with “Deals”
• Ongoing changes to requirements are
considered to be normal in the Agile world,
and it is believed to be more realistic to
change requirements regularly throughout the
project rather than attempting to define all of
the requirements at the start of the project.
• The methodology includes controls to
manage changes to the requirements, and
good communication and early regular
feedback are an essential part of the process.
Agile features - changes
• A story may be a new feature or a modification to an existing
feature. It is reduced to the minimum scope that can deliver
business value, and a feature may give rise to several
stories.
• Stories often build upon other stories and the entire software
development life cycle is employed for the implementation of
each story. Stories are either done or not done, i.e. there is
no such thing as a story being 80% done. The story is
complete only when it passes its acceptance tests.
• Stories are prioritized based on a number of factors including
– Business value of story
– Mitigation of risk
– Dependencies on other stories
Agile features – user stories
• Sprint planning is performed before the start of an
iteration. The goal is to assign stories to the iteration
to fill the available time. The estimates for each
story and their priority are determined, and the
prioritized stories are assigned to the iteration.
• A short morning stand-up meeting is held daily
during the iteration and attended by the project
manager and the project team. It discusses the
progress made the previous day, problem reporting
and tracking, and the work planned for the day
ahead. A separate meeting is conducted for issues
that require more detailed discussion.
Agile features – planning
• Once the iteration is complete the latest product
increment is demonstrated to an audience including
the product owner.
• This is to receive feedback as well as identifying
new requirements.
• The team also conducts a retrospective meeting to
identify what went well and what went poorly during
the iteration. This is to identify improvement actions
for future iterations.
Agile features – delivery
• Agile employs pair programming and a collaborative
style of working with the philosophy that two heads
are better than one.
• This allows multiple perspectives in decision-making
and a broader understanding of the issues.
Agile features – pair programming
• Software testing is very important and Agile
generally employs automated testing for unit,
acceptance, performance, and integration testing.
• Tests are run often and aim to catch programming
errors early. They are generally run on a separate
build server to ensure all dependencies are
checked.
• Tests are re-run before making a release.
• Agile employs test driven development with tests
written before the code. The developers write code
to make a test pass with ideally developers only
coding against failing tests.
• This approach forces the developer to write testable
code.
Agile features – testing
• Refactoring is employed in Agile as a design and
coding practice.
• The objective is to change how the software is
written without changing what it does.
• Refactoring is a tool for evolutionary design where
the design is regularly evaluated and improvements
implemented as they are identified.
• The automated test suite is essential in showing that
the integrity of the software is maintained following
refactoring.
Agile features – refactoring
• Continuous integration allows the system to be built
with every change.
• Early and regular integration allows early feedback
to be provided.
• It also allows all of the automated tests to be run,
thereby identifying problems earlier.
Agile features – integration
• AMDD
• Agile Modelling - Scott Ambler
• http://www.agilemodeling.com/style/
• TDD
• Refactoring
• Unit Testing
• Continuous Integration
• Pair development
• User stories
• Releasing
Most representative contributions
• http://www.extremeprogramming.org/
• http://xprogramming.com/index.php
• Extreme Programming (XP) is a
deliberate and disciplined approach
to software development. It stresses
customer satisfaction, an important
part of the Agile Manifesto. The
methodology is designed to deliver
the software the customer needs,
when it is needed. XP focuses on
responding to changing customer
requirements, even late in the life
cycle, so that customer satisfaction
(business value) is assured
eXtreme Programming (I)
• All code to be included in a production release is created by two
people working together at a single computer. This should
increase software quality without impacting time to delivery.
• The software should be delivered to the customers as early as
possible and a goal is to implement changes as suggested. XP
stresses that the developers should be able to courageously
respond to changing requirements and technology based on this
foundation.
• XP have user stories. These serve the same purpose as use
cases, but are not the same. They are used to create time
estimates for the project and also replace bulky requirements
documentation. The customer is responsible for writing the user
stories and they should be about things that the system needs to
do for them. Each user story is about three sentences of text
written by the customer in the customer’s own terminology without
any technical software jargon that a developer might use.
eXtreme Programming (II)
• XP also emphasizes teamwork. Managers, customers, and
developers are all part of a team dedicated to delivering high-
quality software. XP implements a simple and effective way to
handle team work.
• There are four ways XP improves software team work;
communication, simplicity, feedback, and courage.
• It is essential that XP programmers communicate with their
customers and fellow programmers. The design should be simple
and clean. Feedback is supplied by testing the software from the
first day of development.
• Testing is done by writing the unit tests before even writing the
code. This is called TDD and has started to become a very well
used practice in many projects, not only agile ones.
• Another important issue is that XP stresses the importance of
delivering working software in increments so that the customer
can give feedback as early as possible. By expecting that this will
happen, developers are ready for implementing changes.
eXtreme Programming (III)
SCRUM
Source:http://www.mozaicworks.com/agile/scrum/
Source:SCRUM México  http://scrum.org.mx/?page_id=7
“the rugby approach” (1986) - Harvard Business Review
Takeuchi and Nonacha argued that small cross-functional teams
produced the best results from a historical viewpoint.
http://www.sao.corvallis.or.us/drupal/files/The%20New%20New%
20Product%20Development%20Game.pdf
SCRUM (II) Source: http://www.axosoft.com/scrumvideo
SCRUM (III) Source: Disciplined Agile Delivery
The Scrum lifecycle
• Product backlog (work item list)
• Value-driven lifecycle
• Daily Scrum (coordination meeting).
• Sprint review and demonstration
• Sprint retrospective
• User story driven development (usage-driven
development).
See: http://www.implementingscrum.com/
SCRUM (IV)
• Release planning: it suggests abstracting the project plan to
a higher level that describes higher level milestones such as
delivery of small increments of demonstrable functionality.
These higher level plan items can then be allocated to a
set of sprints (iterations) over the life of the project.
• Sprint planning (iteration planning): At the beginning of the
sprint/iteration the team plans in detail what they will deliver
and how they will do the work. This involves taking a set of
highest priority requirements off the backlog and then
decomposing these requirements into detailed tasks. The
team estimates this work and commits to the product owner
that they will deliver the work according to the plan that they
have created themselves.
SCRUM (V)
You must know the Disciplined Agile Delivery of
Scott Ambler, in order to understand the value
of EPF process and libraries.
Key Issue
• Agile Modeling (AM) is a practice-based
methodology for effective modeling and
documentation of software-based systems.
• At a more detailed level AM is a collection
of values, principles, and practices for
modeling software that can be applied on
a software development project in an
effective and lightweight manner.
• AM was purposely architected to be a source
of strategies that can be tailored into other
base processes.
Agile Modelling (I)
• With an Agile Model Driven Development (AMDD)
approach you typically do just enough high-level
modeling at the beginning of a project to understand
the scope and potential architecture of the system.
• During construction iterations you do modeling as
part of your iteration planning activities and then
take a just-in-time (JIT) model storming approach
where you model for several minutes as a precursor
to several hours of coding.
• AMDD recommends that practitioners take a test-
driven approach to development although does not
insist on it
Agile Modelling (II)
Agile Modelling (III)
Source: Disciplined Agile Delivery
Agile Modelling (IV)
Source: Disciplined Agile Delivery and http://www.agilemodeling.com/
Agile Modelling Features
•Active stakeholder participation
•Architecture envisioning
•Document continuously
•Document late
•Executable specifications
•Iteration modeling
•Just barely good enough artifacts (sufficient artifacts)
•Look-ahead modeling
•Model storming
•Multiple models
•Prioritized requirements (work item list)
•Requirements envisioning
•Single source information
•Test-driven development (TDD)
Other agile methodologies
• Lean Development
• Kanban
• DSDM
• ASD
• Crystal
Comparison from DAD S. Ambler
Comparison from DAD S. Ambler
CMMI & Agile (I)
The CMMI model is not a set of dictated
practices. It is a model that is intended to be
used to “reason” about our processes to help
us ask the right questions leading to an
understanding of our weaknesses and areas
of needed improvement.
CMMI & Agile (II)
Source: Integrating CMMI and Agile Development
CMMI & Agile (III)
Source: Integrating CMMI and Agile Development
How CMMI and Agile Help Each Other (I)
Source: Integrating CMMI and Agile Development
Source: Integrating CMMI and Agile Development
How CMMI and Agile Help Each Other (II)
How CMMI and Agile Help Each Other (III)
Source: Integrating CMMI and Agile Development
Questions?
Thanks

Contenu connexe

Tendances

Intro to Agile and Lean Software Development
Intro to Agile and Lean Software DevelopmentIntro to Agile and Lean Software Development
Intro to Agile and Lean Software DevelopmentAleksejs Truhans
 
Sgin2013 scrum accomplished-industrialagilecasestudy-avinashrao
Sgin2013 scrum accomplished-industrialagilecasestudy-avinashraoSgin2013 scrum accomplished-industrialagilecasestudy-avinashrao
Sgin2013 scrum accomplished-industrialagilecasestudy-avinashraoIndia Scrum Enthusiasts Community
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentSynerzip
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computingAhmed M. Abed
 
Introducing Agile Development in Traditional Software Development Organizations
Introducing Agile Development in Traditional Software Development OrganizationsIntroducing Agile Development in Traditional Software Development Organizations
Introducing Agile Development in Traditional Software Development Organizationsjuliannacole
 
DevOps, Agile methods and Continuous Improvement in the Software development ...
DevOps, Agile methods and Continuous Improvement in the Software development ...DevOps, Agile methods and Continuous Improvement in the Software development ...
DevOps, Agile methods and Continuous Improvement in the Software development ...Paulo Traça
 
Agile Configuration Management Environments
Agile Configuration Management EnvironmentsAgile Configuration Management Environments
Agile Configuration Management EnvironmentsBrad Appleton
 
DevOps unraveled - Nyenrode masterclass on Agile Management
DevOps unraveled - Nyenrode masterclass on Agile ManagementDevOps unraveled - Nyenrode masterclass on Agile Management
DevOps unraveled - Nyenrode masterclass on Agile ManagementInspectie van het Onderwijs
 
DICK’S Sporting Goods: What is the Future of Retail in a Cloud App World?
DICK’S Sporting Goods: What is the Future of Retail in a Cloud App World?DICK’S Sporting Goods: What is the Future of Retail in a Cloud App World?
DICK’S Sporting Goods: What is the Future of Retail in a Cloud App World?VMware Tanzu
 
Relieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarRelieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarCprime
 
Scaling Agile - Multiple Team Dynamics
Scaling Agile - Multiple Team DynamicsScaling Agile - Multiple Team Dynamics
Scaling Agile - Multiple Team DynamicsVersionOne
 
Maturing Agile SDLC & workflow improvements
Maturing Agile SDLC & workflow improvementsMaturing Agile SDLC & workflow improvements
Maturing Agile SDLC & workflow improvementsMichael J Geiser
 
Scrum in Distributed Teams
Scrum in Distributed TeamsScrum in Distributed Teams
Scrum in Distributed TeamsCprime
 
Agile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devopsAgile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devopsKarthik Gaekwad
 
Software Advice UserView: Agile Project Management Report 2015
Software Advice UserView: Agile Project Management Report 2015Software Advice UserView: Agile Project Management Report 2015
Software Advice UserView: Agile Project Management Report 2015Software Advice
 
Why We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsWhy We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsRebecca Wirfs-Brock
 

Tendances (20)

Intro to Agile and Lean Software Development
Intro to Agile and Lean Software DevelopmentIntro to Agile and Lean Software Development
Intro to Agile and Lean Software Development
 
Sgin2013 scrum accomplished-industrialagilecasestudy-avinashrao
Sgin2013 scrum accomplished-industrialagilecasestudy-avinashraoSgin2013 scrum accomplished-industrialagilecasestudy-avinashrao
Sgin2013 scrum accomplished-industrialagilecasestudy-avinashrao
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software Development
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
 
Introducing Agile Development in Traditional Software Development Organizations
Introducing Agile Development in Traditional Software Development OrganizationsIntroducing Agile Development in Traditional Software Development Organizations
Introducing Agile Development in Traditional Software Development Organizations
 
DevOps, Agile methods and Continuous Improvement in the Software development ...
DevOps, Agile methods and Continuous Improvement in the Software development ...DevOps, Agile methods and Continuous Improvement in the Software development ...
DevOps, Agile methods and Continuous Improvement in the Software development ...
 
Agile Configuration Management Environments
Agile Configuration Management EnvironmentsAgile Configuration Management Environments
Agile Configuration Management Environments
 
DevOps unraveled - Nyenrode masterclass on Agile Management
DevOps unraveled - Nyenrode masterclass on Agile ManagementDevOps unraveled - Nyenrode masterclass on Agile Management
DevOps unraveled - Nyenrode masterclass on Agile Management
 
DICK’S Sporting Goods: What is the Future of Retail in a Cloud App World?
DICK’S Sporting Goods: What is the Future of Retail in a Cloud App World?DICK’S Sporting Goods: What is the Future of Retail in a Cloud App World?
DICK’S Sporting Goods: What is the Future of Retail in a Cloud App World?
 
Relieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarRelieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - Webinar
 
Scaling Agile - Multiple Team Dynamics
Scaling Agile - Multiple Team DynamicsScaling Agile - Multiple Team Dynamics
Scaling Agile - Multiple Team Dynamics
 
DevOps 2013
DevOps 2013DevOps 2013
DevOps 2013
 
DevOps
DevOpsDevOps
DevOps
 
Maturing Agile SDLC & workflow improvements
Maturing Agile SDLC & workflow improvementsMaturing Agile SDLC & workflow improvements
Maturing Agile SDLC & workflow improvements
 
Scrum in Distributed Teams
Scrum in Distributed TeamsScrum in Distributed Teams
Scrum in Distributed Teams
 
Agile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devopsAgile 2014- Metrics driven development and devops
Agile 2014- Metrics driven development and devops
 
Software Advice UserView: Agile Project Management Report 2015
Software Advice UserView: Agile Project Management Report 2015Software Advice UserView: Agile Project Management Report 2015
Software Advice UserView: Agile Project Management Report 2015
 
Why We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsWhy We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile Projects
 
Agile for Infrastructure Projects
Agile for Infrastructure ProjectsAgile for Infrastructure Projects
Agile for Infrastructure Projects
 

Similaire à The Agile Movement

Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development ProcessSoftware Park Thailand
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Ahmed Misbah
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Developmentaboulkheir
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrumPrudentialSolutions
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 
Agile Software Development Approaches
Agile Software Development ApproachesAgile Software Development Approaches
Agile Software Development Approachesdcsunu
 
Introduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentIntroduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentThanh Nguyen
 
Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfSwapnikaReddy6
 
An Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel SkyAn Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel Skygirabrent
 
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...Scrum Bangalore
 
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...Agile ME
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptxAmna Ch
 

Similaire à The Agile Movement (20)

Web engineering
Web engineeringWeb engineering
Web engineering
 
Agile 101
Agile 101Agile 101
Agile 101
 
Waterfall Model.pptx
Waterfall Model.pptxWaterfall Model.pptx
Waterfall Model.pptx
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Agile Software Development Approaches
Agile Software Development ApproachesAgile Software Development Approaches
Agile Software Development Approaches
 
Agile
AgileAgile
Agile
 
Agile mODEL
Agile mODELAgile mODEL
Agile mODEL
 
Introduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentIntroduction to Agile and Lean Software Development
Introduction to Agile and Lean Software Development
 
Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdf
 
English digital business 2.1.pptx
English digital business 2.1.pptxEnglish digital business 2.1.pptx
English digital business 2.1.pptx
 
Agile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdfAgile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdf
 
An Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel SkyAn Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel Sky
 
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
 
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 

Plus de Fáber D. Giraldo

ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??Fáber D. Giraldo
 
Software configuration management in deep
Software configuration management in deepSoftware configuration management in deep
Software configuration management in deepFáber D. Giraldo
 
Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...Fáber D. Giraldo
 
Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Fáber D. Giraldo
 
Teamwork in Software Engineering Projects
Teamwork in Software Engineering ProjectsTeamwork in Software Engineering Projects
Teamwork in Software Engineering ProjectsFáber D. Giraldo
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...Fáber D. Giraldo
 
Introduction to Software Process
Introduction to Software ProcessIntroduction to Software Process
Introduction to Software ProcessFáber D. Giraldo
 
Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects Fáber D. Giraldo
 
Continuous Integration Introduction
Continuous Integration IntroductionContinuous Integration Introduction
Continuous Integration IntroductionFáber D. Giraldo
 
software configuration management
software configuration managementsoftware configuration management
software configuration managementFáber D. Giraldo
 
software metrics (in spanish)
software metrics (in spanish)software metrics (in spanish)
software metrics (in spanish)Fáber D. Giraldo
 

Plus de Fáber D. Giraldo (20)

ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??ISO 29119 and Software Testing - now what??
ISO 29119 and Software Testing - now what??
 
Software configuration management in deep
Software configuration management in deepSoftware configuration management in deep
Software configuration management in deep
 
Introduction to MDE
Introduction to MDEIntroduction to MDE
Introduction to MDE
 
Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...Applying a software TeleCare prototype in a real residences for older people ...
Applying a software TeleCare prototype in a real residences for older people ...
 
Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...
 
Teamwork in Software Engineering Projects
Teamwork in Software Engineering ProjectsTeamwork in Software Engineering Projects
Teamwork in Software Engineering Projects
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
 
SEMAT
SEMATSEMAT
SEMAT
 
The SEI Approach
The SEI ApproachThe SEI Approach
The SEI Approach
 
Introduction to RUP & SPEM
Introduction to RUP & SPEMIntroduction to RUP & SPEM
Introduction to RUP & SPEM
 
Introduction to Software Process
Introduction to Software ProcessIntroduction to Software Process
Introduction to Software Process
 
Code Inspection
Code InspectionCode Inspection
Code Inspection
 
Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects Workflows adaptations for security management through MDD and Aspects
Workflows adaptations for security management through MDD and Aspects
 
Continuous Integration Introduction
Continuous Integration IntroductionContinuous Integration Introduction
Continuous Integration Introduction
 
Patterns Overview
Patterns OverviewPatterns Overview
Patterns Overview
 
L software testing
L   software testingL   software testing
L software testing
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
I software quality
I   software qualityI   software quality
I software quality
 
software metrics (in spanish)
software metrics (in spanish)software metrics (in spanish)
software metrics (in spanish)
 

Dernier

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 

Dernier (20)

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 

The Agile Movement

  • 1. The Agile Movement Modelos de Procesos y Metodologías de Ingeniería de software Mayo de 2014 Universidad de Caldas Facultad de Ingenierías Maestría en Ingeniería Computacional
  • 3. Content Agile Methologies The Agile Manifesto Concrete agiles examples CMMI & Agile
  • 4. Sources • Gerard O’Regan, Introduction to Software Process Improvement, Springer 2011. ISBN 978-0-85729-171-4 • Kenneth S. Rubin. Essential Scrum : a practical guide to the most popular agile process. Copyright 2013 Pearson Education, Inc. ISBN 978-0-13- 704329-3 • Scott Ambler and Mark Lines. Disciplined Agile Delivery. A Practitioner’s Guide to Agile Software Delivery in the Enterprise. Copyright 2012, IBM Press. ISBN 978-0-13-281013-5. • Joachim Rossberg and Mathias Olausson. Pro Application Lifecycle Management with Visual Studio 2012. Apress, 2012. ISBN 978-1118314081 • Alan Shalloway et al. Essential Skills for the Agile Developer - A Guide to Better Programming and Design. Copyright © 2012 Pearson Education, Inc. ISBN 978-0-321-54373-8. • Paul E. McMahon. Integrating CMMI® and Agile Development. 2011 Pearson Education, Inc. ISBN 978-0-321-71410-7.
  • 5. Agile Introduction (I) The Agile methodology / Agile development is a software development methodology that claims to be more responsive to customer needs than traditional methods.
  • 6. Agile Introduction (II) Agile has a strong collaborative style of working and its approach includes the following: – Aim is to achieve a narrow fast-flowing value stream – Feedback and adaptation employed in decision-making – User stories and sprints are employed – Stories are either done or not done – Iterative and incremental development is employed – A project is divided into iterations – An iteration has a fixed length (i.e. Timeboxing is employed) – Entire software development life cycle is employed for the implementation of each story – Change is accepted as a normal part of life in the Agile world
  • 7. Agile Introduction (III) – Delivery is made as early as possible – Maintenance is seen as part of the development process – Refactoring and evolutionary design employed – Continuous integration is employed – Short cycle times – Emphasis on quality – Stand-up meetings – Plan regularly – Direct interaction preferred over documentation – Rapid conversion of requirements into working functionality – Demonstrate value early – Early decision-making
  • 8. A tale about Agile (I) In 2001 a group of people met at a Utah ski resort to talk, ski, relax, and try to find common ground for software development. This is the result: “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: • 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.”
  • 9. A tale about Agile (II) That is, while there is value in the items on the right, we value the items on the left more. Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas
  • 10. www.agilemanifesto.org (I) “On February 11-13, 2001, at The Lodge at Snowbird ski resort in the Wasatch mountains of Utah, seventeen people met to talk, ski, relax, and try to find common ground and of course, to eat. What emerged was the Agile Software Development Manifesto. Representatives from Extreme Programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming, and others sympathetic to the need for an alternative to documentation driven, heavyweight software development processes convened.”
  • 11. www.agilemanifesto.org (II) the Agile Manifesto lays down the following principles: • 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.
  • 12. www.agilemanifesto.org (III) • 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.
  • 13. www.agilemanifesto.org (IV) • 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. More about Agile history in: http://setandbma.wordpress.com/2012/03/23/agile-history/
  • 14. • SEMAT Deal (www.semat.org) • The new deal for software development (http://www.software-development- experts.com/the-new-deal.aspx) But, be careful with “Deals”
  • 15. • Ongoing changes to requirements are considered to be normal in the Agile world, and it is believed to be more realistic to change requirements regularly throughout the project rather than attempting to define all of the requirements at the start of the project. • The methodology includes controls to manage changes to the requirements, and good communication and early regular feedback are an essential part of the process. Agile features - changes
  • 16. • A story may be a new feature or a modification to an existing feature. It is reduced to the minimum scope that can deliver business value, and a feature may give rise to several stories. • Stories often build upon other stories and the entire software development life cycle is employed for the implementation of each story. Stories are either done or not done, i.e. there is no such thing as a story being 80% done. The story is complete only when it passes its acceptance tests. • Stories are prioritized based on a number of factors including – Business value of story – Mitigation of risk – Dependencies on other stories Agile features – user stories
  • 17. • Sprint planning is performed before the start of an iteration. The goal is to assign stories to the iteration to fill the available time. The estimates for each story and their priority are determined, and the prioritized stories are assigned to the iteration. • A short morning stand-up meeting is held daily during the iteration and attended by the project manager and the project team. It discusses the progress made the previous day, problem reporting and tracking, and the work planned for the day ahead. A separate meeting is conducted for issues that require more detailed discussion. Agile features – planning
  • 18. • Once the iteration is complete the latest product increment is demonstrated to an audience including the product owner. • This is to receive feedback as well as identifying new requirements. • The team also conducts a retrospective meeting to identify what went well and what went poorly during the iteration. This is to identify improvement actions for future iterations. Agile features – delivery
  • 19. • Agile employs pair programming and a collaborative style of working with the philosophy that two heads are better than one. • This allows multiple perspectives in decision-making and a broader understanding of the issues. Agile features – pair programming
  • 20. • Software testing is very important and Agile generally employs automated testing for unit, acceptance, performance, and integration testing. • Tests are run often and aim to catch programming errors early. They are generally run on a separate build server to ensure all dependencies are checked. • Tests are re-run before making a release. • Agile employs test driven development with tests written before the code. The developers write code to make a test pass with ideally developers only coding against failing tests. • This approach forces the developer to write testable code. Agile features – testing
  • 21. • Refactoring is employed in Agile as a design and coding practice. • The objective is to change how the software is written without changing what it does. • Refactoring is a tool for evolutionary design where the design is regularly evaluated and improvements implemented as they are identified. • The automated test suite is essential in showing that the integrity of the software is maintained following refactoring. Agile features – refactoring
  • 22. • Continuous integration allows the system to be built with every change. • Early and regular integration allows early feedback to be provided. • It also allows all of the automated tests to be run, thereby identifying problems earlier. Agile features – integration
  • 23. • AMDD • Agile Modelling - Scott Ambler • http://www.agilemodeling.com/style/ • TDD • Refactoring • Unit Testing • Continuous Integration • Pair development • User stories • Releasing Most representative contributions
  • 24. • http://www.extremeprogramming.org/ • http://xprogramming.com/index.php • Extreme Programming (XP) is a deliberate and disciplined approach to software development. It stresses customer satisfaction, an important part of the Agile Manifesto. The methodology is designed to deliver the software the customer needs, when it is needed. XP focuses on responding to changing customer requirements, even late in the life cycle, so that customer satisfaction (business value) is assured eXtreme Programming (I)
  • 25. • All code to be included in a production release is created by two people working together at a single computer. This should increase software quality without impacting time to delivery. • The software should be delivered to the customers as early as possible and a goal is to implement changes as suggested. XP stresses that the developers should be able to courageously respond to changing requirements and technology based on this foundation. • XP have user stories. These serve the same purpose as use cases, but are not the same. They are used to create time estimates for the project and also replace bulky requirements documentation. The customer is responsible for writing the user stories and they should be about things that the system needs to do for them. Each user story is about three sentences of text written by the customer in the customer’s own terminology without any technical software jargon that a developer might use. eXtreme Programming (II)
  • 26. • XP also emphasizes teamwork. Managers, customers, and developers are all part of a team dedicated to delivering high- quality software. XP implements a simple and effective way to handle team work. • There are four ways XP improves software team work; communication, simplicity, feedback, and courage. • It is essential that XP programmers communicate with their customers and fellow programmers. The design should be simple and clean. Feedback is supplied by testing the software from the first day of development. • Testing is done by writing the unit tests before even writing the code. This is called TDD and has started to become a very well used practice in many projects, not only agile ones. • Another important issue is that XP stresses the importance of delivering working software in increments so that the customer can give feedback as early as possible. By expecting that this will happen, developers are ready for implementing changes. eXtreme Programming (III)
  • 27. SCRUM Source:http://www.mozaicworks.com/agile/scrum/ Source:SCRUM México  http://scrum.org.mx/?page_id=7 “the rugby approach” (1986) - Harvard Business Review Takeuchi and Nonacha argued that small cross-functional teams produced the best results from a historical viewpoint. http://www.sao.corvallis.or.us/drupal/files/The%20New%20New% 20Product%20Development%20Game.pdf
  • 28. SCRUM (II) Source: http://www.axosoft.com/scrumvideo
  • 29. SCRUM (III) Source: Disciplined Agile Delivery The Scrum lifecycle
  • 30. • Product backlog (work item list) • Value-driven lifecycle • Daily Scrum (coordination meeting). • Sprint review and demonstration • Sprint retrospective • User story driven development (usage-driven development). See: http://www.implementingscrum.com/ SCRUM (IV)
  • 31. • Release planning: it suggests abstracting the project plan to a higher level that describes higher level milestones such as delivery of small increments of demonstrable functionality. These higher level plan items can then be allocated to a set of sprints (iterations) over the life of the project. • Sprint planning (iteration planning): At the beginning of the sprint/iteration the team plans in detail what they will deliver and how they will do the work. This involves taking a set of highest priority requirements off the backlog and then decomposing these requirements into detailed tasks. The team estimates this work and commits to the product owner that they will deliver the work according to the plan that they have created themselves. SCRUM (V)
  • 32. You must know the Disciplined Agile Delivery of Scott Ambler, in order to understand the value of EPF process and libraries. Key Issue
  • 33. • Agile Modeling (AM) is a practice-based methodology for effective modeling and documentation of software-based systems. • At a more detailed level AM is a collection of values, principles, and practices for modeling software that can be applied on a software development project in an effective and lightweight manner. • AM was purposely architected to be a source of strategies that can be tailored into other base processes. Agile Modelling (I)
  • 34. • With an Agile Model Driven Development (AMDD) approach you typically do just enough high-level modeling at the beginning of a project to understand the scope and potential architecture of the system. • During construction iterations you do modeling as part of your iteration planning activities and then take a just-in-time (JIT) model storming approach where you model for several minutes as a precursor to several hours of coding. • AMDD recommends that practitioners take a test- driven approach to development although does not insist on it Agile Modelling (II)
  • 35. Agile Modelling (III) Source: Disciplined Agile Delivery
  • 36. Agile Modelling (IV) Source: Disciplined Agile Delivery and http://www.agilemodeling.com/
  • 37. Agile Modelling Features •Active stakeholder participation •Architecture envisioning •Document continuously •Document late •Executable specifications •Iteration modeling •Just barely good enough artifacts (sufficient artifacts) •Look-ahead modeling •Model storming •Multiple models •Prioritized requirements (work item list) •Requirements envisioning •Single source information •Test-driven development (TDD)
  • 38. Other agile methodologies • Lean Development • Kanban • DSDM • ASD • Crystal
  • 39. Comparison from DAD S. Ambler
  • 40. Comparison from DAD S. Ambler
  • 41. CMMI & Agile (I) The CMMI model is not a set of dictated practices. It is a model that is intended to be used to “reason” about our processes to help us ask the right questions leading to an understanding of our weaknesses and areas of needed improvement.
  • 42. CMMI & Agile (II) Source: Integrating CMMI and Agile Development
  • 43. CMMI & Agile (III) Source: Integrating CMMI and Agile Development
  • 44. How CMMI and Agile Help Each Other (I) Source: Integrating CMMI and Agile Development
  • 45. Source: Integrating CMMI and Agile Development How CMMI and Agile Help Each Other (II)
  • 46. How CMMI and Agile Help Each Other (III) Source: Integrating CMMI and Agile Development