• Nie Znaleziono Wyników

JOINING AGILE WITH UNIFIED PROCESS IN ORDER TO IMPROVE SOFTWARE QUALITY

N/A
N/A
Protected

Academic year: 2021

Share "JOINING AGILE WITH UNIFIED PROCESS IN ORDER TO IMPROVE SOFTWARE QUALITY"

Copied!
10
0
0

Pełen tekst

(1)

University of Economics in Katowice

JOINING AGILE WITH UNIFIED PROCESS IN ORDER TO IMPROVE

SOFTWARE QUALITY

Introduction

Business needs for improvement of the software development are increas- ing. Organizations expect faster results from their investments; they want their improvement projects to adapt to and follow changing business needs. The agile way of working, used more and more in software development, contains several techniques that support these business needs. So the question is: Could an im- provement of the software development be performed in an agile way and what about an adoption of this approach by more traditional practices? This article is a quick introduction to Agile practices that can help improve the quality of soft- ware creation by reducing defects, improving design, sharing the theory of the code and building less. It includes an introduction of how to choose the practices for your organizational context. It also includes an example how to adopt Agile Modeling in one of the more popular traditional approaches in order to improve software quality.

Improving software quality

The vast majority of software projects suffer from a steady degradation of design quality and it becomes more and more difficult to keep in the same level of quality. As the software ages it becomes harder and harder to maintain be- cause of the lack of skilled personnel capable to deal with it. In some cases it be- comes too expensive to maintain and therefore the software is put to rest and re- written. In others, the software is released with a steadily increasing number of defects. Both of these common situations are deeply unsatisfying, but there is another way. Many of the practices from the Agile realm inhibit the degradation

(2)

2

o h

d e i

F

• 266

of s hav

diff eme ing

Fig.

• T m o

• D e d s p t o

• T i s p t s soft ve m

So feren erge

the

1. E

Th The mou of q Des easy disc sign patc test ous The ity suc pro tim soft

twa main

oftw nt t ent e qu

Effec

here e di

us w qua sign

y to cov n in che t dr sly i eory

map ces ces me. E

twa are

ntai ware

tran app ualit

ctive

e ar imin

with lity n im

o u vere n th ed m rive

imp y bu ppe ss. B ss th

Effe are

qua ined e de nsfo proa ty o

enes

re fo nut h h y pro

mpr unde ed. I he b man n d prov

uild ed o Bui hat

ecti sys

ality d a esig orm

ach f de

ss of

our tion high obl rove

erst In t beg ny t deve

ve t ding onto ildi

is b ive stem

y an zer gn a matio to evel

f Ag

ma n of h qu

em eme tand trad inn time elop the g – o so ng best dev m r

nd ro-d and ons ent lop

gile p

ajor f de ualit ms.

ent d an ditio ning

es.

pme des pro oftw a t t do velo repr

tur defe arc ov terp ed s

prac

stra efec

ty s

– h nd ona g of Ag ent sign ogra ware

theo one

opm rese

rn th ect s chite ver prise

soft

ctice

ateg cts – soft

high flex l ap f th gile and n of ams e. T ory

fac men ents

he stat ectu

tim e ar twa

es in

gies – a twa

h q xibl ppro he p

pra d re f the s ca The y of ce to nt te s th

Pio

tren tus o ure me.

rchi are a

term

s tha low are.

qual le e oac proc acti

efac eir s an b

pro f th

o fa eam he w

otr Z

nd of t hav Acc itec are

ms o

at ca w d

De

lity eno ches cess ces ctor

sys be tr

ope he r ace ms h

wor Zad

aro thei ve b cord

ture sho

of qu

an h defe efec

de ough

s de s an s giv

ring tem reat er w real by hav rld.

ora

ound ir pr beco ding e. P own

ualit

help ect c cts a

esign h to evel nd t ve g de m.

ted way lity- tria ve a In

d. I roje ome g to Prac n on

ty

p to cou are

