CSE4316 Project Recovery.ppt
Preview:
Citation preview
Project RecoveryProject Recovery
The slides in this presentation are derived from materials in the
textbook used for CSE 4316431!" #apid Development$ Taming %ild
Soft&are
S'hedules " b( Steve )'Connell*
8
2
+ ,ro-e't in Trouble .C*S* 16/10+ ,ro-e't in Trouble .C*S*
16/10
%hat &as the first indi'ationfirst indi'ation of trouble
2o& &as the re'over( planre'over( plan developed %hat
&as the re'over( plan )(thi'al man/month)(thi'al man/month
Signs of denialdenial DefensivenessDefensiveness %as the problem
that people &erent
&orking hard&orking hard enough
8
3
Chara'teristi's of a ,ro-e't in eedChara'teristi's of a ,ro-e't in
eed of a #e'over( ,lanof a #e'over( ,lan
o one kno&so one kno&s &hen the( &ill finish"
and 'ant even guess
,rodu't 5ualit( has plummeted5ualit( has plummeted and defe'ts
are on the rise
Ever(one is &orking long" hard hours&orking long" hard
hours ,eer/pressure and management
8
4
Chara'teristi's of a ,ro-e't in eedChara'teristi's of a ,ro-e't in
eed of a #e'over( ,lanof a #e'over( ,lan
Developers be'ome defensive defensive of their
progress
,ro-e't team .development" marketing" management" et'*0
relationshipsrelationships deteriorate finger pointingdeteriorate
finger pointing
8
5
2o& to 8et Things 9a'k on Tra'k2o& to 8et Things 9a'k on
Tra'k
ThreeThree fundamental approa'hes$ 1* In'rease produ'tivit( b(
fo'using on short/
term gains :* Cut the si;e of the pro-e't so it 'an be
'ompleted &ithin the time and effort planned
3* <a'e the fa'ts = slip the s'hedule" do damage 'ontrol"
possibl( 'an'el the pro-e't
>r .usuall( best0" 'ombine these three'ombine these three$ Drop
a fe& featuresfeatures" in'rease
produ'tivit(produ'tivit(
&hen possible" slip the s'hedules'hedule as
ne'essar(
#e'over( ,lan 9asi's#e'over( ,lan 9asi's
>ne plan does not fit all +dopt a plan that is right for
&here&here (ou are (ou are on (our
pro-e't (our pro-e't
It almost never helps to Cut 'orners .?not enough time
to6@0
+dd people .m(thi'al man/month 0 #el( on silver bullets
.there3s no
?magi'@ 0
<irst Steps<irst Steps
gnifi'ant a'tion is re5uired Same ol" same ol &ont
&orkA
+ppl( Theor(/% anal(sis Theor(/% anal(sis %hat do all
stakeholders need at this
point 2o& does ever(one &in
Bui'k
S'hedule
e&
Te'hnolog(
ser/friendl(
)ore <irst Steps)ore <irst Steps
+sk+sk the team &hat needs to be done Involve
ever(one ever(one
Evaluate all ideas
estimate" and ad-ust a''ordingl(
eople fix these problems and (ou &ill get the most
leverage to&ard getting the pro-e't ba'k on tra'k
,ro'ess,ro'ess fix these problems or (our re'over(
plan &ill fail
,rodu'tTe'hnolog(,rodu'tTe'hnol
eople ,roblems,roblems
+ddress the moralemorale of the team Criti'al to produ'tivit(
,otential +pproa'hes Sa'rifi'e the sa'red 'o&s
Take expli'it a'tion that makes the development team
feel important #emove unreasonable s'hedule pressure
#emove mi'ro/management pra'ti'es
Deal &ith ?problem people@?problem people@ #e'all dis'ussion of
?%el'h 8rid@
Deal &ith ma-or leadershipleadersh
ip problems Is the pro-e't leader &ho got (ou in
this
hole the right one to get (ou out Identif( &here on the team
the
leadership is &eak
( 'arefull(" if at all" if at all 9rookss a&$ +dding
people to a late
pro-e't is like pouring gasoline on fireA Consider adding onl( if
pro-e't 'an be
partitioned to isolate ne& people Err on the side of >T
adding people
<o'us<o'us #emoving
distra'tionsdistra'tions &herever possible
)anaging the)anaging the ,ro'ess,ro'ess
Identif( and fix things that are 'learl( broken or not &orking
Take de'isivede'isive a'tion
Create ?mini/milestones@ )iniature" binar( and exhaustive
)iniature/ 'ompleted in da(s" not &eeks 9inar(/ done or not
done Exhaustive/ &hen last is done" pro-e't is
done )onitor progress &ith finer granularit(finer
granularit(
Always a
Best Practice
)anaging the)anaging the ,ro'ess,ro'ess
Tra'kTra'k s'hedule progress meti'ulousl( )ake sure ?done@ is
1FFG done +sk ?the next 5uestion@ Calibrate and
re'alibrateCalibrate and re'alibrate (our s'hedule Expe't
additional &ork .over/time0 to
make up slips on a mini/milestone
)anaging the)anaging the ,ro'ess,ro'ess
#e'alibrate#e'alibrate the re'over( plan after a short time
after 1 or : &eeks Dont let things get a&a( from (ou
again
)ake ever( re'over( s'hedule a meaningful one Dont give in to
pressure or 'reate ?off/
the/'uff@ estimates
Stabili;eStabili;e the re5uirements nstable" 'hanging
re5uirements ma( be
the root 'auseroot 'ause of all (our problems )a( need to
restart re5uirements phaserestart re5uirements phase Implement a
rigid 'hange evaluationrigid 'hange evaluation
pro'ess for an( further 'hanges Implement minimum time dela(minimum
time dela( to even
'onsider further 'hange
#eining in the#eining in the ,rodu't,rodu't
TrimTrim the feature set ,rioriti;e#e/prioriti;e features
<o'us on features that 'reate best
possible produ't at this time #elegate lo&/priorit( features to
the
next release )inimi;e" minimi;e" minimi;e
Take out the garbagegarbage Eliminate lo& 5ualit(
'omponents
'arefull(A #edo them from the beginningfrom the beginning if
the(
are 'riti'all( needed S(stemati' redesign and implementation
&ill redu'e (our riskA
S(stemati'all( redu'e and manageS(stemati'all( redu'e and
manage further defe'ts Tra'k progress dail(Tra'k progress
dail( Hopen" Hfixed" Hresolved
Dont tr( to take short/'utsshort/'uts short/ 'utting the fix
inevitabl( results in more defe'ts
#eining in the#eining in the ,rodu't,rodu't
Identif( a kno&n good stateIdentif( a kno&n good
state and build on it se as basebase for further &ork
Dail( build and test '('le )ake maintaining the buildmaintaining
the build ea'h da( a
top priorit( Consider a ?developers on 'all@ approa'h
Timing our #e'over( ,lanTiming our #e'over( ,lan
eed to find right balan'eright balan'e bet&een$ Too earl(
= people &ont believe there is
a problem" so the( &ont take (our plan seriousl(