software development life cycle · 3. what is software development life cycle (sdlc)? softw are...

22
Software Development Life Cycle 7 3. What is Software Development Life Cycle (SDLC)? Software Development Life Cycle consists of details steps and activities which describes how to design, develop, maintain, replace, alter, enhance, test or even launch a software. The activities can be broken down into a very detail level but at the same time they can be grouped into five (5) core categories: Plan, Design, Develop, Test and Deploy. Below is a graphic representation which displays a typical Software Development Life Cycle. Figure 1 - Software Development Cycle Plan Design Develop Test Deploy

Upload: others

Post on 31-Jul-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 7

3 . W h a t i s S o f t w a r e D e v e l o p m e n t L i f e C y c l e ( S D L C ) ?

S o f t w a r e D e v e l o p m e n t L i f e C y c l e c o n s i s t s o f d e t a i l s s t e p s a n d

a c t i v i t i e s w h i c h d e s c r i b e s h o w t o d e s i g n , d e v e l o p , m a i n t a i n ,

r e p l a c e , a l t e r , e n h a n c e , t e s t o r e v e n l a u n c h a s o f t w a r e .

T h e a c t i v i t i e s c a n b e b r o k e n d o w n i n t o a v e r y d e t a i l l e v e l b u t a t

t h e s a m e t i m e t h e y c a n b e g r o u p e d i n t o f i v e ( 5 ) c o r e c a t e g o r i e s :

P l a n , D e s i g n , D e v e l o p , T e s t a n d D e p l o y .

B e l o w i s a g r a p h i c r e p r e s e n t a t i o n w h i c h d i s p l a y s a t y p i c a l

S o f t w a r e D e v e l o p m e n t L i f e C y c l e .

F i g u r e 1 - S o f t w a r e D e v e l o p m e n t C y c l e

Plan

Design

DevelopTest

Deploy

Page 2: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 8

S t a g e 1 : P l a n

P l a n n i n g u s u a l l y h a p p e n s a f t e r t h e r e i s a n i n n o v a t i o n o r i n i t i a t i o n

t h a t c o m e u p f r o m a g r o u p o f b u s i n e s s e n d - u s e r s o r a s p o n s o r

w h o m i d e n t i f y a n e e d o r a n o p p o r t u n i t y . W i t h i n t h e p l a n n i n g

s t a g e , s c o p e o r b o u n d a r y o f c o n c e p t s a r e d e f i n e d . P r o d u c t

f e a s i b i l i t y s t u d y i n f i n a n c i a l , o p e r a t i o n a l a n d t e c h n i c a l a r e a s w i l l

b e c o n d u c t e d b y t h e s e n i o r m e m b e r s o f t h e t e a m w i t h t h e i n p u t

f r o m t h e b u s i n e s s u s e r s . Q u a l i t y A s s u r a n c e a n d R i s k m a n a g e m e n t

p l a n a r e a l s o p r e p a r e d a t p l a n n i n g s t a g e t o m i n i m i z e a n y

u n p r e d i c t a b l e r i s k s . B u s i n e s s C a s e D o c u m e n t a t i o n ( B S D ) s h o u l d b e

r e a d y a t t h i s s t a g e t o s u m m a r i z e a l l t h e i d e a s a n d h a v e h o l i s t i c

v i e w o f t h e f u l l p l a n .

S t a g e 2 : D e s i g n

P r o d u c t d e s i g n i s s t a r t e d w i t h a c l e a r d e f i n i t i o n o f r e q u i r e m e n t s .

S o f t w a r e R e q u i r e m e n t S p e c i f i c a t i o n ( S R S ) d o c u m e n t w h i c h

c o n s i s t s o f a l l t h e d e t a i l s o f t h e p r o d u c t r e q u i r e m e n t s s h o u l d b e

a p p r o v e d b y t h e c l i e n t s o r t h e c u s t o m e r s b e f o r e p r o d u c t d e s i g n

b e g i n s .

W i t h S R S i n h a n d s , m o r e t h a n o n e d e s i g n o f t h e p r o d u c t

a r c h i t e c t u r e w i l l b e p r o p o s e d b a s e d o n t h e r e q u i r e m e n t s i n S R S .

T h e y w i l l b e d o c u m e n t e d i n a D e s i g n D o c u m e n t S p e c i f i c a t i o n

( D D S ) b y t h e j u n i o r m e m b e r s o f t h e t e a m a n d p a s s e d t o t h e s e n i o r

m e m b e r s , p r o j e c t s t a k e h o l d e r s f o r r e v i e w . D D S w i l l b e e v a l u a t e d

b a s e d o n v a r i o u s c r i t e r i a b u t n o t l i m i t e d t o b u d g e t , t i m e , u s e r -

f r i e n d l i n e s s , r i s k , i n t e g r a t i o n , e t c .

S t a g e 3 : D e v e l o p

A f t e r t h e b e s t o r t h e m o s t a p p r o p r i a t e d e s i g n h a s b e e n s e l e c t e d ,

i m p l e m e n t a t i o n s t a r t s i m m e d i a t e l y . P r o g r a m m e r s s h o u l d d e v e l o p

t h e s o f t w a r e a c c o r d i n g t o t h e D D S a n d a t t h e s a m e t i m e f o l l o w

t h e c o d i n g s t a n d a r d s d e f i n e d b y t h e c o m p a n y ’ s c l o s e l y .

P r o g r a m m i n g t o o l s s h o u l d b e l i m i t e d t o t h o s e p r o v i d e d b y t h e

c o m p a n y a s w e l l t o e n s u r e a l l p r o g r a m m e r s c a n a l i g n t h e i r w o r k s .

F u n c t i o n a l S p e c i f i c a t i o n ( F S ) s h o u l d b e w r i t t e n b y p r o g r a m m e r s t o

r e c o r d a l l t h e f u n c t i o n s t h a t a r e p r o v i d e d a t a t e c h n i c a l l e v e l .

Page 3: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 9

S t a g e 4 : T e s t

S o f t w a r e t e s t i n g s h o u l d b e c o n d u c t e d a t a l l s t a g e s a s a s u b -

s t a g e . N o n e t h e l e s s , t w o ( 2 ) m a j o r o n e s s h o u l d b e d o n e b y

p r o g r a m m e r s , e n d - u s e r s a n d q u a l i t y a s s u r a n c e e x p e r t s . T h e r e a s o n

i s t h a t p r o g r a m m e r s k n o w t h e b e s t o f h o w t h e p r o g r a m w o r k s a n d

t h e r e f o r e t h e y c a n i d e n t i f y t h e m o s t v u l n e r a b l e a r e a s o f t h e

s o f t w a r e . E n d - u s e r s w o u l d p a y m o r e a t t e n t i o n s t o t h e i r r o u t i n e

t a s k s w h i c h c a n h e l p t o e n s u r e t h e s o f t w a r e c a n f u l f i l l t h e

r e q u i r e m e n t s . L a s t b u t n o t l e a s t , q u a l i t y c o n t r o l e x p e r t s e x a m i n e

