0% found this document useful (0 votes)
16 views6 pages

10 Marks

10 mark answer

Uploaded by

Shruthi S
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)
16 views6 pages

10 Marks

10 mark answer

Uploaded by

Shruthi S
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/ 6

Obiect Oriented Software Erngineering 1-37 Software Process and Agile Development

Various rulesand practices used inextreme programming are as given below

XP Principle Description

User story-cards Instead of creating a large requirement


document user stories are written by the
customer in which what they need is
mentioned.

Release planning A release plan for overall project is prepared


from which the iteration plan can be
prepared for individual iteration.
Small releases The developer breaks down the user stories
Planning into small releases and a plan for releasing
the small functionalities is prepared.

Iterative process Divide the development work into small


iterations. Keep the iteration of neariv
constant length. Iterative development helps
in quick or agile developmernt.
Stand up meetings The stand up meetings must be conducted
for the current outcomes of the project.

Simple design Simple design always takes less time than


the complex design li is always good to
keep the things simple to meet tie current
requirements.
Spike solution For answering the tough technical problems
create the spiHe solutions. The goal of these
Designing solutions shoula be to reduce the technical
risks.

Refactoring Refactoring means reductions in the


redundancy, elimination of unused
functionalities, redesign the obsolete
designs. This willimprove the quality of the
project.
brect Oriented Software Engineering 1-38 Software Process and
Agile

Customer availability The most essential requirement of


availability of the customner. In the
Developmen
XP
programming the customer not only hat
the developer team but it should be the
Extreme
of the project. part
Paired programming All the code to be incuded in the
must be coded by groups of two project
people
Coding working at thesame computer. This will
increase the quality of coding.
Collective code By having collective code ownership
ownership approach the everyone contributes new
ideas arnd not any single person becomes the
bottleneck of the project. Anyone carn change
any line of code to fix a bug or to refactor.
Unit testing The test-first development is done in XP.
The test framework that contains the
automated test case suite is used to test the
code. All the code must be tested using unit
testing before its release.
Continuous integration As soon as one task is finished integrate it
Testing into the whole system. Again after such
integration unit testing must be conducted.
No overtime Working overtine lose the spirit and
motivation of the team. Conduct the release
planning meeting to change the
scope or to reschedule the project. project
As mentioned earlier in Extreme lrogramming instead of creating large requiremert
documents the user story-card is prepared. ror example:lf a project is for creating
banking software then the samPle story card can be prepared as followe
1. Customer makes the balance enquiry.
withdravWs some amount.
2. Customer
mer deposits sOme amount.
Review Question
model witlha neal
development AU: Dec,-17,
component bascdsotware Marks 9)
1. Explain the

Introduction to Agility Agile Software Development, . C


1.8 Manifestofor
The Agile Manitesto, also calledthe
principlesto guide an iterative and
and 12
key values
atormal declaration of four development.
eopleentric approach to software the weakness of conventiona
methods were developed to overcome
" The agile
software engineering.
represented by following Fig. 1.8.1.
" The agile manitesto is
Process and tools
Individuals and Over
interactions
Comprehensive
Working software Over documentation

Customer Over
Contact negotiation
collaboration

Responding to Over Following a plan


change

Fig. 1.8.1 Agile manifesto

1.9 Agile Process AU :Dec.-16, 19, May-19, Marks 4


" In 1980's the heavy weight, plan based software
development approach was used
to develop any software product.
" In this approach too many things are done which
were not directly related to
software product being produced.
" This approach was rigid. That means if
essential. Hence new methods were proposed
in
requirements changed,
get then rework was
processes. 1990s which are known as agile
The agile processes are the light-weight
methods are
based methods.
" The agile process forces the development
team to
people-based rather than plan
than design and documentation. focus on
" The agile process believes in iterative methÍd software itself rathe
TECHNICAL PUBLICATIONs®
Software Process and Agile Develop
0biect Oriented Software Engineering
1-33