n m o ch lop then an eve

as of -to- al a a sh n co

It is ects e el o th ctice n Fig

o im unt

als

mak han ers n it alte lop

the man -sof and hare

onse s no s fo lasti

his, es t gur

mpro in t o th

kes nge usu t de erna pers

eorie nag ftwa erro ed u

equ ot u or m

ic a , G that re 1

ove the he m

for as uall egra ativ are

es, ging

are or w und uenc

unk mont and Gartn

t are [El

the co mos

r an new ly m ade ve; u

e no

i.e.

g th ma with ders

ce know

ths eas ner e he lss0

qu de st v

n ap w r mak s o usin ow

mo hese

app h m tan the

wn and sily

rec elpf 08, N

ality is o visib

ppli requ ke v over

ng abl

ode e mo ping more din y k

for d ye infl com ful NeA

y of ofte ble

icat uire very r tim

pra le t

els o ode g is e th ng o

kno r te ears fluen mme in i Ap0

f so en s ind

tion eme y go me actic

to c

of th els l s a han

of h w

eam s.

nce end imp 09].

oftw syno dica

n th ents

ood as ces cont

he r lead hu eno how how

ms t

ed b ds a prov

.

ware ony atio

at i s ar d de it i lik tinu

real ds t uma oug w th w t to

by an v-

e:

y- n

is re e- is ke u-

l- to an gh he to

(3)

g

F

t c d f b s b

m s w

• B o o c c gies

Fig.

tice cau date fect bein stan ber

mod sear with Bui ofte or n cod cod Th s sh

2. S

It e. M se o e al ts o ng i nd a of

dify rch h ot ildin en o

nev de w deba her how

Strat

can Main

of a lso once

inh and

def y th hing ther ng or a ver whic

ase e ar wn o

tegy

n b ntai a be

dim e fo here

com fect

he c g fo r m less alwa use ch m

alm re s on F

dep

e c nin ette mini ound

ntly mm s in

cod or a mem s – ays ed.

mak mos

som Figu

pend

oun ng th er u

ishe d. I y ea mun

n th e w an e mber onl . M On kes st al me i ure

denc

nted he t unde es t Imp asie nica

e sy when

erro rs o ly a More ne w s it

lwa mp 2 [R

ies

d th theo erst the prov

er t ate t yste

n a or t of th

abou e th way eas ays h porta Ref

hat t ory tand

num ving to c

the em.

a req that he t

ut 2 han y to sier

has ant fC1

ther y of ding mbe g th chan the

quir t ha

eam 20%

60%

o im to s few

dep 11].

re a f the g of er o he d nge eory

rem as b m ab

% of

% o mpro und wer pen

are e co

f th of d desi e. B y of

men been

bou f fu of a ove ders r de nden

few ode he e

defe ign Build

f the nt ch

n re ut th unct all f e th stan efec

ncie

w ad ma exis

ects als din e co

han epo he m

tion func he q nd a cts.

es b

dva akes ting s an so m

g le ode

nge orte mod nali ctio qual and betw

anta s it g de nd t mak ess e an

occ d, del

ty w onal

lity d m

wee

ages eas esig the kes co nd is

curs and and whi lity of ain en t

s of sier gn.

diff it e de s di

s, th d th d th ich bui f so

tain the

f gi r to

Ke fficu easi

ma irec

hey hey he c

is u ilt i ftw n. A

afo

iven mo eepi

ulty er t akes ctly

y kn co ode usu in s ware Add orem

n st odif ing y in

to r s it

rel now omm

ebas ally softw e is ditio

men

trate fy t

the fix rem eas late

w w mun se.

y bu war to onal ntion

egie the e th xing move sier

d to wher

nica

uilt re i

wr lly ned

es i des heor g th e er r to o th

re to ate

is u s ra rite sm d str

in p sign ry u hose rror un he n

o g we

use arel les alle rate

prac n be up t e de rs b nder num go

ll

ed ly ss er e-

