Agile Software Development: case of small team and small project
!"# Agile *+,* * * -./* ! , .0" 12 ."*,*, 3 +,4*4!!", ."* !, !, 50,, ."* *50 6!!!- 4*-7*8 9, *,4#+,4! 8 9 4* Agile " 8 8:/.*,3 ! 4* Agile .;-./* + #8< ;8 , 6.,- , ,5!3 484*-.8:/.."* !, . *,3 - 5"!8:/.- ,+0* 4!,#5* 4!8 6# ;!8 ,, "
Agility Agile 8< !! 4* 8= .1. 2001 .", # -.6+* #4" . , *., Agility +!*8< ;8 ! " -
"The ability to move faster than those things that can harm your project" Agility 5- !8" 8",* 8" 8", *,+" *, , , 5,4!*8" 8",- , ! - ." ! 3 ,*8" 8", ! , (EF8) +0-7/"0 (8" Requirement) " F"O (8" OS O2 F F" -.*3 ;8=) !5 " .".",8" 8", ,8< .;+"." 6-.6, 1
Agile 68< - , *- , 3 1
/ # $
( ( ) Requirement)
+ !"
! & * ! ! ! ! , - ."
% & !" ( / ! ' ( % & ) )
X
-
-
X
X
-
X
X
X
Agility 56, Agile 68< , ;!;*,. 6, -.6# , * " " 8R!, !-.*3 S 8T*,3 ","." " *48 *,3 ,6. , F8 (8< !"# 4* 4 ", 4* 1 8=) *,4# +7* ."* 58 ;-7- 5 9 3 4! Release !" -.57 -7, 4!,* 3 8 F7 - ."3 ! 1. 8:/. Integration " Deployment 4!,*8:/.,"# release *" 8< 8:/.!,"* " 6-.! - 4!*5;! 8:/.! Integration . Deployment ,5 6, 7 * -74! 2. 8 O! " 7 - *" 7 ,-.!6*, 6/ ;! - " ." *,7 *3 6-.,.# 8\. 0*4*4" " !,+"! - 6, ,.# 8\.-"3 3. 8 +", 4!* *" release 2
0- - F8 ** , ,4*.# O 0* 5 6- , 48-7- " !./"!6 /- 8 !# *,3 (7* 8 O !. * 6" "!#) - *, 4* - ;!- Deployment " .# , *3 . ;3 ! 6-.6, *, ; , 6-.5 release 4!*, ! 6 automation installer -.! deployment 4!*,!# Design ' ( ) ) " , 4*64*4! 98 ! ,F,,, " .*,* * , 6-.!- - , , *5485," ! Method, data type, parameters ."6!6, *,3 *7! *, 4,! 4* F! ,485,* 4 4! F! - - , F!S - , -7F F" ,4*; * ,4* "*," !.6 8< ,48* *3 ", !2.4!,* , "29 !, 1. 6. ! ,1,- 7* 9 Class * " ;7 . " Class - , *,3 2. Reversibility 588" * *,3 - O.",4!F! * 3 ,"# 3. Simple 4*6, 4 , 68< -7"*, 8 O
3
* Test 6 8T Test !.;+"*,3 * ," Test 4** * ..",F8 +"*6# - ."3 ! 4!* 1. ;9O Code 7*"!E- F8 8< +"F!, 5 refactor code 4!F!4* " E, E4!# Test 2. ;9O Design 5 Design * Test * method -! Test "6!,* method 48 5 Test * Design Design 4!, 4* -7, , (. F!! 8< ) 3. ;9O Document Test ! 5,6, , method *,";5 0" Test 4864!!
,- Test - 0*- ;O2-."-7 ,." -7 Test 4!* Unit Test -7 Test * 4* side-effect .4* ,* 3 " Mock Test * 68< ,!** 3
Test 6-.8:/." 484!# ,* Test 4
# " . refactor - O.", " ,!+""4! 6/,- ! design " documentation * Code 01 23045" * F8*" * . ,, 50* *."*.", F!S "6, 8< ",; -." Coding -. !" ,. ,, ,;* +" 58 O- maintain code 4!8< *,! ,." Code F!* !, 1. * ,* code -.- *F8* k6 4l 4!,F!4*,* comment comment -.- *F8* k 4l (- ."3 "56 documentation comment 4!F 7* .NET -7* nDoc Java -7 Javadoc) -7 enum 4* quick hack -.F86, 4!F! +1 -1 F!+0* 4*5- 4! 4* -.!0S"!. ! 8 O 48 * 4! 2. Test ,* * 8< query(* -.5 ,8 ) command(* 8" 8",5 ,8 ) " query !"!# side-effect &'()"*+,-+ ./012 Test "03 Class "#4* .. ."*, method *" method 6, **,! - !, abstraction 3 3. Debug ,* Handle . propagate exception -."; (4*6 catch *,8"*,4) -* error message 8< 8 F7 4- exception .;,8:/.*,!# 8 O, error message -. 8:/. ! 4!* 5
i. Program defects +0 ,"48F8* ii.Environment problems +0!0" 544! iii. User Error 4*,4-!3 +0-7 ,-**-.*- 08 50, 8T."* 7*8 O- maintain F8 " 6-.4*!8T9 ; ; k,4,#4! *48 class/method l 5 3*'3"* - 4* Agile -7",; - 6 documentation 09,* -78< ,- 6, -., - * .# 4!*+ , " ! 48,* F0, *8" + ;9O ! .+ -74*4! , Agile ,." " ,6 documentation - 4*4!-7 +" 68< , 3 5,- -., 4! + , " " !,, 4!. 9 !.;* 58" 8",4!"!" " 8 O0, - Agile 7* Stand up meeting 8 7; 6. !-. . 8< 8 6 7* " 2 , F!- 8 7;; , 8< " -.; -7"0!;*, 8 O F!, ; ,0!65 3 I. * 8 7;4!6 448, II. 6 4-.,* 8 7;,*48 III. 6 8:/. 4! , "- 8 7;4* " 3
*,4#5 !;7*."." !.", stand up meeting 4! Project Management Software F!- 6 PivotalTrakcer 8< , Agile ! *,3 6
!, I. ; Design -.8< !* " "#!*,, 8< user story II. ; -.-.6/, !8 F7 ,*+0-7 !4*-.6, , 4*!8 F7 *+0-7 ., E,, III. ; review code IV. 58 #- 6, " 7*!, F 6, # 66. !
1 PivotalTracker
Mailing list -7*,8 !# 0"*,3 -.,- " -78< 70 7* *, CRC Design -.*3 -* !2" *,6.", 8:/. - , Message - version control 8< , 60*" -7 Stand up meeting ,. ,, " - - 8: ; -7 PivotalTracker O,. ,*! 5, " -7 mailing list !0- , *3 6, ,48
7
;3 +.,* 7*6-. , !"# !"# 8 O ! .", 6 *,3 488T " .,* 7* ; - Agile -.;3 ! Agile , 0* 4*4!"*5,- 7* ,16, -.. 6, Agile, -. F F" 8" 8",*,!#, 6 ,"0 8" 8", requirement . F8 pair programming 8< 5!" *,3 ."* 8 ;-7O!" *, ( ! !F8 "29 ,) 4!*,. - 08 *,3 4!
7" 2 ;2 9 ,. 2552
8