Professional Documents
Culture Documents
UNIT 1.3
VARIOUS AGILE FRAMEWORKS
HETAL CHUDASAMA,
DEPARTMENT OF INFORMATIN TECHNOLOGY,
GCET.
1
DIFFERENT AGILE FRAMEWORKS
One of the most important software development frameworks of Agile (flexible)models, introduced
by Kent beck.
Extreme programming is, in a nutshell, about good practices taken to an extreme.
It is lightweight, efficient, low-risk, flexible, predictable, scientific, fun oriented way to develop a
software.
It targets speed and simplicity with short development cycles and less documentation.
It is used to improve software quality and responsiveness to customer requirements.
XP roles (Customers, Programmer, Testers, Tracker, Coach )
The process structure is determined by five guiding values, five rules, and 12 XP practices
3
A variant of XP, Industrial XP(IXP) refines XP for large organization.
EXTREME PROGRAMMING
CONCEPTUALIZATION
Simplicity : Start developing the important and needed features first without worrying about
future requirements, we should move to the problematic and extra functionalities later on.
Keep the design of the system as simple as possible so that it is easier to maintain, support,
and revise.
Communication : It focuses on excellent communication and collaboration with stakeholders
and within team members. It bridges the gaps between what the developer is making and
the customer requirement.
Feedback : Constant feedback, from system , customer, and team members, about previous
efforts, can identify areas for improvement and make necessary adjustments to processes.
Frequent releases gains early and often insights.
Respect : Everyone respects each other.
Courage : Giving and accepting feedback, providing realistic estimates, even if stakeholders
don't like the truth, requires courage. 5
EXTREME PROGRAMMING PROCESS MODEL
6
EXTREME PROGRAMMING FRAMEWORK ACTIVITY 1
PLANNING
Planning activities or planning game
Listening(requirement gathering)
User stories (Users describes required functionalities of the software that is to be built)
Values(Users will also assign priority number) and place in Index card.
Cost(measured in development weeks)
High cost → Split the stories, re-assignment of values and costs.
Commitment(agreement by Customer and developers on stories to be included, release date and other project
matter)
Release(s/w increment that cover a small part of the functionality or features required ),
XP team then orders stories that are to be develop.
Story development Ordering (All stories immediately, Higher value stories first, riskiest stories first)
Iteration plan (plans about what functionalities to be completed in how much time in every iteration and total number
of iterations)
Project velocity (Computes number of customer stories implemented in first release)
Acceptance test (Eligibility criteria for acceptance of software during deployment).
7
Stories can be added ,change in values assigned to existing stories, split stories or eliminate some stories
Reconsideration and modification of plan accordingly
Planning activities or planning game
Listening(requirement gathering)
Team members will communicate and collaborate with stakeholders to get
user stories (Users describes required functionalities of the software that is to be built).
Users will also assign values(priority number) to the user stories and will be placed into index card.
XP Team will then assess each stories and assign some cost(measured in development weeks) after
examining the user stories.
In case of higher cost, customers are requested to split the stories, re-assignment of values and costs.
After basic commitment(agreement by Customer and developers on stories to be included, release
date and other project matter) for a release(s/w increment that cover a small part of the functionality
or features required ), XP team then orders stories that are to be develop.
Team generates Iteration plan (plans about What functionalities to be completed in how much time in
every iteration and total number of iterations) from user stories.
After releasing s/w , computes project velocity (number of customer stories implemented in first
release) that helps in deciding delivery date and schedule plan for the subsequent releases,
modification in planning if there is over commitment.
They will also plan acceptance test (Eligibility criteria for acceptance of software during deployment).
As the process progress, user may go on adding new stories and they may also keep changing the
assigned values of the existing stories, split stories or eliminate some stories
8
EXTREME PROGRAMMING FRAMEWORK ACTIVITY 2
DESIGN
Simplicity without compromising performance, accuracy or efficiency and without excluding core
functionality.
CRC card Class Responsibility Collaborator(to think about your project in terms of object-oriented
context and tries to identify and organize the classes that are related to current software increment)
CRC cards are the only design work product produced as a part of process.
Spike solutions (operational prototype for that much portion of design is to created immediately in
case of difficult design problem)
It helps in performing risk analysis, exploring different aspects before implementation starts.
Refactoring (trying to optimize the design by improving internal structure of the design without
affecting its external behavior or functionalities, minimizes the chances of introducing bugs)
9
XP value of simplicity will be rigorously followed.
Simple design (Keep It Simple) without compromising performance, accuracy or efficiency and
without excluding core functionality.
Most immediate or prioritized requirements are to be implemented first in simplest possible way
by eliminating extra functionality which are not needed right now.
CRC card Class Responsibility Collaborator(to think about your project in terms of object-
oriented context and tries to identify and organize the classes that are related to current software
increment) is like a card with class(has some objects who have to perform assigned tasks ),
responsibilities (task assigned) and collaborator (to work together with other objects to perform
assigned task or complete the responsibilities).
CRC cards are the only design work product produced as a part of process.
In case of difficult design problem, spike solutions (operational prototype for that much portion of
design is to created immediately) are created, implemented and evaluated.
It helps in performing risk analysis, exploring different aspects before implementation starts.
Refactoring (trying to optimize the design by improving internal structure of the design without
affecting its external behavior or functionalities)
10
EXTREME PROGRAMMING FRAMEWORK ACTIVITY 3
CODING
Unit tests (every individual units gets tested for their functionality and feedback)
Developing unit tests → coding (code must pass that respective unit test to meet the user stories.)
Pair programing (One person tries to do the proper coding and other member ensures coding
standards, examines the code to provide the assurance that it will pass the unit test, successful
implementation of user stories.)
Provides real-time problem solving and real-time quality assurance.
Continuous integration(combing work done by different teams) to avoid compatibility interfacing
problems.
Smoke testing (helps to uncover error early)
Applying developed unit tests after coding provides immediate response from software to developer
Collective Code Ownership (Each team member can change or refactor any part of the code) 11
40-Hour Work Week (No overtime) , Design occurs both before and after coding.
Before start with the coding, XP team develops a series of unit tests(every individual units gets
tested for their functionality and feedback) to validate the code against the stories included in that
release.
After developing unit tests, team start coding with keeping in mind that the code must pass that
respective unit test to meet the user stories.
Pair programing : One person tries to do the proper coding and other member examines the code
to provide the assurance that it will pass the unit test, successful implementation of user stories. So,
it does real time problem solving and quality assurance.
Continuous integration(combing work done by different teams) will help to avoid combability
interfacing problems.
Applying already developed unit tests after coding will provide immediate response from software to
developer
XP encourages Refactoring : a design technique that improves the internal structure of the code by
removing some complexities, but external behaviors remains unaffected minimizes the chances of
introducing bugs.
Design occurs both before and after coding.
12
EXTREME PROGRAMMING FRAMEWORK ACTIVITY 4
TESTING
14
EXTREME PROGRAMMING
ADVANTAGES DISADVANTAGES
Advantages
Fewer documents
Collaboration with customers Disadvantages
Flexibility to developers Depend heavily on customer interaction
Easy to manage Transfer of technology to new team is
Faster release of working software quite complected due to lack of
documents.
Visible and accountable
Code overcomes design
Less risky
Constant feedback
Employee satisfaction and retention
Supports teamwork 15
1 scrum team
Potentially
Iterative-Incremental shippable product
Development & delivery increment
17
SCRUM ARTIFACTS
Scrum Teams use tools called Scrum artifacts to solve problems and manage projects.
The Product Backlog is dynamic and prioritized list of features, requirements, enhancements, and fixes that
must be completed for project success. It is essentially the team’s to-do list, which is constantly revisited and
reprioritized to adapt to market changes. The product owner maintains and updates the list, removing irrelevant
items or adding new requests from customers.
The Sprint Backlog is the list of items to be completed by the development team in the current Sprint cycle.
Before each Sprint, the team chooses which items it will work on from the Product Backlog. A Sprint Backlog is
flexible and can evolve during a Sprint.
The Increment is a step towards a goal or vision. It is the usable end product from a Sprint. Teams can adopt
different methods to define and demonstrate their Sprint Goals. It produces potentially Shippable product
increment.
18
SCRUM ROLES
A Scrum Team needs three specific roles: a Product Owner, Scrum leader, and development team.
The Product Owner gathers the requirements form customers and provides it to developers.
focuses on ensuring the development team delivers the most value to the business.
They understand and prioritize the changing needs of end users and customers.
Effective product owners do the following:
• Give the team clear guidance on which features to deliver next.
• Bridge the gap between what the business wants and what the team understands.
• Decide when and how frequently releases should happen.
19
SCRUM ROLES
20
SCRUM ROLES
The Scrum Team (6-8 people) consists of testers, designers, UX specialists, Ops engineers, and developers.
Team members have different skill sets and cross-train each other, so no one person becomes a bottleneck
in delivering work.
Scrum development teams do the following:
• Work collaboratively to ensure a successful Sprint completion.
• Champion sustainable development practices.
• Self-organize and approach their projects with an evident we attitude.
• Drive the planning and estimating for how much work they can complete for each Sprint.
21
SCRUM EVENTS
Scrum events or Scrum ceremonies are a set of sequential meetings that Scrum Teams perform regularly.
Sprint Planning
In this event, the team estimates the work to be completed in the next Sprint. Members define Sprint Goals that
are specific, measurable, and attainable. At the end of the planning meeting, every Scrum member knows how
each Increment can be delivered in the Sprint.
Sprint
A Sprint is the actual time period when the Scrum Team works together to finish an Increment. Two to four weeks
is the typical length for a sprint. The more complex the work and the more unknowns, the shorter the Sprint
should be.
22
SCRUM EVENTS
Daily Scrum or stand-up
A Daily Scrum is a short meeting in which team members check in and plan for the day. They report on work
completed and voice any challenges in meeting Sprint Goals. It is called a stand-up because it aims to keep the
meeting as short as practical—like when everybody is standing.
Sprint Review
At the end of the Sprint, the team gets together for an informal session to review the work completed and
showcase it to stakeholders. The Product Owner might also rework the Product Backlog based on the current
Sprint.
Sprint Retrospective
The team comes together to document and discuss what worked well and what didn’t work during the Sprint,
what could be improved and what we will commit to include in the next sprint. These Ideas generated are used
to improve future Sprints.
23
SCRUM BOARD
24
SCRUM
ADVANTAGES DISADVANTAGES
Advantages Disadvantages
25
ADAPTIVE SOFTWARE DEVELOPMENT (ASD)
26
28
DSDM LIFE CYCLE
DSDM life cycle defines three different iterative cycles, preceded by two additional life cycle activities.
Business study
Feasibility study
Functional and information
Basic requirements
requirements to provide
Constraints,
business value,
Assesses viability
Application architecture
Maintainability requirement
Emphasize software quality assurance through : Design and code representation of features are easier to
incremental development strategy, design and code inspect effectively. 30
inspection, software quality assurance audits, Project planning, scheduling, and tracking are driven by
collection of metrics, and use of patterns. feature hierarchy.