c- e- to e-

y r- m-

(4)

2

I

f o s c s p t

F

t d p t m m

m g d t o q b i w 268

Imp

first of g set t com syst pab thes

Fig.

the dev ple, to th mat mos

mos gram dev this of m que bee imp whe

pro

D t pr give they mes

tem le t se p

3. S

Fo top velo , de he o ted st d Th st d mm velo

s tec mon ently n d prov en d

ovi

eve racti en e y n dow m to

to im prac

Steps

or i p of oper evel oth dev diffi

he p diffi ming oper

chn nths y A disc ve t dev

ng

elop ices envi eed wn be mp ctice

s for

imp f Fig r te lope her t

velo icul

pra ficul

g is rs w niqu s be Agile cove

tow velo

so

pers s of iron d to to f cre rov es in

r cho

prov gur sts, ers thre ope lt of ctic lt t

fre who

ue b efor e pr ered ward oper

oftw

s us f th nme

get find eated ve th n or

oosi

ving re 1 , au sho ee p er te f th ces to d eque

are by a re d ract d. F ds th

r te

war

sual e A ent h

t th ding

d. F he q rder

ing a

g qu . Fo utom ould prac

ests is s inv do f entl e us agre dec

tice Faci he g eam

re

lly s Agile hav he m

g th Figu

qua r rel

and

uali our mat d co ctic s, an set t volv from ly s sed eein idin es s

ing goa m sta

qu

star e m ve b most he h

ure ality late

imp

ity, r of ed ons es.

nd t to a ved m t seen

to ng a ng w

how wi al o arts

alit

rt IT meth

been t ou igh 3 c y of ed to

plem

the f the acc ide

Ne then adop in the n as

wo as a wh w p ith of in s ad

ty

T p hodo

n ch ut o hest cont f th o ef

menti

e m e pr cept r to ext s n fi pt c imp

bo s a rkin a te

eth prob

diff ncre dopt

Pio

in t

proje olog hose of th val tain e so ffec

ing p

most ract tanc o ad step final

corr prov ody

wa ng a eam

er i blem fficu

ease ting

otr Z

the

ects gy.

en, he p lue ns de

oftw ctive

prac

t va tice

ce t dopt p to lly rect vin of ste alon m to

it is ms t ultie ed q g do

Zad

e A

s w Th dev prac pra epe war ene

ctice

alua es ar test t pa o co aut tly).

ng th Ag of ne.

pra s w

that es i qua one

ora

Agil

with hen, velo ctice actic ende re. T ss s

es

able re i ts, a air p onsi

tom . he q gile

reso De acti worth

t ha is a ality e sta

le c

gen on oper

es t ce th enci The show

e se inde and pro ider mate

qua e pr our evel ice h a ave a ch y. A ates

con

nera nce t rs n they hat ies ere i

wn

et o epen d pa ogra r sh ed a

ality ract rces lope pai dop alw han A go

s fo

nte

al i the need y ch wil betw is a

in t

of p nde air p amm houl acce

y of tice s an

ers ir p ptin way ce ood or th

ext

dea firs d to hoos

ll fi wee also

that

prac ent:

pro min ld b epta

f so s. F nd u

sho prog ng p ys b to c d ex

he a of

st p o be se.

it in en p o a m

t fig

ctice do ogra g a be d ance

ftw For unco ould gram perm been

cor xam firs

f ho prac e aw

Ch nto t prac

mea gure

es a one

amm as a

don e te

ware ex om d co mm man n th rrec mple st ti

ow ctice ware oos the ctic asu e.

are sta min sup ne st

est

e ar xam fort onsi ming nen here t a e of

ime to c es th e of sing con ces t ure w

tho ate, ng. F