The aim of agile process is to deliver the working model of software quickly td
customer.

For example : Extreme programming is the best known of agile process.


Conventional Software Development Methodology
" As the software project makes the progress, the cost of the changes increases non
linearly.
" It is easy to accommodate changes during the requirement gathering stage. At this
modified, list of functions
stage to accommodate the changes - usage scenarios are
can be extended, orwritten specification be edited.
the testing phase
As the progresses and if the customer suggest the changes during
these changes the
of the software development life cycle then to accommodate
changes will affect
architectural design needs to be modified and ultimately these
actually costly to
other phases of software development cycle. These changes are
execute.

Agile Methodology
agile method proponents claim that if the software development is carried out
" The
agile approach then it will allow the software team to accommodate
using the
and time impact.
changes late in a software project without dramatic cost
other words, if the incremental delivery is combined with agile practices such as
" In
the cost of changes can be
continuous unit testing and pair programming then
controlled.
the how the software development approach has a
The following graph represents
to changes suggested.
strong influence on the development costdue
Cost of changes
due to conventional
software process
cost
Development

Cost of changes
due to agile process

Time
oach on agile process
Software Process and Agile
Object Oriented Software Engineering 1-34
Development
Pros
Delivery: Agile software development approach emphasizes on
1. Efficient working software quickly.
delivering the small increments of
Flexvibility : The Agile software development methodology allows for chango
2.
development process.
and adaptions te be nmade throughout the continuOus reflection and
Continuous Improvement : Agility encourages
3.
improvement in the sofware.
Transparency : During agile software development, daily stand-up meeting
4. the project's progress,
makes all the tean members and stakeholders aware of
challenges and deisions.
and mitigate risks earlyon. When
5. Reduced Risk : Transparency helps to identify together to develop
can work
evervone is aware of the project's challenges, they
solutions.

Cons
team requires more communication and
1. Need for Disciplined Team : Agile
successful software development. This is difficult for teams tha
collaboration for
are new to Agile.
For Agile Software Development
2. More Collaboration and Communication :
which is challenging for
there needs more collaboration and communication
large and distributed projects.
comprehensiv
3. Lack ofDocumentation :Agile prioritizes working software over
documentation, which can be adisadvantage in situations where documentatior
is essential, such as in highly regulated industries.

1.9.1 Agile Principles


There are famous 12 principles used as agility principles -
1.Satisfy the customer by early and continuous delivery of valuable software.
2. The changes in the requirements must be accommodated. Even though the chang
occur late in the software development process, the agile process should help
accommodate them.

3. Deliver working software quite often. Within the shorter time span deliver ts
working unit.
4. Business people anddevelopers must work together throughput the project.

TECHNICAL PIIBUCATION®
SoftwareProcesSand
1-34
Engineering
ObjectOriented Sofware emphasizes
developmernt approach
Pros
Delivery : Agile software software quickly.
1. Efficient smallincrementsof working methodology allows for
for chang-
delivering the development
software
2. Flexibility : The Agile the development process.
throughout continuous reflection and
and adaptions to be made encourages
: Agility
3. Continuous Improvement
improvement in the software.
development, daily stand-up meeting
software
* Iransparency : During agile and stakeholders aware of the project s progress,
members
makes all the teamn
challenges and decisions.
early on. When
5. Reduced Risk : Transpärency helps to identify and mitigate risks
evervone is aware of the project's challenges, they can work together to develop
solutions.

ns

1. Need for Disciplined Team : Agile team requires more communication and
collaboration for successful software development. This is difficult for
are new to Agile. teams that
2. More
Collaboration
there needs more
and Communication : For Agile
Software
collaboration
large and distributed projects.
and Development.
communication which is challenging for
3. Lack of
Documentation: Agile prioritizes working
software over
documentation, which can be a disadvantage in situatione
is essential, such as in highly
regulated industries. comprehensive
situations where documentation
1 Agile Principles
here are famous 12principles used as
agility

You might also like