t h e s o f t w a r e a s w h o l e f r o m v a r i o u s p e r s p e c t i v e s s u c h a s

a r c h i t e c t u r e , s e c u r i t y , i n t e g r a t i o n w i t h o t h e r s y s t e m s , e t c . A s a

r e s u l t , a f e w d i f f e r e n t t y p e s o f t e s t p l a n s s h o u l d b e p r e p a r e d f o r

t h e t h r e e g r o u p s o f t e s t e r s t o c o n d u c t a t t h e t e s t s t a g e .

S t a g e 5 : D e p l o y

F i r s t t h i n g t o d o a t d e p l o y m e n t s t a g e i s t o v e r i f y a l l t h e t e s t c a s e s

w e r e r u n t o e n s u r e s u c c e s s f u l s o f t w a r e e x e c u t i o n ,

c o m p r e h e n s i v e n e s s a n d c o r r e c t n e s s .

F i n a l d e c i s i o n s h o u l d b e m a d e i f t h e s o f t w a r e s h o u l d b e d e p l o y e d

t o t h e p r o d u c t i o n e n v i r o n m e n t a n d t h e r e f o r e a p p r o v a l s h o u l d b e

s e e k i n g f r o m m a n a g e m e n t i n t h i s s t a g e . D e p l o y m e n t P l a n ( D P )

s h o u l d b e w e l l - d e f i n e d a n d a p p r o v e d t o c a r r y o u t a n y c h a n g e s

t h a t i s g o i n g t o m a k e . G u i d e l i n e d o c u m e n t a t i o n s s h o u l d a l s o b e

p r e p a r e d s u c h a s I n s t a l l a t i o n g u i d e , a d m i n i s t r a t i o n g u i d e a n d

u s e r g u i d e . S u p p o r t t e a m m e m b e r s s h o u l d b e r e a d y t o a n s w e r a l l

s o r t o f q u e s t i o n s r e g a r d i n g t o t h e s o f t w a r e . F i n a l l y , C o n t i n g e n c y

P l a n s ( C P ) s h o u l d b e c r e a t e d a c c o r d i n g t o t h e f i n a l i z e d s o f t w a r e .

F o r n e w l y i m p l e m e n t e d s o f t w a r e , a c o m m o n s o l u t i o n i s p o s t p o s i n g

t h e s o f t w a r e l a u n c h d a y t o r e d o a n d r e t e s t . F o r a r u n n i n g

s o f t w a r e , v e r y l i k e l y r o l l i n g b a c k t o t h e p r e v i o u s v e r s i o n o r

p o s t p o s i n g t h e l a u n c h d a y t o f i x t h e d e f e c t s w o u l d b e t h e

c h o i c e s .

Page 4: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 1 0

4 . W h y d o w e n e e d S o f t w a r e D e v e l o p m e n t L i f e

C y c l e ?

T h e r e i s a l w a y s a h u g e t e m p t a t i o n t o i m p l e m e n t a s o f t w a r e

w i t h o u t p l a n n i n g o r d e s i g n i n g e s p e c i a l l y f o r a s m a l l o r m e d i u m

s i z e p r o j e c t . P r o g r a m m e r s t e n d t o a r g u e t h a t t h e t i m e t h a t i s

s p e n t o n p l a n n i n g i s a l r e a d y g o o d e n o u g h f o r t h e m t o d o t h e

p r o g r a m m i n g w o r k a n d d e l i v e r t h e p r o d u c t . M a n a g e m e n t s a l s o

t e n d t o f o c u s o n e f f i c i e n c y a n d m a k i n g u s e o f t h e l e a s t a m o u n t o f

r e s o u r c e s t o g e t t h e “ s a m e ” r e s u l t .

H o w e v e r , t h e r e a r e c e r t a i n r e a s o n s t o e x p l a i n w h y w e n e e d

S o f t w a r e D e v e l o p m e n t L i f e C y c l e .

R e a s o n 1 : Q u a l i t y A s s u r a n c e a n d Q u a l i t y C o n t r o l

T h e d e f i n i t i o n o f Q u a l i t y A s s u r a n c e i s a s e t o f a c t i v i t i e s f o r

e n s u r i n g q u a l i t y i n t h e p r o c e s s o f t h e p r o d u c t d e v e l o p m e n t .

M e a n w h i l e , t h e d e f i n i t i o n o f Q u a l i t y C o n t r o l i s a s e t o f a c t i v i t i e s

f o r e n s u r i n g q u a l i t y o f t h e d e v e l o p e d p r o d u c t . W h i l e Q A a i m s o n

p r e v e n t i n g d e f e c t s b y f o c u s i n g t h e p r o c e s s o f t h e p r o d u c t

d e v e l o p m e n t , Q C a i m s o f i d e n t i f y i n g t h e d e f e c t s b y e x a m i n i n g

t h e f i n i s h e d p r o d u c t . T h e g o a l o f Q A i s t o e l i m i n a t e a s m u c h

d e f e c t a s i t c a n t o i m p r o v e t h e Q C p r o c e s s e s . T h e g o a l o f Q C i s

t o i d e n t i f y a n y d e f e c t t h a t i s m i s s e d i n Q S p r o c e s s e s . T h u s , w i t h

Q A a s a p r o a c t i v e q u a l i t y p r o c e s s a n d Q C a s r e a c t i v e q u a l i t y

p r o c e s s , t h e s e t w o p r o c e d u r e s h e l p t o e n s u r e t h e p r o d u c t t h a t i s

d e l i v e r e d i s u p t o h i g h s t a n d a r d w i t h o u t c o m i n g w i t h s o m e

u n r e a s o n a b l e i s s u e s .

Page 5: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 1 1

R e a s o n 2 : E a s i e r i m p l e m e n t a t i o n c o n t r o l

W i t h i n t h e f i v e ( 5 ) c o r e s t a g e s i n S D L C , m u l t i p l e d o c u m e n t a t i o n s

s h o u l d b e p r e p a r e d t o g i v e g u i d e l i n e s a n d i n s t r u c t i o n s f o r t h e

p r o g r a m m e r s a n d t e s t e r s t o f o l l o w a n d f o r t h e m a n a g e m e n t s a n d

a p p r o v e r s t o b e a c k n o w l e d g e d a n d a p p r o v e o n t h e a c t i v i t i e s a n d

a c t i o n t a k e n . B u s i n e s s C a s e , S o f t w a r e R e q u i r e m e n t S p e c i f i c a t i o n

( S R S ) , D e s i g n D o c u m e n t S p e c i f i c a t i o n ( D D S ) , F u n c t i o n a l

S p e c i f i c a t i o n , T e s t P l a n , D e p l o y m e n t P l a n , e t c . a r e a l l w e l l -

d e f i n e d a t e a c h s t a g e . W i t h a l l t h e d o c u m e n t a t i o n s , n o t m u c h

s u r p r i s e s o r f r e e - s t y l e w o r k s c a n b e f o u n d i n t h e u n e x p e c t e d a r e a s