ppo tate (pro

e so mple

tabl ider g fo

tly.

e bu pro f thi e. T

cho that f the g a p ntex

that whi

ose aut For ort p e an oba

ome e pa le t r to or a

M ut h oble is h This

oose be e m prac xt o

t are ich

nea tom r ex prac nd a ably

e of air

o m o try co Most have em happ

is e th

st f mind

ctic f th e ca

put

ares mate

xam ctic auto y th

f th pro man

y ou upl

fre e no an pen sce he fit d- ce he a-

ts

st ed m-

ce o- he

he o- ny

ut le e- ot nd ns e-

(5)

nario when a team frequently works on multiple features at a time and at the end of the iteration there is a lot of work in the middle and nothing fully completed.

This is discouraging and a common response is to stop doing the practice instead of examining the reason of problems and looking for alternatives to correct them in the next iteration.

Another good approach of dealing with these practices are “small steps” be- cause many of them are completely new that may slow down development and cause frustration. It should be taken one practice at a time, performed well, and then used regularly. There is an issue of examining whether the practice is per- formed well. The estimation may be based on the value that the developers team originally hoped to achieve. If a practice is completely easy and comfortable from the first time, or has not noticeably improved the quality of work done then the team most probably did not performed it well.

Much of what developers are working on at the moment do not provide immediate sense. For example – writing the tests first, before writing working code in the automated developer tests practice is non-intuitive. It causes the issue of what is the real achievement by doing things backward? Those who have suc- cessfully adopted this practice have “suspended their disbelief” and done it any- way. After experientially learning the practice such developers then made their judgments about its utility and usually kept doing it because of the value seen.

Merging heavy methods with Agile practices

Every Project Manager can successfully integrate Agile principles and prac- tices with heavyweight approaches to improve software quality, by understand- ing and applying that Agile is not made for projects as Project Managers define projects but more likely for product management. Product management is con- cerned with the life of the product; from conception, through development and eventually to discontinuation. Projects are not concerned with the ongoing im- provement or enhancement of a product over the entire lifecycle of that product.

A project is all about the creation of something but when the something is created the project is done [InfoQ11]. Understanding that subtle difference, it is informa- tive to find out how Agile practices can be merged with heavyweight methods and whether there are some similarities or common elements between them.

One of the most known “heavy” methods of software development is the Rational Unified Process (RUP) created by the Rational Software Corporation, a division of IBM since 2003 [Eweek02]. RUP is not a single concrete prescriptive process, but rather an adaptable and iterative process framework, intended to be tai-

(6)

Piotr Zadora 270

lored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs [Wiki14].

Many of Agile Modeling principles and practices are a part of the Unified Process (UP) already, although perhaps not as explicitly as it could be. It is rela- tively straightforward for teams using Unified Process to adopt Agile practices if they choose to do so. This is because the Unified Process is very flexible and let the developers to choose elements that meet their unique needs. Below is the list of Agile practices used in modeling phase which may be adopted within Unified Process framework [AMRUP08]:

• active stakeholder participation,

• applying modeling standards,

• applying patterns gently,

• applying the right artifacts,

• collective ownership,

• creating of several models in parallel,

• depicting models simply,

• discarding temporary models,

• displaying models publicly,

• formalizing of contract models,

• iteration to another artifact,

• modeling in small increments,

• modeling with others,

• proving with code,

• reusing of existing resources,

• single source information,

• updating only when it is needed,

• using of the simplest tools.

Agile principles used in modeling define project stakeholders, users, man- agement, operations staff, and support staff which are compatible with the Uni- fied Process. The UP clearly includes project stakeholders, such as users and customers, throughout most of it disciplines. To be successful project teams should allow project stakeholders to take on modeling roles such as Business Process Designer and Requirements Specifier as appropriate, there is nothing in the RUP preventing this by the way. The more active project stakeholders are the less of a need there will be for reviews, management presentations, and other overhead activities that reduce team’s development velocity.

The application of modeling standards, in particular the diagrams of the Unified Modeling Language (UML), is a significant part of the Unified Process.

Furthermore the RUP product includes guidelines for the creation of many mod-

(7)

eling artifacts, guidelines that developers team should consider adopting and fol- lowing as appropriate, and explicitly suggests that the guidelines should be tai- lored or even bend to suit developers needs.

Unified Process teams are free to apply modeling patterns, the RUP product describes many common modeling patterns for any of the modeling disciplines.

Practice of applying patterns enhances Unified Process with its advice to ease into the application of a pattern. There is no explicit clarification of this concept within Unified Process framework.

Considering application of the right artifacts it should be stated that one of the advantages of the Unified Process is that it provides advice for when to cre- ate each type of model, even for non-UML artifacts such as data models and user interface storyboards (UI flow diagrams).

Agile concept of collective ownership can be used to enhance the efforts on Unified Process projects, assuming that the team behaviour supports the concept of open and honest communication. The UP supports collective ownership with its strong focus on configuration management issues. Developer teams should al- low anyone on the project to access and work on any artifact that they wish, in- cluding models and documents.

Unified Process clearly includes concept of creation several models in par- allel. However, this concept could be communicated better because the near- serial flow in its activity diagrams presented for each major modeling activity doesn’t communicate this concept well. There is a larger issue as well when you consider the lifecycle as a whole. Because the UP has organized its modeling ef- forts into separate disciplines, for very good reasons, it is not as apparent that not only could developer work on several business modeling artifacts in parallel but he could also work on requirements oriented artifacts, analysis-oriented artifacts, architecture artifacts, and design artifacts as well.

The practice of depicting models in straightforward way is a choice made by the modeler, albeit one that must be implicitly supported by the rest of the development team. Unified Process teams will need to adopt modeling guide- lines that allow models that are just good enough and the customers of those models (including programmers, project stakeholders, and reviewers) must also be willing to accept simple models. This issue is one of the most difficult for many organizations to adopt.

Modelers on Unified Process teams are free to discard anything that they wish. As with the simplicity practices your organization’s culture must accept the concept of developing and maintaining just enough models and documents and no more.

(8)

Piotr Zadora 272

Unified Process teams are free to follow practice of showing models pub- licly. Developer teams should follow the principle of open and honest communi- cation by making all artifacts available to everyone.

The Unified Process includes the concept of integrating with external sys- tems. These systems are typically identified on use case models and there is sug- gestion to introduce “boundary classes” as implementation of the interface to these systems. The interaction between systems could be specified with one or more use cases and the corresponding realization of them would be the formal- ized contract model. Hence, the adoption of this Agile practice can make a posi- tive contribution to strengthening the integration capabilities of enterprise appli- cation realized according to Unified Process approach.

The practice of iteration to another artifact can be easily adopted by Unified Process team. Understanding of UP’s modeling activities as quasi-serial proc- esses and the division of modeling activities into separate disciplines can hinder the iterative mindset required of Agile developers.

The practice of modeling in small increments is clearly an aspect of the Unified Process. The UP’s support for iterations implies that model established at the beginning will be incrementally developing throughout the project. This is obvious that smaller, simpler models may quickly lead to implementation and testing.

Unified Process implicitly includes the practice of modeling with others which clearly defines several roles played by one or more people. The subse- quent Agile practice of proving with code is also included in Unified Process framework. At the end of every iteration, except the Inception phase, the UP specifically states that the team should have a working prototype. Furthermore, the UP insists that developers have a working end-to-end prototype at the end of the Elaboration phase that proves given architecture.

Reusing of existing resources is an implicit part of the Unified Process. Fur- thermore, reuse management is an explicit part of the Enterprise Unified Proc- ess. Developer teams should prefer to reuse existing resources instead of build- ing them from scratch, including but not limited to existing models, existing components, open source software, and existing tools.

According to single source of information practice, there is no reason why developers cannot store information in a single place when following Unified Process. Unfortunately, many organizations choose to instantiate the RUP in a documentation-driven manner, and as a result they are proceeding with heavy load and clearly take a multi-source approach.

(9)

Considering the practice of updating only when it is needed, many devel- oper teams in reality prove to have a problem with this concept, particularly if they have a strong habit of checking relations between aspects of project arti- facts, the support for which is a strong feature of Unified Process as it is an im- portant aspect of its Configuration and Change Management discipline. Fur- thermore, Rational Unified Process includes tool mentors for working with Rational RequisitePro, a requirements tracing tool, making it appear easy to maintain a traceability matrix between artifacts.

Developer organizations with strong habit of checking relations between project artifacts will often choose to update them regularly, even if it is not nec- essary at the moment. Such attitude should be replaced with another one which allows to maintain a traceability matrix between artifacts only when there is clear benefit to do so and project stakeholders authorize the effort.

Rational Unified Process product includes tool mentors that make it easier for teams to work with tools sold by Rational Corporation. However, in reality many developer teams are using another development tools which suit their needs and Rational tools are just one of the competitors in this area.

References

[AMRUP08] Agile Modeling and the Rational Unified Process (RUP). Available http://www.agilemodeling.com/essays/agileModelingRUP.htm, 2008.

[Elss08] Elssamadisy A.: Agile Adoption Patterns: A Roadmap to Organizational Success. Addison-Wesley Professional, 2008.

[Eweek02] Taft D.K.: IBM Acquires Rational. Available: http://www.eweek.com/c/a/

Desktops-and-Notebooks/IBM-Acquires-Rational, 2002.

[InfoQ11] Flahiff J.: Integrating Agile into a Waterfall World. Available:

http://www.infoq.com/articles/agile-in-waterfall-world, 2011.

[NeAp09] Gartner Identifies New Approach for Enterprise Architecture. Available http://www.gartner.com/it/page.jsp?id=1124112, 2009.

[RefC11] Agile Adoption: Improving Software Quality. Available: http://refcardz.com, 2011.

[Wiki14] Rational Unified Process. Available: http://en.wikipedia.org/wiki/ Rational _Unified_Process, 2014.

(10)

Piotr Zadora 274

ŁĄCZENIE PRAKTYK AGILE Z PODEJŚCIEM UNIFIED PROCESS W CELU DOSKONALENIA JAKOŚCI OPROGRAMOWANIA

Streszczenie

Wytwarzanie oprogramowania wysokiej jakości stanowi jedno z największych wyzwań stojących przed deweloperami. W artykule zaprezentowano koncepcję wykorzystywania praktyk Agile, która sprzyja wytwarzaniu oprogramowania wysokiej jakości. Przedstawiono również jedną z możliwości łączenia praktyk Agile z tradycy- jnymi „ciężkimi” podejściami. Zdaniem Autora wykorzystanie zalet obu podejść, zami- ast przeciwstawiania ich sobie, powinno prowadzić do skutecznego tworzenia opro- gramowania wysokiej jakości.

Cytaty

Powiązane dokumenty

Automated developer tests are a set of tests that are written and maintained by developers to reduce the cost of finding and fixing defects − thereby improving code quality − and

Гнучкі методології розробки і Scrum-підхід до управління проектами використовувалися тільки командами, розташованими в одному центрі розробки та

The influ- ence of a  lung volume reduction with intrabronchial valves on the quality of life of patients with heterogeneous emphy- sema — a prospective study. Welling

The primary goal of the empirical research in this paper is to respond to the research question about knowledge management aspects, issues and challenges of

First, some labels or building passport are created to give insight into housing quality in order to promote maintenance and improvement of the quality of a specific dwelling..

Siarka w bioetanolu – przyczyny rozbieżności wyników oznaczenia zawartości techniką fluorescencji UV i ICP-OES Z praktyki laboratoryjnej INiG – PIB wynika, że w

This is because the risk from storm surges is calculated using damage curves; the thicker is the water layer covering the buildings, the higher is the value of losses.. The break-

BP-CQCF (Business Process - Compositional Quality Computation Framework), a language-independent generic framework and algorithm to compute the quality of a