Agile Development for Students
Agile Development for Students
Syllabus
Agility and agile process model,
Extreme programming, Other process models ofagile developmert
and 1ools.
Contents
Model.. Summer-2018, 2019,
2.1 Agility and Agile Process
Winter-2018, . . Marks 4
. 7
2.2 Extreme Programming .. Winter-2019,
2.3 Other Process Models of Agile Development.. Summer-2016, 2018, -. - - Marks 7
... Witer-2017, 2018,
2.4 Tools for Agile Process
Software Engineering 2-2
Agile Developme
2.1 Agility and Agile Process Model prnen
GTU: Summer-2018 2019,
In 1980's the heavy weight, plan based software development apDroat
Winter-2018,Malks
h was used
software product. In this many things are d
approach too
develop any
not directly related to software product being produced. This approach done wrich were
means if requirements get changed, then rework was essential. Henco
was rigid. Tha
were proposed in 1990's which are known as agile processes. new metho
The agile processes are the light-weight methods are people-based
plan-based methods. The agile process forces the development team torather than
software itself rather than design and documentation. The agile procese ocus on
iterative method. The aim of agile process is to deliver the working model o
phase of the software development life cycle then to accommodate these changs
these changes wil
the architectural design needs to be modified and ultimately
affect other phases of software development cycle. These changes are actually
costly to execute.
Agile Methodology
The agile method proponents claim that if the software development is carried ou
the agile approach then it will allow the software team to accommocat
using
changes late in a software project without dramatic cost and time impact
Such
I n other words, if the incremental delivery is combined with agile pracices
as continuous unit testing and pair programming then the cost of changes
controlled. has a
The following graph represents the how the software development approa
strong influence on the development cost due to changes suggested.
|Cost of changes
due to conventional
software process
Cost of changes
due to agile process
Time
Fig. 2.1.1 Influence of software development approach on agile process
increment must be
delivered in short span of time.
4. The software
increment can be evaluated regularly.
that each
5. It must be iterative, so
Review Questions
used in agility software development.
1. Discuss agility principles
2. Discuss the concept of agility.
GTU: Summer-2018, 2019, Marks 4
and explain any one with suitable examvle.
different agile process model
3. List the
GTU Winter-2018, Marks 4
2000.
Kent Beck in
2 . 2 . 1 XP Values
values serve as
that
lsuos that serve as aa basis far
toOr the
the set of five work
Beck defined performed in
XP. These
values are -
UUCAL PUALICATIONS. Ar
Software Engineerning 2-6 Agile Devlopnent
the above states XP values the agile team can win the
5.Respect: By following
respect of stakeholders.
2.2.2 Process
Refactoring9
Coding
Testing
Release or
increment
XP process
Fig. 2.21
PUBLICATIONS
An up thrust for knowledge
TECHNICAL
Software Engineering 2-6
Agile
Various rules and practices used in extreme programming are as given
en below -
Developmen
XP Principle Descrlption
User story-cards Instead of creating a
large requirement docum.
stories are written by the customer in
need is mentioned.
which .User
us sursstts** **********************************
***************************
************** .. thev
Release planning A release plan for overall project is
the iteration plan can be prepared
prepared fromm which
iteration.
for individ
******** **
************** ****************
* * * * * *****
.
Planning Small releases The developer breaks down the user stories inta
to
releases and a plan for releasing the small
is prepared. functionaliSmall
Iterative process Divide the development work into small iterations
the iteration of nearly constant
length. Keep
Iterative
development helps in quick agile development.
wwww
or
www
wwwwwwwww.wwwwwwm
Stand up meetings The stand up meetings must be conducted for the
outcomes of the project. Current
****
*******::******* *******************************
****************************sn
********
Simple design Simple design always takes less time than the
compler
design. It is always good to keep the things simple to
meet the current requirements.
wwww ww*. *
wwwwawwwwmwww
www. w ws
ownership everyone contributes new ideas and not any single can
2.2.3 Industrial XP
evolution of XP. It is
The industrial XP (XP) can be defined as the organic
and advanced technical
customer centric. It has expanded role for customers
practices
Software Engineering
to XP XP to ecreate IXP, are as folows.
to
appended
that
are
following issu
following issues are
new
practices
In this
a s s e s s m e n t ,
XP.
assessed
vailable to support
. V a r i o u s
A s s e s s n m e n t :
avai.
R e a d i n e s s
must
be
1. environment
and skilled
stakh.
older
Proper appropriate
i. contain Dro
Team
should
should
support quality
quality
programs and
contimrn
ii.
organization
The
ii.
i m p r o v e m e n t .
culture
ould
shou support new values of agile team.
u s t ho
people mnust be choser
o r g a n i z a t i o n a l
ss of the
of project.
the project.
The team is
is considered. The
referred as the
commAmunih
project communi
success
members
for the approach
is
when
extreme
programming
customers,
and other
stakeholders who play the vit
consists of
technologies,
The role of the community members must
success
of the project.
for the
explicitly defined.
chartering
means assessing the jusi.cation
Chartering: Project the XP team
team assess whether
3.Project business application.
That means,
as a organization.
project of the
and objectives
satisfies the goals
project the state of the proiect andd its progas
For assessing
Driven management:
4. Test measurable criteria.
In test driven driven management t
the industrial needs some XP measurable criteria.
tested with the help of these
project is reri
software increment, the specialized
After delivering the
5. Retrospectives: The intention of retrospectives is
is called as retrospective.
conducted which
industrial XP process.
improve the
The team members are inspired
and encouraged tolem
6. Continuous learning:
that can improve the quality
of the product.
new methods and techniques
Review Questions
1. Discuss XP values and XP process.
GTU:Winter-2019,Marks
Extreme Programming (XP) in detail.
2 Explain
3. Scrum
4. Feature Driven Development
5. Agile Modeling
TECHNICAL PUBLICATIONS An up thrust for knowledge
Sofware Engineering 2-9 Agile Development
us disctuss
them in detail.
Let
Release
or
software Collaboration
increment
Learning
Fig. 2.3.1 Adaptive software development life cycle
1. Speculation: This is initial
phase of the adaptive software development process.
an
In this phase the
adaptive cycle planning is conducted. In this cycle planning
mainly three types of information is used such as Customer's mission
project constraints (delivery date, user description, budgets and so on) statement,
and basic
requirements of the project.
2. Collaboration: The motivated people work collaboration to develop the desired
in
software product. In this
phase collaboration among the members of development
team is a key factor. For successful collaboration and
coordination it is necessary to
have following qualities in every individual -
Assist each other without resentment
Work hard.
O Posses the required skill set.
O Communicate problems and help each other to accomplish the given task.
o Criticize without any hate.
2.3.3 Scrum
SCRUM is an agile process model which is used for developing the complex
software systems.
. I t is a lightweight process framework that can be used to manage and control the
iterative and incremental approach. Here the term
software development using
of the process is kept as small as possible in
lightweight means the overhead
order to maximize productive time.
in 1995.
.This model is developed by Jeff Sutherland and Ken Schwaber
Principles below
SCRUM works given are as
. Variousprinciples using which the Due to
teams on the software developmernt projects.
1. There are small working
minimum overhead.and
maximum communication
this there is
clean packets or
people must be partitioned into small and
2. The tasks of
partitions.
business changes if they occur.
must accommodate the technical or
3. The process
increments must be
software increments. These
4. The process should produce
documented and built on.
tested,
inspected, documentation must be
the constant testing and
5.
5. During the product building
conducted.
model of the product
SCRUM process
must produce the working
6 The
whenever demanded or required. and
activities (requirements analysis, design, evolution
Various development
SCRUM principles
delivery) are guided by
Development Activities software process pattern
software process pattern. The
is on
In SCRUM emphasize
activities. Refer Fig. 2.3.2.
defines a set of development
SCRUM are
-
activities in must be
Various development or
features that
requirements
list of project backlog list at any
It is basically
a
in the
1. Backlog : The items can be included
as per the
customer. the priorities
provided to the this list and updates
manager analyses
time. The product
the requirements
achieve
requirements. needed to time-box
units that are
duration o r
These the work
are have fixed
the sprints work in stable
2. Sprint: the backlogs. Typically team
members to
m e n t i o n e d in allow the
Thus sprints
of 2 to 4 weeks).
(typically
a n d s h o r t - t e r m environment.
d a tn thrust forknowiedge
Sovare Engineemy 2-12
Agialle Developmas
155 min dalih
.Whatmeetinarge
24 Hour
2.NetObsacitavcdteemesaite
plan?
30 Days
Sprint backlog
Product backlog Software
iwithnctement
Specific
Fig. 2.3.2 SCRUM workflow activities
functionalty
3. Meetings: These are 15 minutes daily
meetings to
report
obstacles and plan for next activities. Following are three the completed.
discussed during the meetings questions that
pl
4. The productivity can be improved.
Disadvantages:
H
an a by by by
Overall feature feature feature feature
model list
functionally decomposed into various subject areas. These subject areas contain the
business activities. The steps within business activity forms the categorized feature
list. Features are basically the client valued functions and can be expressed in the
form.
action> <result> <by|for| of|to> <object>
3. The team can develop every feature within the two weeks.
4. The features are typically smaller in size and therefore can be analyzed
effectively.
5. Project planning, scheduling and tracking can be driven by features.
The FDD can be used to develop complex projects or bigger projects. It can also be
used for the developing the projects having more novice developers
2.3.5 Crystal
Cockburn and Highsmith suggested the crystal family of agile methods
The primary goal of this method is to deliver useful and working software.
I n this model, a set of methodologies are defined which contains the coreeleme
that are common to all. These methodologies also contain roles, process pane
work products and practice that are unique to each.
eful for
Thus the crystal family is actually a set of agile processes that are use
different types of projects. The agile team has to select the memebers or tne
nt.
family that is most approapriate for their ongoing project and environmenl
(AM)
2.3.6 Aglle Modellng
The agile modeling can be used for large and complex projects. By adopting agile
modeling techniques the scope and complexity of the project can be understood.
The problems can be partitioned effectively among the group of people. And the
quality of the working model can be assessed at every step of development.
the Agile modeling as "Agile modeling is a collection of
Scott Ambler described
values, principles and practices for modeling the software. Agile Modeling (AM)
is
Review Questions
1. Explain the Scrum agile development process.
2. Write a note on Feature driven dervelopement.
3. List the diferent agile process model and explain any one with suitable example.
GTU: Summer-2016, Marks 7
4. Explain the merits and demerits of SCRUM.
GTU: Winter-2017, Marks 4; Winter-2018, Marks 7
5. Explain adaptive software development process model. GTU: Summer-2018, Marks 7