w h i c h i m p l i e s r e q u i r e m e n t s c a n b e f u l f i l l e d a n d p r o j e c t s c h e d u l e

c a n b e m e t a s p l a n n e d .

R e a s o n 3 : F u l f i l l u s e r r e q u i r e m e n t s o r e v e n e x c e e d i n g t h e i r

e x p e c t a t i o n s

A s m e n t i o n e d e a r l i e r , Q u a l i t y A s s u r a n c e ( Q A ) a n d Q u a l i t y C o n t r o l

( Q C ) h e l p t o e n s u r e t h e p r o d u c t d e l i v e r i n g a s u s e r r e q u i r e d w i t h

z e r o t o l i m i t e d n u m b e r o f d e f e c t s i n g o o d q u a l i t y . N e v e r t h e l e s s ,

v e r y h i g h c h a n c e s t h a t u s e r s w o u l d l i k e t o f u r t h e r e n h a n c e t h e

d e l i v e r e d p r o d u c t d u e t o b u s i n e s s c h a n g e a n d t e c h n i c a l u p g r a d e

i s n e c e s s a r y d u e t o t e c h n o l o g y i m p r o v e m e n t s . H e n c e , i n t h e

d e s i g n s t a g e , d e s i g n e r s n o t o n l y g i v e r e s o l u t i o n s f o r t h e

r e q u i r e m e n t s b u t a l s o t a k e c o n s i d e r a t i o n s o f i n t e g r a t i o n w i t h p e e r

s y s t e m s , f l e x i b i l i t y a n d a v a i l a b i l i t y o f e n h a n c e m e n t s , m a x i m u m

s y s t e m l o a d d u e t o i n c r e a s i n g o f u s e r s , e t c . T h e s e “ h i d d e n ”

r e q u i r e m e n t s a r e u s u a l l y n o t s t a t e d i n t h e u s e r r e q u i r e m e n t s b u t

t h e y a r e e x p e c t e d t o b e w e l l - t h o u g h t - o u t i n e v e r y p r o d u c t .

Page 6: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 1 2

5 . R o l e s

T o e f f e c t i v e l y i m p l e m e n t a s o f t w a r e w i t h t h e a b o v e m e n t i o n e d

f i v e c o r e s t a g e s , t h r e e ( 3 ) k e y m e m b e r s s h o u l d a l w a y s i n v o l v e i n

t h e p r o j e c t s w h o m t a k e u p m o r e t h a n 9 5 % o f t h e a c t i v i t i e s i n

S D L C . T h e t a k e u p d i f f e r e n t r o l e s i n e a c h s t a g e t o c r o s s c h e c k

a n d m o n i t o r e a c h o t h e r ’ s w o r k t o e n s u r e e a c h d e c i s i o n m a d e i n

t h e S D L C i s v a l i d a n d n e c e s s a r y .

P r o j e c t M a n a g e r

D e f i n e p r o j e c t s c o p e a n d g o a l s

B u d g e t c o n t r o l

R e s o u r c e a l l o c a t i o n

B u s i n e s s d o c u m e n t a t i o n s

C o o r d i n a t e h i g h - l e v e l m a n a g e m e n t a s p e c t s o f p r o j e c t

R o l l o u t a p p r o v a l

B u s i n e s s A n a l y s t / S y s t e m A n a l y s t

I n t e r a c t w i t h e n d - u s e r d u r i n g i m p l e m e n t a t i o n

B u s i n e s s & S y s t e m D o c u m e n t a t i o n s

E v a l u a t e b u s i n e s s r e q u i r e m e n t s

D e s i g n s y s t e m a r c h i t e c t u r e , b u s i n e s s f l o w a n d u s e r i n t e r f a c e s

E n s u r e b u s i n e s s n e e d s a r e p r o p e r l y a n a l y z e d a n d c o r r e c t l y

i m p l e m e n t e d i n t h e s o l u t i o n

F a c i l i t a t e r e l a t i o n s h i p b e t w e e n b u s i n e s s a n d t e c h n i c a l r o l e s

Q u a l i t y A s s u r a n c e a n d C o n t r o l

P r o g r a m m e r / S o l u t i o n D e v e l o p e r

I n t e r p r e t b u s i n e s s r e q u i r e m e n t s a n d t r a n s l a t e t h e m i n t o a

d e p l o y a b l e s o l u t i o n

T e c h n i c a l s t u d y

R e s o l v e P r o d u c t d e f e c t s

P r e p a r e f u n c t i o n a l s p e c i f i c a t i o n s

P e r f o r m t e s t i n g i n a c c o r d a n c e w i t h a g r e e d s t r a t e g y

Page 7: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 1 3

6 . S o f t w a r e D e v e l o p m e n t L i f e C y c l e M o d e l s

T h e r e a r e v a r i o u s s o f t w a r e d e v e l o p m e n t l i f e c y c l e m o d e l s d e f i n e d

w h i c h a r e d e s i g n e d f o r d i f f e r e n t t y p e s o f p r o j e c t . E a c h m o d e l

f o l l o w s a s e r i e s o f u n i q u e s t e p s t h a t b e s t f i t t o i t s p r o j e c t t y p e t o

e n s u r e s u c c e s s p r o c e s s o f s o f t w a r e d e v e l o p m e n t . W a t e r f a l l ,

I t e r a t i v e , A g i l e & S c u m a n d R a p i d A p p l i c a t i o n D e v e l o p m e n t ( R A D )

a r e i d e n t i f i e d a s t h e m o s t p o p u l a r m o d e l s b e i n g u s e d i n t h e

i n d u s t r y a n d t h e y w i l l b e i n t r o d u c e d o n e b y o n e i n d e t a i l s a s

f o l l o w s :

M o d e l 1 : W a t e r f a l l

W a t e r f a l l m o d e l i s t h e e a r l i e s t , b e s t - k n o w n a n d m o s t c o m m o n l y

u s e d m e t h o d o l o g y . I t i s a s e q u e n t i a l l i f e c y c l e t h a t i s s i m p l e t o

u n d e r s t a n d a n d u s e . E a c h p h a s e h a s t o b e c o m p l e t e l y f i n i s h e d

b e f o r e a n o t h e r s t a r t w h i c h m e a n s n o o v e r l a p p i n g i s a l l o w e d . T h e

o u t p u t o f e a c h p h a s e s e r v e s a s t h e i n p u t f o r t h e n e x t s t a g e .

A p i c t o r i a l i l l u s t r a t i o n o f W a t e r f a l l M o d e l c a n b e f o u n d b e l o w :

F i g u r e 2 - W a t e r f a l l A p p r o a c h

Requirement

Design

Implementation

Testing

Deployment

Maintenance

Page 8: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 1 4

6 P h a s e s o f W a t e r f a l l M o d e l

1 . R e q u i r e m e n t

R e q u i r e m e n t P h a s e m a i n l y f o c u s e s o n c o m m u n i c a t i n g w i t h

b u s i n e s s u s e r s t o g a t h e r a n d a n a l y z e r e q u i r e m e n t s . P r o j e c t

m a n a g e r s t r y t h e i r b e s t t o u n d e r s t a n d a n d a n a l y z e t h e

b u s i n e s s , c a p t u r e a l l t h e d e t a i l s o f u s e r ’ s n e e d s , d e f i n e t h e

s c o p e a n d a r r a n g e r e s o u r c e s i n t h e B u s i n e s s C a s e

D o c u m e n t a t i o n .

2 . D e s i g n

W i t h t h e B u s i n e s s C a s e D o c u m e n t a t i o n i n h a n d p r e p a r e d i n

R e q u i r e m e n t P h a s e , B u s i n e s s A n a l y s t s e v a l u a t e a n d s t a r t o n t h e

l o g i c a l d e s i g n t h e s o f t w a r e b y m a k i n g u s e o f t h e i n f o r m a t i o n

a n d r e q u i r e m e n t s t h a t a r e c o l l e c t e d b y t h e P r o j e c t M a n a g e r s .

B a s e d o n t h e h i g h - l e v e l d e s i g n w h i c h h a s f u l f i l l e d a l l t h e u s e r

r e q u i r e m e n t s , S y s t e m A n a l y s t s t r a n s f o r m t h e h i g h - l e v e l d e s i g n

t o t h e p h y s i c a l d e s i g n w h i c h p u t h a r d w a r e a n d s o f t w a r e

t e c h n o l o g y i n t o c o n s i d e r a t i o n . S y s t e m a r c h i t e c t u r e i s d e f i n e d

a t D e s i g n P h a s e a s w e l l .

3 . I m p l e m e n t a t i o n

I m p l e m e n t a t i o n P h a s e i s w h e r e t h e a c t u a l c o d e i s w r i t t e n .

P r o g r a m m e r s d e v e l o p t h e s o f t w a r e a c c o r d i n g t o t h e

i n s t r u c t i o n s r e c o r d e d o n t h e d o c u m e n t s p r e p a r e d i n

R e q u i r e m e n t a n d D e s i g n p h a s e s . T h e i r o u t p u t i s t h e F u n c t i o n a l

S p e c i f i c a t i o n w h i c h f i l e s a l l t h e d e t a i l s o f t h e f u n c t i o n s t h a t

a r e i m p l e m e n t e d .

4 . T e s t i n g

W i t h t h e i n p u t s f r o m t h e I m p l e m e n t a t i o n P h a s e , t e s t e r s i n

T e s t i n g P h a s e w i l l d r a f t t h e T e s t P l a n s b a s e d o f t h e F u n c t i o n a l

S p e c i f i c a t i o n . P r o g r a m m e r s p r e p a r e t h e T e s t P l a n i n a c h e c k

l i s t t o e x a m i n e i f e v e r y f u n c t i o n a r e e x e c u t a b l e a s e x p e c t e d .

B u s i n e s s A n a l y s t s p r e p a r e t h e T e s t P l a n f o r t h e u s e r s w h i c h

f o c u s e s o n m e e t i n g t h e u s e r r e q u i r e m e n t s . F i n a l l y , Q u a l i t y

C o n t r o l ( Q C ) e x p e r t s g a t h e r a l l t h e d o c u m e n t a t i o n s f r o m a l l

p r e v i o u s p h a s e s a n d d o a n o v e r a l l t e s t o n e v e r y a s p e c t o n a

d e e p e r l e v e l t h a t a r e d o c u m e n t e d i n c l u d i n g s y s t e m

a r c h i t e c t u r e , t e c h n o l o g y u s e d , e t c .

Page 9: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 1 5

5 . D e p l o y m e n t

A f t e r r e c e i v i n g a “ P A S S ” f r o m t h e T e s t i n g P h a s e , t h e p r o d u c t i s

s a i d t o b e r e a d y t o r e l e a s e . S o f t w a r e o r A p p l i c a t i o n w i l l e i t h e r

b e d e p l o y e d t o p r o d u c t i o n s e r v e r s o r r e l e a s e f o r u s e r s t o i n s t a l l

o n t h e i r o w n m a c h i n e .

6 . M a i n t e n a n c e

I n r e a l i t y , i t i s i n e v i t a b l e t h e r e a r e s o m e d e f e c t s o r i s s u e s c o m e

u p . I n a d d i t i o n , t h e w o r l d k e e p s c h a n g i n g e v e r y d a y a n d a s a

r e s u l t e n h a n c e m e n t s a r e n e c e s s a r y f r o m t i m e t o t i m e .

M a i n t e n a n c e P h a s e i s f o r c a t e r i n g s u c h s i t u a t i o n a n d d e l i v e r

c h a n g e s t o t h e u s e r s a g a i n . W i t h i n M a i n t e n a n c e P h a s e , a

s u b s e t o f S D L C W a t e r f a l l M o d e l i s i n v o l v e d .

I n p u t s a n d O u t p u t s o f e a c h p h a s e a r e s u m m a r i z e d a n d i l l u s t r a t e d

a s b e l o w :

F i g u r e 3 – D o c u m e n t a t i o n s f o r W a t e r f a l l A p p r o a c h

1. Requirement

• Business Case Documentation

2. Design

• Software Requirement Specification

• Design Documentation Specification

3. Implementation

• Functional Specification

4. Testing

• Test Plans

5. Deployment

• Deployment Plan

• Contingency Plan

Page 10: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 1 6

A p p l i c a t i o n s o f m o d e l

A p p r o p r i a t e s i t u a t i o n s f o r u s i n g W a t e r f a l l M o d e l i n t h e S D L C :

L i m i t e d a m o u n t o f a m b i g u o u s o r u n c o n f i r m e d

r e q u i r e m e n t s

A s o f t w a r e t h a t n e e d s w e l l - d o c u m e n t e d d o c u m e n t a t i o n s

U s e o f m a t u r e t e c h n o l o g i e s a n d n o t d y n a m i c

M a n a g e m e n t c a n p r o v i d e e n o u g h r e s o u r c e s a n d e x p e r t s

t o p i c k u p t h e r o l e a t e a c h p h a s e

S i m p l e a n d s m a l l p r o j e c t

A d v a n t a g e s a n d D i s a d v a n t a g e s

A d v a n t a g e s

E a s i e r t o m a n a g e a s t h e r e i s c l e a r s c h e d u l e f o r e a c h

s t a g e t h a t g i v e s c l e a r m i l e s t o n e s

E a s i e r t o c o n t r o l w i t h l i m i t e d e x t e r n a l f a c t o r s a s n o

o v e r l a p p i n g d e v e l o p m e n t p h a s e

P r o v i d e e x t e n s i v e d o c u m e n t a t i o n s

M o r e d i s c i p l i n e d a n d p r o v i d e d i s t i n c t a c t i o n s f o r t h e

p r o j e c t t o m o v e f o r w a r d a s t h e d e v e l o p m e n t m o v e f r o m

c o n c e p t , d e s i g n , i m p l e m e n t a t i o n , t e s t i n g ,

t r o u b l e s h o o t i n g , r u n n i n g a n d t h e n m a i n t e n a n c e .

D i s a d v a n t a g e s

C a n n o t h a v e s c o p e c h a n g e o r r e q u i r e m e n t c h a n g e

C a n n o t p r e v i e w t h e p r o d u c t u n t i l t h e d e p l o y m e n t p h a s e

N o t f l e x i b l e t o h a n d l e u n e x p e c t e d r i s k s

L i m i t e d c o m m u n i c a t i o n w i t h u s e r s a s b o u n d e d t o b e d o n e

a t t h e b e g i n n i n g a n d t h e e n d o f t h e p r o j e c t

M o r e r e s o u r c e s a r e n e e d e d a n d s o m e o f t h e t e a m m a t e s

m i g h t b e i d l e f o r a l o n g d u r a t i o n

P o o r m o d e l f o r l o n g o r o n g o i n g p r o j e c t s a s t h e p r o j e c t s

w i l l p r o b a b l y n e v e r c o m e t o t h e e n d a n d r e a c h t h e l a s t

p h a s e

Page 11: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 1 7

M o d e l 2 : I t e r a t i v e

I t e r a t i v e M o d e l w o r k s o n t h e s i m p l i f i e d r e q u i r e m e n t s w h i c h a r e

t h e s u b s e t o f t h e s o f t w a r e o r a p p l i c a t i o n r e q u i r e m e n t s . T h e

“ p r o d u c t ” i s i t e r a t i v e l y e n h a n c e d a n d e v o l v e d t o t h e f i n a l

p r o d u c t f o r d e p l o y m e n t . I t i s c a l l e d a s a “ b u i l d ” f o r e a c h

i t e r a t i o n . S o a t e a c h b u i l d , d e s i g n a m e n d m e n t s a n d n e w

f u n c t i o n a l i t i e s a r e a d d e d t o t h e p r o d u c t . W i t h i t e r a t i v e m o d e l ,

t h e s o f t w a r e i s i m p l e m e n t e d b y s m a l l p o r t i o n s a t a t i m e .

A p i c t o r i a l i l l u s t r a t i o n o f I t e r a t i v e M o d e l i s d e m o n s t r a t e d b e l o w :

F i g u r e 4 - I t e r a t i v e A p p r o a c h

Design

Implement

Test

Design

Implement

Test

Design

Implement

Test

Design

Implement

Test

Design

Implement

Test

Requirements

Deployment

Maintenance

Page 12: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 1 8

6 P h a s e s o f I t e r a t i v e M o d e l

1 . R e q u i r e m e n t

S a m e a s W a t e r f a l l M o d e l , R e q u i r e m e n t P h a s e f o c u s e s o n

c o m m u n i c a t i n g w i t h b u s i n e s s u s e r s a n d p r e p a r e t h e B u s i n e s s

C a s e D o c u m e n t a t i o n .

2 . D e s i g n

S i m i l a r t o W a t e r M o d e l , B u s i n e s s A n a l y s t s a n d S y s t e m

A n a l y s t s w o r k o n t h e l o g i c a l a n d p h y s i c a l d e s i g n s

r e s p e c t i v e l y t o p r e p a r e t h e S o f t w a r e R e q u i r e m e n t

S p e c i f i c a t i o n a n d D e s i g n S p e c i f i c a t i o n D o c u m e n t . H o w e v e r ,

t h e r e i s d e s i g n w h i c h h o l i s t i c a l l y r e c o r d e d h o w t h e s o f t w a r e

i s g o i n g t o b e i m p l e m e n t e d a n d t h e r e a r e s e v e r a l s u b s e t o f

d e s i g n s f o r p r o g r a m m e r s t o g o t h r o u g h t h e i m p l e m e n t a t i o n

a n d t e s t i n g w h i c h i s i s o l a t e d f r o m o t h e r s u b s e t o f d e s i g n s . I n

a d d i t i o n , t h e s u b s e t o f d e s i g n s c a n b e m o d i f i e d a f t e r e v e r y

r o u n d o f b u i l d . T h e r e f o r e , t h e s u b s e t o f d e s i g n s i s n o t

f i n a l i z e d u n t i l r e a c h i n g t h e D e p l o y m e n t P h a s e .

3 . I m p l e m e n t a t i o n

P r o g r a m m e r s d e v e l o p t h e s o f t w a r e a c c o r d i n g t o t h e s u b s e t

o f d e s i g n p a s s e d f r o m D e s i g n P h a s e . F u n c t i o n a l

S p e c i f i c a t i o n w i l l b e p r e p a r e d f o r e a c h s u b s e t o f

i m p l e m e n t a t i o n .

4 . T e s t i n g

P r o g r a m m e r s , b u s i n e s s u s e r s a n d Q C e x p e r t s w i l l a l l b e

i n v o l v e d f o r e a c h s u b s e t o f t e s t i n g . H o w e v e r , b u s i n e s s u s e r s

w i l l o n l y f o c u s o n t h e l i m i t e d s c o p e t h a t i s c o v e r e d i n t h e

c u r r e n t l y b u i l d b u t p r o g r a m m e r a n d Q C e x p e r t s h a v e t o

c o v e r a l l t h e i m p l e m e n t e d f u n c t i o n s e v e r y t i m e . I n a d d i t i o n ,

f o r t h e l a s t b u i l d b e f o r e g o i n g t o t h e D e p l o y m e n t P h a s e , t h e

t h r e e p a r t i e s n o t o n l y h a v e t o d o t h e s u b s e t o f t e s t i n g , t h e y

h a v e t o c o n d u c t t h e t e s t i n g a s a f u l l s y s t e m t e s t a s w e l l .

5 . D e p l o y m e n t

W i t h n o d i f f e r e n c e f r o m W a t e r f a l l M o d e l , e v e r y t h i n g s h o u l d

b e r e a d y b y t h i s p h a s e a n d a D e p l o y m e n t P l a n f o r r e l e a s e .

Page 13: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 1 9

6 . M a i n t e n a n c e

A g a i n , l i k e W a t e r f a l l M o d e l , i t i s i n e v i t a b l e t h a t e v e r y

s o f t w a r e n e e d s t o b e m a i n t e n a n c e . T h e r e f o r e , a s u b s e t o f

S D L C I t e r a t i v e M o d e l i s g o i n g t o t a k e p a r t i n M a i n t e n a n c e

P h a s e .

I n p u t s a n d O u t p u t s o f e a c h p h a s e a r e s u m m a r i z e d a n d i l l u s t r a t e d

a s b e l o w :

F i g u r e 5 - D o c u m e n t a t i o n s f o r I t e r a t i v e A p p r o a c h

A f t e r e v e r y s u b s e t o f t e s t i n g , i t l o o p s b a c k t o t h e D e s i g n P h a s e

a n d s t a r t s o n t h e n e x t d e s i g n u n t i l i t c o m e s t o t h e v e r y l a s t o n e .

1. Requirement

• Business Case Documentation

2. Design

• Software Requirement Specification

• Design Documentation Specification

3. Implementation

• Functional Specification

4. Testing

• Test Plans

5. Deployment

• Deployment Plan

• Contingency Plan

Page 14: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 2 0

A p p l i c a t i o n s o f m o d e l

A p p r o p r i a t e s i t u a t i o n s f o r u s i n g I t e r a t i v e M o d e l i n t h e S D L C :

M a j o r r e q u i r e m e n t s a r e d e f i n e d b u t t h e m i n o r d e t a i l s m i g h t

e v o l v e w h e n t i m e g o e s

N e w t e c h n o l o g i e s a r e b e i n g u s e d a n d t h e r e i s a l e a r n i n g c u r v e

f o r t h e p r o g r a m m e r s t o l e a r n

R e s o u r c e s a r e l i m i t e d t o d o a h u g e p r o j e c t a s i f a s m a l l p r o j e c t

o r t e a m m a t e s a r e i n c o n t r a c t r a t h e r t h a n p e r m e a n t

V e r y h i g h r i s k a s t h e g o a l o f t h e p r o j e c t m i g h t c h a n g e f r o m

t i m e t o t i m e

A d v a n t a g e s a n d D i s a d v a n t a g e s

A d v a n t a g e s

E a s i e r t o s t a r t o n a c o m p l e x p r o j e c t

P r e v i e w t h e p r o j e c t p e r i o d i c a l l y

P a r a l l e l i m p l e m e n t a t i o n i s a l l o w e d

P r o j e c t c a n s t i l l b e m a n a g e d l i k e w a t e r f a l l M o d e l w i t h

c l e a r s c h e d u l e a n d m i l e s t o n e s

E a s i e r t e s t i n g a n d t r o u b l e s h o o t i n g a t e a c h b u i l d

S u p p o r t a n d l e s s c o s t l y f o r s c o p e o r r e q u i r e m e n t c h a n g e

S u i t a b l e f o r h u g e a n d c o r e p r o j e c t s

B e t t e r c o m m u n i c a t i o n w i t h b u s i n e s s u s e r s a s f e e d b a c k s

c a n b e g a t h e r a t e a c h b u i l d

D i s a d v a n t a g e s

H i g h r i s k d u e t o s y s t e m a r c h i t e c t u r e a n d d e s i g n s k e e p

c h a n g i n g

I s s u e s m i g h t o c c u r f o r i n t e g r a t i o n o f e a c h b u i l d

M o r e m a n a g e m e n t w o r k t o d o t o e n s u r e e a c h b u i l d c a n

m e e t t h e s t a n d a r d

O v e r l a p p i n g i m p l e m e n t a t i o n c o u l d b e c h a o t i c

N e e d m o r e i n v o l v e m e n t o f b u s i n e s s u s e r s

E a s i e r b u t m o r e t i m e i s n e e d e d f o r e a c h t e s t i n g a s e a c h

t e s t i n g h a v e t o c o v e r a l l t h e p r e v i o u s w o r k s

Page 15: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 2 1

M o d e l 3 : A g i l e

A g i l e M o d e l e x t e n d s t h e a d v a n t a g e s o f I t e r a t i v e M o d e l a n d a i m s

o n u s e r s a t i s f a c t i o n a n d p r o d u c t a d a p t a b i l i t y b y r a p i d d e l i v e r i n g

o f p r o d u c t . F r o m R e q u i r e m e n t p h a s e t o D e p l o y m e n t P h a s e , A g i l e

M o d e l b r e a k s t h e p r o d u c t i n t o s m a l l b u i l d s . I n s t e a d o f g o i n g b a c k

t o D e s i g n P h a s e l i k e I t e r a t i v e M o d e l a f t e r e a c h s u b s e t o f t e s t i n g ,

A g i l e M o d e l g o e s t o D e p l o y m e n t P h a s e a n d r e l e a s e t h e p r o d u c t .

T h u s , e a c h b u i l d c o n t a i n s o f s o m e n e w f e a t u r e s a n d f o r t h e v e r y

l a s t b u i l d i t c o n t a i n s a l l t h e r e q u i r e d f e a t u r e s o f t h e s o f t w a r e .

A p i c t o r i a l i l l u s t r a t i o n o f A g i l e M o d e l i s d e m o n s t r a t e d b e l o w :

F i g u r e 6 - A g i l e A p p r o a c h

Requirement

Design

ImplementationTesting

Deployment

Requirement

Design

ImplementationTesting

Deployment

B u i l d 1

B u i l d 2

Page 16: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 2 2

5 P h a s e s o f A g i l e M o d e l

1 . R e q u i r e m e n t

A s r e q u i r e m e n t s c a n n o t b e g a t h e r e d c o m p l e t e l y a t t h e

b e g i n n i n g , c l o s e r e l a t i o n w i t h b u s i n e s s u s e r s i s n e c e s s a r y t o

g a t h e r f e e d b a c k s a f t e r e v e r y r e l e a s e . H o w e v e r , a B u s i n e s s

C a s e D o c u m e n t a t i o n i s s t i l l n e e d e d a t t h e s t a r t u p o f t h e

p r o j e c t t o b r i e f l y d e s c r i b e t h e s c o p e a n d g o a l o f t h e

p r o j e c t . R e s o u r c e s m i g h t h a v e t o e v a l u a t e a n d r e a r r a n g e a t

e a c h b u i l d .

2 . D e s i g n

V e r y l i m i t e d a m o u n t o f t i m e w i l l b e p u t o n d e s i g n i n g t h e

s o f t w a r e a s a w h o l e d u e t o t h e u n c e r t a i n t y . D e s i g n e r s m a i n l y

f o c u s o n t h e b u i l d t h a t i s w o r k i n g o n b u t t h e g o a l o f a l l t h e

b u i l d s w i l l s t i l l f o l l o w t h e s c o p e t h a t i s d e f i n e d i n t h e

B u s i n e s s C a s e D o c u m e n t a t i o n . S o f t w a r e R e q u i r e m e n t

S p e c i f i c a t i o n a n d D e s i g n S p e c i f i c a t i o n D o c u m e n t a t i o n a r e

e x p e c t e d t o b e s h o r t a n d s i m p l e l i s t i n g o u t w h a t i s c o v e r e d

i n t h e c u r r e n t b u i l d .

3 . I m p l e m e n t a t i o n

P r o g r a m m e r s t e n d t o h a v e m o r e “ f r e e d o m ” i n A g i l e M o d e l

i m p l e m e n t a t i o n d u e t o t h e b r i e f d o c u m e n t a t i o n s p r o v i d e d .

H o w e v e r , t h e y a r e s t i l l r e q u i r e d t o f o l l o w s t r i c t l y o n t h e

c o d i n g s t a n d a r d . F u n c t i o n a l S p e c i f i c a t i o n u s u a l l y c o v e r s t h e

c o r e f u n c t i o n s a n d s k i p p i n g t h e d e t a i l s .

4 . T e s t i n g

A v e r y h i g h r e s p o n s i b i l i t y f a l l s o n t h e t e s t e r s d u e t o l i m i t e d

i n f o r m a t i o n f o u n d i n t h e d o c u m e n t a t i o n s e s p e c i a l l y f o r t h e

Q C e x p e r t s . B u s i n e s s u s e r s t e n d t o t e s t o n a v e r y h i g h l e v e l

o r n o t e v e n i n c l u d e s b u s i n e s s u s e r s i n t h e T e s t i n g P h a s e .

5 . D e p l o y m e n t

U s u a l l y p r o d u c t r e l e a s e t o u s e r s t w o – t h r e e ( 2 - 3 ) w e e k s

a f t e r t h e r e q u i r e m e n t s h a v e b e e n p l a c e d . D e p l o y m e n t P l a n

t e n d s t o f o c u s o n h o w t o d e l i v e r t h e p r o d u c t b u t w i t h l i m i t e d

i n f o r m a t i o n o f t h e c o n t i n g e n c y p l a n b e c a u s e a n o t h e r b u i l d

w i l l b e c o m i n g u p t i g h t l y a n d t h e i s s u e c a n b e f i x e d t h e r e .

Page 17: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 2 3

6 . M a i n t e n a n c e ( N o t n e c e s s a r y )

N o t n e c e s s a r y f o r A g i l e M o d e l a s t h e n e x t b u i l d i s c o m i n g u p

a n d c a n b e d o n e i n t h e n e x t b u i l d .

I n p u t s a n d O u t p u t s o f e a c h p h a s e a r e s u m m a r i z e d a n d i l l u s t r a t e d

a s b e l o w :

F i g u r e 7 - D o c u m e n t a t i o n s f o r A g i l e A p p r o a c h

A g i l e M o d e l d o e s n ’ t p a y t o o m u c h a t t e n t i o n o n t h e

d o c u m e n t a t i o n a s W a t e r f a l l a n d I t e r a t i v e M o d e l s . A l t h o u g h t h e

s a m e s e t o f d o c u m e n t a t i o n s a r e e x p e c t e d t o b e r e a d y a t e a c h

p h a s e , t h e i n f o r m a t i o n t h a t c a n b e f o u n d i n e a c h d o c u m e n t a t i o n

i s v e r y l i m i t e d .

1. Requirement

• Business Case Documentation

2. Design

• Software Requirement Specification

• Design Documentation Specification

3. Implementation

• Functional Specification

4. Testing

• Test Plans

5. Deployment

• Deployment Plan

• Contingency Plan

Page 18: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 2 4

A p p l i c a t i o n s o f m o d e l

N o d e t a i l i n f o r m a t i o n i s p r o v i d e d f r o m b u s i n e s s u s e r s

F e a t u r e s d r i v e n p r o j e c t

P r o d u c t r e q u i r e m e n t s c h a n g e d y n a m i c a l l y

H a v e r e s o u r c e s o n t e s t i n g

C l o s e c o l l a b o r a t i o n w i t h i n t h e t e a m

C l o s e r e l a t i o n s h i p w i t h b u s i n e s s u s e r s

A d v a n t a g e s a n d D i s a d v a n t a g e s

A d v a n t a g e s

R e a l i s t i c a p p r o a c h – w h a t y o u n e e d t h e m o s t , i m p l e m e n t

f i r s t ; w h a t i s l e s s i m p o r t a n t , i m p l e m e n t l a s t

F u n c t i o n a l i t i e s c a n b e d e v e l o p e d a n d d e l i v e r e d p r o m p t l y

L e s s r e s o u r c e s a r e r e q u i r e d d u e t o t h e b y b u i l d a p p r o a c h

D e l i v e r t h e p r o j e c t p e r i o d i c a l l y w i t h n e w f u n c t i o n s

M o r e f r e e d o m a n d f l e x i b i l i t y a t e a c h p h a s e e s p e c i a l l y f o r

p r o g r a m m e r s

L e s s d o c u m e n t a t i o n s a n d r u l e s t o f o l l o w

D i s a d v a n t a g e s

V e r y h i g h r i s k s f o r m a i n t e n a n c e a n d e x t e n d i b i l i t y

N o t s u i t a b i l i t y f o r c o m p l e x a n d c o r e p r o j e c t s

P r o j e c t M a n a g e r s h a v e t o f o l l o w c l o s e l y a t a l l t i m e t o

c h e c k i f t h e b u i l d s s t i l l f o l l o w i n g t h e s c o p e t h a t i s d e f i n e d

D e p e n d s h e a v i l y o n b u s i n e s s u s e r s ’ f e e d b a c k w h i c h c o u l d

d e l a y t h e p r o j e c t s a n d d e l i v e r w r o n g p r o d u c t i f b u s i n e s s

u s e r s a r e n o t s u r e w h a t t h e y a c t u a l l y w a n t

T o o m u c h i n d i v i d u a l d e p e n d e n c y a s n o t m u c h

d o c u m e n t a t i o n t o f o l l o w

T r a n s f e r o f k n o w l e d g e t o n e w j o i n e r s c o u l d b e h a r d d u e t o

l a c k o f d o c u m e n t a t i o n s

Page 19: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 2 5

M o d e l 4 : R a p i d A p p l i c a t i o n D e v e l o p m e n t ( R A D )

R a p i d A p p l i c a t i o n D e v e l o p m e n t ( R A D ) f o c u s e s o n g a t h e r i n g u s e r

r e q u i r e m e n t s t h r o u g h w o r k s h o p s , t e s t o n t h e p r e - r e l e a s e d

p r o t o t y p e s c o n d u c t e d b y u s e r s a n d t h e n r e u s e t h e p r o t o t y p e s t o

f u r t h e r d e v e l o p t h e p r o d u c t . A p r o t o t y p e i s a w o r k i n g m o d e l t h a t

i s f u n c t i o n a l l y e q u i v a l e n t t o p a r t o f t h e r e l e a s i n g p r o d u c t .

M i n i m a l o r n o s p e c i f i c p l a n n i n g i s i n v o l v e d a t a l l w h i c h c a n m a k e

t h e t e a m t o c o p e w i t h t h e c h a n g e s i n t h e d e v e l o p m e n t p r o c e s s

a n d f a v o r s f a s t e r p r o d u c t d e l i v e r y . R A D M o d e l i s b a s i c a l l y

a s s e m b l i n g t h e w o r k i n g p a r t s t o g e t h e r t o g e n e r a t e t h e p r o d u c t i n

l i m i t e d o f t i m e f o r b u s i n e s s u s e r s t o q u i c k l y p r o v i d e f e e d b a c k

r e g a r d i n g t h e r e q u i r e m e n t s .

A p i c t o r i a l i l l u s t r a t i o n o f R A D M o d e l c a n b e f o u n d b e l o w :

F i g u r e 8 - R a p i d A p p l i c a t i o n D e v e l o p m e n t A p p r o a c h

Prototype 1

Prototype 2

Prototype 3

Final Releasing Product

Page 20: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 2 6

5 P h a s e s o f R A D M o d e l

1 . B u s i n e s s M o d e l i n g

T h e i n f o r m a t i o n f l o w a n d t h e i n f o r m a t i o n d i s t r i b u t i o n a r e

i d e n t i f i e d b e t w e e n d i f f e r e n t b u s i n e s s c h a n n e l s . A B u s i n e s s

A n a l y s i s R e p o r t i s p r e p a r e d t o f i n d o u t t h e e s s e n t i a l

i n f o r m a t i o n f o r t h e b u s i n e s s s u c h a s h o w i t c a n b e a c q u i r e d ,

h o w i t c a n b e p r o c e s s e d a n d w h a t a r e t h e e l e m e n t s d r i v i n g

t h e i n f o r m a t i o n f l o w a n d d i s t r i b u t i o n .

2 . D a t a M o d e l i n g

W i t h t h e i n p u t s o f B u s i n e s s M o d e l i n g P h a s e , a l l t h e n e c e s s a r y

i n f o r m a t i o n s h o u l d h a v e b e e n i d e n t i f i e d . A t D a t a M o d e l i n g

P h a s e , t h e i d e n t i f i e d i n f o r m a t i o n i s t r a n s f o r m e d t o c e r t a i n

d a t a s e t s o r d a t a o b j e c t s w h i c h w i l l b e f u r t h e r e v a l u a t e d

a n d d e f i n e d t h e i r r e l a t i o n s h i p s i n r e l e v a n c e t o t h e B u s i n e s s

M o d e l .

3 . P r o c e s s M o d e l i n g

T h e d e f i n e d d a t a s e t p a s s e d f r o m D a t a M o d e l i n g P h a s e w i l l

b e f u r t h e r p r o c e s s e d b y a d d i n g b u s i n e s s i n f o r m a t i o n f l o w t o

a c h i e v e t h e b u s i n e s s o b j e c t i v e s t h a t a r e i d e n t i f i e d a t

B u s i n e s s M o d e l i n g P h a s e . A n y c h a n g e s o r e n h a n c e m e n t s o n

t h e d a t a s e t s w i l l b e d o n e a t P r o c e s s M o d e l i n g P h a s e .

O p e r a t i o n o f c r e a t e , r e t r i e v e , u p d a t e o r d e l e t e ( C R U D ) o f a

d a t a o b j e c t s h o u l d b e d e f i n e d a t t h i s p h a s e a s w e l l .

4 . A p p l i c a t i o n G e n e r a t i o n

A u t o m a t e d t o o l s w i l l b e u s e d t o c o n v e r t a l l t h e P r o c e s s

M o d e l s i n t o p r o g r a m c o d e a n d p u l l t h e m t o g e t h e r a s a

p r o t o t y p e .

5 . T e s t i n g & T u r n o v e r

T h e n e w l y g e n e r a t e d p r o t o t y p e w i l l b e i n d e p e n d e n t l y t e s t e d

a t t h i s p h a s e w i t h o u t t a k i n g c o n s i d e r a t i o n o f t h e f u n c t i o n s

t h a t a r e i m p l e m e n t e d i n o t h e r p r o t o t y p e s . H o w e v e r , t h e

i n t e g r a t i o n b e t w e e n p r o t o t y p e s s h o u l d b e t e s t e d t h o r o u g h l y .

Page 21: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 2 7

A p i c t o r i a l i l l u s t r a t i o n o f t h e i n p u t s a n d o u t p u t s f o r e a c h

p r o t o t y p e i s s h o w n :

F i g u r e 9 - D o c u m e n t a t i o n s f o r R a p i d A p p l i c a t i o n D e v e l o p m e n t

A p p r o a c h

A p p l i c a t i o n o f m o d e l

B u s i n e s s u s e r s t e n d t o c h a n g e t h e i r r e q u i r e m e n t s f r o m t i m e

t o t i m e d u e t o t h e d y n a m i c b u s i n e s s e n v i r o n m e n t

S o f t w a r e t h a t i s f e a s i b l e t o b e m o d u l a r i z e d

S o f t w a r e t h a t i s a c c e p t a b l e t o b e d e l i v e r e d p a r t b y p a r t

D e s i g n e r s w h o h a v e t h e b u s i n e s s k n o w l e d g e a n d k n o w t h e

r e l a t i o n s h i p b e t w e e n p r o t o t y p e s

F o r c o m p a n i e s t h a t h a v e e n o u g h b u d g e t t o o w n a u t o m a t e d

c o d e g e n e r a t o r

Business Modeling

• Business Analysis Report

Data Modeling

• Data Sets / Data Objects

Process Modeling

• Data Sets / Data Obejcts with functionalities

Application Generation

• Program / Codes

Testing & Turnover

• Prototype

Page 22: Software Development Life Cycle · 3. What is Software Development Life Cycle (SDLC)? Softw are Devel opment Li fe Cycl e con si st s of det ail s st ep s an d a cti viti es whi ch

S o f t w a r e D e v e l o p m e n t L i f e C y c l e 2 8

A d v a n t a g e s a n d D i s a d v a n t a g e s

A d v a n t a g e s

C a n t o l e r a t e f r e q u e n t r e q u i r e m e n t c h a n g e

M e a s u r a b l e p r o g r e s s

H i g h i n t e g r a t i o n a s i t i s d e s i g n e d t o i n t e g r a t e w i t h o t h e r

p r o t o t y p e s a t a l l t i m e

M o r e c o m m u n i c a t i o n w i t h b u s i n e s s u s e r s w h i c h c a n b e

d o n e a f t e r e a c h p r o t o t y p e r e l e a s e

P r e v i e w a n d R e v i e w t h e p r o d u c t p e r i o d i c a l l y

L e s s p r o g r a m m e r d e p e n d e n t w i t h a u t o m a t e d c o d e

g e n e r a t o r

S h o r t e r S D L C R A D t i m e

D i s a d v a n t a g e s

D e p e n d i n g t o o m u c h o n t h e a u t o m a t e d c o d e g e n e r a t i n g

t o o l s

C o u l d h a v e p e r f o r m a n c e o r t e c h n i c a l l y i s s u e s w i t h

a u t o m a t i o n

C o s t l y a u t o m a t i o n t o o l s

R e q u i r e d s k i l l f u l d e s i g n e r s w h o h a v e t h e b u s i n e s s

k n o w l e d g e a n d t h e t e c h n i c a l s k i l l s

L i m i t e d t o m o d u l a r i z a t i o n a v a i l a b l e s o f t w a r e

T o o m u c h d e p e n d e n c y o n b u s i n e s s u s e r s ’ f e e d b a c k a n d

t h e y h a v e t o b e i n v o l v e d a t t h e w h o l e S D L C R A D p r o c e s s

R e q u i r e m e n t s c o u l d b e t o o d y n a m i c

N o t m u c h d o c u m e n t a t i o n s

H i g h l y d e p e n d s o n t h e B u s i n e s s A n a l y s i s R e p o r t