SoftwareEngineeringwithMicrosoftVisualStudio
TeamSystem
BySamGuckenheimer,JuanJ.Perez
...............................................
Publisher:AddisonWesleyProfessional
PubDate:May09,2006
PrintISBN-10:0-321-27872-0
PrintISBN-13:978-0-321-27872-2
Pages:304
TableofContents|Index
SoftwareEngineeringwithMicrosoftVisualStudioTeamSystemiswrittenforany
softwareteamthatisconsideringrunningasoftwareprojectusingVisualStudioTeam
System(VSTS),orevaluatingmodernsoftwaredevelopmentpracticesforitsuse.
Itisaboutthevalue-upparadigmofsoftwaredevelopment,whichformsthebasisof
VSTS:itsguidingideas,whytheyarepresentedincertainways,andhowtheyfitintothe
processofmanagingthesoftwarelifecycle.Thisbookisthenextbestthingtohavingan
onsitecoachwhocanleadtheteamthroughaconsistentsetofprocesses.
SamGuckenheimerhasbeenthechiefcustomeradvocateforVSTS,responsibleforits
end-to-endexternaldesign.Hehaswrittenthisbookasaframeworkforthinkingabout
softwareprojectsinawaythatcanbedirectlytooledbyVSTS.Itpresentsessentialtheory
andpracticalexamplestodescribearealisticprocessforITprojects.
ReaderswilllearnwhattheyneedtoknowtogetstartedwithVSTS,including
Theroleofthevalue-upparadigm(versuswork-down)inthesoftwaredevelopment
lifecycle,andthemeaningsandimportanceof"flow"
TheuseofMSFforAgileSoftwareDevelopmentandMSFforCMMIProcess
Improvement
WorkitemsforplanningandmanagingbackloginVSTS
Multidimensional,dailymetricstomaintainprojectflowandenableestimation
Creatingrequirementsusingpersonasandscenarios
Projectmanagementwithiterations,trustworthytransparency,andfriction-free
metrics
Architecturaldesignusingavalue-upview,service-orientedarchitecture,constraints,
andqualitiesofservice
Developmentwithunittests,codecoverage,profiling,andbuildautomation
Testingforcustomervaluewithscenarios,qualitiesofservice,configurations,data,
exploration,andmetrics
Effectivebugreportingandbugassessment
Troubleshootingaproject:recognizingandcorrectingcommonpitfallsand
antipatterns
ThisisabookthatanyteamusingorconsideringVSTSshouldread.
"Thisisfirstandforemostabookaboutsoftwareengineering.Indiscussingflashpoints
suchasplanning,documentation,governance,auditability,andorganization,Sam
presentsthecaseforbothagileandmoreformalpractices,aswellasdescribingthe
optimalconditionsforeach.EventhoughthematerialispresentedinthecontextofVSTS,
theguidanceisuniversal."
Dr.BillCurtis
chiefprocessofficer,BorlandSoftwareCorporation
"SamGuckenheimerushersintheeraoftrustworthytransparencythatwillrevolutionize
thewaywemanagesoftwaredevelopmentprojects."
DavidJ.Anderson
authorofAgileManagementforSoftwareEngineering
"Thisbookisaneyeopener:adoortoaneweraofsoftwareengineering."
FrancisT.Delgado
seniorprogrammanager,Avanade
SoftwareEngineeringwithMicrosoftVisualStudio
TeamSystem
BySamGuckenheimer,JuanJ.Perez
...............................................
Publisher:AddisonWesleyProfessional
PubDate:May09,2006
PrintISBN-10:0-321-27872-0
PrintISBN-13:978-0-321-27872-2
Pages:304
TableofContents|Index
Copyright
PraiseforSoftwareEngineeringwithMicrosoftVisualStudioTeamSystem
Microsoft.NETDevelopmentSeries
AbouttheAuthor
Foreword
Preface
Acknowledgments
Chapter1.AValue-UpParadigm
AParadigmShift
ContrastingParadigms
AttentiontoFlow
OneWorkItemDatabase
FittheProcesstotheProject
Summary
Endnotes
Chapter2.Value-UpProcesses
MicrosoftSolutionsFramework
Iteration
RiskManagement
FittheProcesstotheProject
Summary
Endnotes
Chapter3.Requirements
What'sYourVision?
WhentoDetailRequirements
PersonasandScenarios
PersonasandScenariosandTheirAlternatives
Exciters,Satisfiers,andDissatisfiers
QualitiesofService
KanoAnalysis
Summary
Endnotes
Chapter4.ProjectManagement
UnderstandingVariation
UsingDescriptiveRatherThanPrescriptiveMetrics
ManyDimensionsofProjectHealth
AnsweringEverydayQuestions
EstimatinganIteration
Triage
SatisfyingtheAuditor
Summary
Endnotes
Chapter5.ArchitecturalDesign
AValue-UpViewofArchitecture
Service-OrientedArchitecture
ConstraintswithDegreesofFreedom
VSTSandService-OrientedArchitecture
QualityofServiceMindset
CitizenshipMindset
DesignforOperations
Summary
Endnotes
Chapter6.Development
AValue-UpViewofDevelopment
QualityfromaDeveloper'sPointofView
UsingTest-DrivenDevelopmenttoEnsureRequirementsClarity
AddressingProgrammingErrorswithCodeReviews,AutomatedandManual
ProvidingImmediateFeedbackwithUnitTestsandCodeCoverage
MakingUnitTestsBetter
PreventingVersionSkew
MakingWorkTransparent
Summary
Endnotes
Chapter7.Testing
AValue-UpViewofTesting
BasicQuestions
AreWeDeliveringtheCustomerValue?
AretheQualitiesofServiceFitforUse?
HaveWeTestedtheChanges?
WhatHaven'tWeTested?
DoesItWorkinProductionasWellasintheLab?
AreWeTestingEnough?
WhenShouldWeTest?
WhichTestsShouldBeAutomated?
HowEfficientIsOurTeam,orOurOutsourcedTeam?
Summary
Endnotes
Chapter8.ReportingBugs
ACautionaryTale
A(Software)Bug'sLife
BugReportingIsLikeJournalism
SubjectiveData
ObjectiveData
AssessmentData
Plan
Summary
Endnotes
Chapter9.TroubleshootingtheProject
Underestimating
DevelopmentPracticesTooLoose
TestsPassing;SolutionDoesn'tWork
SolutionStuckinTesting
Summary
Endnotes
Chapter10.Conclusion
ExpectedCriticisms
Value-Up,Again
Endnotes
Index
Copyright
Manyofthedesignationsusedbymanufacturersandsellersto
distinguishtheirproductsareclaimedastrademarks.Where
thosedesignationsappearinthisbook,andthepublisherwas
awareofatrademarkclaim,thedesignationshavebeenprinted
withinitialcapitallettersorinallcapitals.
Theauthorandpublisherhavetakencareinthepreparationof
thisbook,butmakenoexpressedorimpliedwarrantyofany
kindandassumenoresponsibilityforerrorsoromissions.No
liabilityisassumedforincidentalorconsequentialdamagesin
connectionwithorarisingoutoftheuseoftheinformationor
programscontainedherein.
Thepublisheroffersexcellentdiscountsonthisbookwhen
orderedinquantityforbulkpurchasesorspecialsales,which
mayincludeelectronicversionsand/orcustomcoversand
contentparticulartoyourbusiness,traininggoals,marketing
focus,andbrandinginterests.Formoreinformation,please
contact:
U.S.CorporateandGovernmentSales
(800)382-3419
ForsalesoutsidetheU.S.,pleasecontact:
InternationalSales
VisitusontheWeb:www.awprofessional.com
LibraryofCongressCatalogNumber:
Guckenheimer,Sam,1956SoftwareengineeringwithVisualstudioteam
system/SamGuckenheimer,JuanJ.Perez.
p.cm.
ISBN0-321-27872-0(pbk.:alk.paper)
1.MicrosoftVisualstudio.2.Softwareengineering.3.Microsoft.NETFramework.I.Perez,Juan
J.II.Title.
QA76.758.G822006
005.1--dc22
2006004369
Copyright©2006SamGuckenheimer
Allrightsreserved.PrintedintheUnitedStatesofAmerica.This
publicationisprotectedbycopyright,andpermissionmustbe
obtainedfromthepublisherpriortoanyprohibited
reproduction,storageinaretrievalsystem,ortransmissionin
anyformorbyanymeans,electronic,mechanical,
photocopying,recording,orlikewise.Forinformationregarding
permissions,writeto:
PearsonEducation,Inc.
RightsandContractsDepartment
75ArlingtonStreet,Suite300
Boston,MA02116
Fax:(617)848-7047
TextprintedintheUnitedStatesonrecycledpaperatR.R.
DonnelleyinCrawfordsville,Indiana.
Firstprinting,May2006
Dedication
Tomywife,Monica,whosesupportmadethisbookpossible.
PraiseforSoftwareEngineeringwith
MicrosoftVisualStudioTeamSystem
"Fascinating!ThisbookispackedwithdetailsaboutVSTS'
capabilities,andthereasonbehindwhythesecapabilities
wereincludedintheVSTSproductinformationthatonlyan
internalteammembercouldprovide.Perhapsmore
importantly,eachtechnicalcapabilityorhow-toinstruction
isencasedintheexplanationofwhythefunctionalityis
criticaltoyou.Thebookdiscardsthepitfallswithin
processesofthepastwhileamplifyingthesweetspots
withinthosesameprocesses.Insodoing,itdefinesthe
methodologydirectionofthefutureandidentifiesthe
metricsforrefiningandcustomizingthatmethodology
withinyourownprojects."
MarkMichaelis,authorofEssentialC#2.0
"Thisbookisamustreadforanyonehopingtoembrace
VisualStudioTeamSystemandMicrosoftSolutions
Framework4.0asintendedbytheircreators.Oneofits
keythemesis'agilitywithaccountability.'Itexplainsthe
paradigmshifttoavalue-upprojectapproach,and
describeshowTeamSystemenablesthisshift.Themany
examplesofhowthisapproachwasappliedtothe
developmentofVSTSbringthemessagetolifeona
meaningfulscale."
AaronKowall,EDSApplicationsPortfolioDevelopment,
InnovationEngineering
"SamGuckenheimerushersintheeraoftrustworthy
transparencythatwillrevolutionizethewaywemanage
softwaredevelopmentprojects.Don'tjustbuyVisual
StudioTeamSystem;learnhowtouseittodrivechange
andreaptherewards.Samshowsyouhow."
DavidJ.Anderson,authorofAgileManagementfor
SoftwareEngineering
"In250pages,SamhascapturedtheessenceofVisual
StudioTeamSystem.Ifyouareinvolvedintheprocessof
makingsoftwareormanagingsoftwareprojectsasa
developer,tester,projectmanager,architect,orCIOyou'll
wantacopyforeveryoneonyourteam.Thebookboth
makesmodernsoftwareengineeringpractices
approachable,anddoessowithclearexamplesofhowto
implementthemwithTeamSystemtools.Unlikeprevious
booksonsoftwaremethodology,thisonedoesnotshy
awayfromputtingtheprinciplesintopractice.Whether
youalreadyhaveVSTS,areconsideringit,orjustwantto
improveyoursoftwareproductivityandbusiness
alignment,you'llfindthisfullofinsight.Thebookis
enjoyable,approachable,andeasytoreadinaweekend."
RickLaPlante,generalmanager,VisualStudioTeam
System,Microsoft
"SamGuckenheimerhasbeenoneoftheintellectual
powerhousesandmentorsforthesoftwaretesting
communityforyears.Itisapleasuretoseeabookfrom
himatlast,especiallyonethatillustrateshisvisionaswell
asthisonedoes."
CemKaner,J.D.,Ph.D.,professorofsoftwareengineering,
FloridaInstituteofTechnology;leadauthorofLessons
LearnedinSoftwareTestingandTestingComputer
Software
"InSoftwareEngineeringwithMicrosoftVisualStudio
TeamSystem,SamGuckenheimercapturesthegestaltof
TeamSystemandtheemergingsoftwareprocess
paradigmofvalue-up.Measuringthevaluedelivered,
insteadofthelong-heldparadigmofmeasuringwork
accomplished,iscoretoTeamSystem'sdesignand
implementation.Asaresult,youwillfindthatthe
unprecedentedprojecttransparencyTeamSystem
providesimprovesteaminteractionandproject
predictability.Moreover,itdoessowithoutburdeningteam
memberswithtime-robbingoverhead.Youmustreadthis
booktoappreciatefullythevisionbehindTeamSystem
andthevirtuouscycleofvalue-upsoftwaredevelopmentit
makespossible."
RobCaron,contentarchitect,Microsoft;authorofTeam
SystemNexus
"SamGuckenheimerisatechnicaldiplomat.Inaworld
wheretheguerillaforcesofagilemethodsarealigned
againstthearmoredlegionsofCMMI,Samprovidesa
pathforcoexistence.Thisisfirstandforemostabook
aboutsoftwareengineering.Indiscussingflashpoints
suchasplanning,documentation,governance,
auditability,andorganization,Sampresentsthecasefor
bothagileandmoreformalpractices,aswellasdescribing
theoptimalconditionsforeach.Eventhoughthematerial
ispresentedinthecontextofVSTS,theguidanceis
universal.Samwritestoeachoftherolesonaproject,
providingthemwithsoundadviceregardlessofthe
'weight'theyhavechosenfortheirpractices.Thematerial
iscurrentandtimely,withdiscussionsofserviceoriented
architectures,Test-DrivenDevelopment,anddesign
techniquesdevelopedintheuserinterfacecommunity.
Sam'sbookisaVerySuperiorTextonSoftware."
Dr.BillCurtis,chiefprocessofficer,BorlandSoftware
Corporation;leadauthorofPeopleCapabilityMaturity
Model
"SamGuckenheimerisatrueadvocatefortheuser.
BuoyedbyTeamSystem,aplatformthatprovidesprocess
inawaythatisautomatedbytools,managedbymetrics,
andnearlytransparenttotheuser,hepresentsan
approachtosoftwareengineeringthatispracticaland
achievablewithoutignoringthefactthatwehavehard
problemstosolve."
JamesBehling,AccentureDeliveryMethodsleadarchitect,
Accenture
"SamGuckenheimerandIhavealwayswalkedacommon
roadtoimprovingsupportbetweendevelopmentand
operationsteams.Sam'sbookdeliversaneasyto
understand,process-centeredapproachtothebest
practicesofsoftwaredevelopmentembodiedinMSFand
deliveredthroughVisualStudioTeamSystem.The
'waterfall'isafailure,butSam'sbookcanguideyou
throughtheuseofVisualStudioTeamSystemtorapid
developmentwithjustenoughprocesstogetthejob
done."
BrianWhite,seniordirectorofproductmanagement,
iConclude,Inc.,authorofSoftwareConfiguration
ManagementStrategiesandRationalClearCase:A
PracticalIntroduction
"Transparencyisacriticalelementintoday'sagile
environment.Samwasandstillisinstrumentalincreating
theoverallarchitecturethatprovidesthelevelof
integrationandtransparencyinTeamSystemnecessaryto
scaleagileprojectstolargerteams.Thistransparency,if
usedinanenvironmentfosteringtrustandpersonal
safety,cancreatemoreproductivedevelopmentteams
whilepropagatingthedisciplineofagilemethods.
Reportinginformationsuchasvelocitybecomeseffortless.
Nowtheentiresoftwaredevelopmentteam,including
businessanalysts,architects,andtesters,canjoininthe
agileprocess."
Granville"Randy"Miller,co-authorofAPracticalGuideto
eXtremeProgrammingandAdvancedUseCaseModeling
"CanyouimaginehavingaBusinessProcessReengineering(BPR)toolforsoftwareengineering(SE)?A
toolthatcouldactuallyhelptheITindustrygetleaner?
Thisiswhatthisbookisallabout!It'saneyeopener:a
doortoaneweraofSE.Thequestionatstakeinthis
bookissimple:CouldMSFTVSTSempowerourIT
industrytobecomemoreofascienceandlessofanart
thatithasbeenuptonow?SamGuckenheimerexplains
notonlywhythiscouldbethecase,butalsogivesmany
tipsonhowanentireSEteamcouldevolvetobemore
productiveandefficient,withoutmanualoverhead."
FrancisT.Delgado,seniorprogrammanager,Avanade,
Inc.
Microsoft.NETDevelopmentSeries
JohnMontgomery,SeriesAdvisor
DonBox,SeriesAdvisor
MartinHeller,SeriesEditor
TheMicrosoft.NETDevelopmentSeriesissupportedand
developedbytheleadersandexpertsofMicrosoftdevelopment
technologiesincludingMicrosoftarchitectsandDevelopMentor
instructors.Thebooksinthisseriesprovideacoreresourceof
informationandunderstandingeverydeveloperneedsinorder
towriteeffectiveapplicationsandmanagedcode.Learnfrom
theleadershowtomaximizeyouruseofthe.NETFramework
anditsprogramminglanguages.
TitlesintheSeries
BradAbrams,.NETFrameworkStandardLibraryAnnotated
ReferenceVolume1:BaseClassLibraryandExtendedNumerics
Library,0-321-15489-4
BradAbramsandTamaraAbrams,.NETFrameworkStandard
LibraryAnnotatedReference,Volume2:NetworkingLibrary,
ReflectionLibrary,andXMLLibrary,0-321-19445-4
KeithBallinger,.NETWebServices:Architectureand
Implementation,0-321-11359-4
BobBeauchemin,NielsBerglund,DanSullivan,AFirstLookat
SQLServer2005forDevelopers,0-321-18059-3
DonBoxwithChrisSells,Essential.NET,Volume1:The
CommonLanguageRuntime,0-201-73411-7
KeithBrown,The.NETDeveloper'sGuidetoWindowsSecurity,
0-321-22835-9
EricCarterandEricLippert,VisualStudioToolsforOffice:Using
C#withExcel,Word,Outlook,andInfoPath,0-321-33488-4
EricCarterandEricLippert,VisualStudioToolsforOffice:Using
VisualBasic2005withExcel,Word,Outlook,andInfoPath,0321-41175-7
MaheshChand,GraphicsProgrammingwithGDI+,0-32116077-0
KrzysztofCwalinaandBradAbrams,FrameworkDesign
Guidelines:Conventions,Idioms,andPatternsforReusable
.NETLibraries,0-321-24675-6
AndersHejlsberg,ScottWiltamuth,PeterGolde,TheC#
ProgrammingLanguage,0-321-15491-6
AlexHomer,DaveSussman,MarkFussell,ADO.NETand
System.Xmlv.2.0TheBetaVersion,0-321-24712-4
AlexHomer,DaveSussman,RobHoward,ASP.NETv.2.0The
BetaVersion,0-321-25727-8
JamesS.MillerandSusannRagsdale,TheCommonLanguage
InfrastructureAnnotatedStandard,0-321-15493-2
ChristianNagel,EnterpriseServiceswiththe.NETFramework:
DevelopingDistributedBusinessSolutionswith.NETEnterprise
Services,0-321-24673-X
BrianNoyes,DataBindingwithWindowsForms2.0:
ProgrammingSmartClientDataApplicationswith.NET,0-32126892-X
FritzOnion,EssentialASP.NETwithExamplesinC#,0-20176040-1
FritzOnion,EssentialASP.NETwithExamplesinVisualBasic
.NET,0-201-76039-8
TedPattisonandDr.JoeHummel,BuildingApplicationsand
ComponentswithVisualBasic.NET,0-201-73495-8
Dr.NeilRoodyn,eXtreme.NET:IntroducingeXtreme
ProgrammingTechniquesto.NETDevelopers,0-321-30363-6
ChrisSells,WindowsFormsProgramminginC#,0-321-116208
ChrisSellsandJustinGehtland,WindowsFormsProgramming
inVisualBasic.NET,0-321-12519-3
PaulVick,TheVisualBasic.NETProgrammingLanguage,0321-16951-4
DamienWatkins,MarkHammond,BradAbrams,Programming
inthe.NETEnvironment,0-201-77018-0
ShawnWildermuth,PragmaticADO.NET:DataAccessforthe
InternetWorld,0-201-74568-2
PaulYaoandDavidDurant,.NETCompactFramework
ProgrammingwithC#,0-321-17403-8
PaulYaoandDavidDurant,.NETCompactFramework
ProgrammingwithVisualBasic.NET,0-321-17404-6
Formoreinformationgoto
www.awprofessional.com/msdotnetseries/
AbouttheAuthor
SamGuckenheimerhas25yearsofexperienceasarchitect,
developer,tester,productmanager,projectmanager,and
generalmanagerinthesoftwareindustryintheU.S.and
Europe.Currently,Samisthegroupproductplannerfor
MicrosoftVisualStudioTeamSystem.Inthiscapacity,heacts
aschiefcustomeradvocate,responsiblefortheend-to-end
externaldesignofthenextreleasesoftheseproducts.Priorto
joiningMicrosoftin2003,SamwasdirectorofProductLine
StrategyatRationalSoftwareCorporation,nowtheRational
DivisionofIBM.Heholdsfivepatentsonsoftwarelifecycle
tools.Afrequentspeakeratindustryconferences,SamisaPhi
BetaKappagraduateofHarvardUniversity.
SamlivesinthePugetSoundareawithhiswifeandthreeofhis
fourchildren.
Foreword
ForalmosttenyearsI'vebeenencouragingSamGuckenheimer
towriteabookaboutsoftwareengineering."Ohno,I'mnot
ready,"wastheinvariablereply.
WiththereleaseofVisualStudioTeamSystem,Samnolonger
hadanexcuse:hereallyhadtoexplainhisideasaboutsoftware
engineeringtohelppeoplemakesenseoftheproductthat
embodiesthem.It'sgreattoseethatturnintoabookthatputs
equalweightonpracticumandtheory,ratherthanabooklengthproductadvertisementoravaguediscussionofthe
philosophyofsoftwareengineering.Iliketheconcrete
exampleshere:theymaketheconceptscomealive.
Onekeyconceptinthisbookisthatofvalue-upprocesses.Sam
believesthatwearefacingahugeparadigmshiftinthewaywe
approachsoftware,whichringstrue.Thework-downparadigm
hasledtoanumberofproblemswiththesoftwaredevelopment
processandultimatelytoahighrateoffailedprojects.Whether
thevalue-upparadigmwillsolvetheproblemswithoutcreating
newones,ofcourse,remainstobeseen.
Inthepast,thepracticeofsoftwaremetricshasnotkeptup
withitspotential,largelybecauseofthehighcostofcollecting
data.AsSamexplainsinthisbook,instrumentingdaily
activitiestoallowpainlessdatacollectionopensupanewsetof
opportunitiesformeaningfulmetrics.Samhasn'tstoppedthere;
hehasappliedsomeofthemoreinterestingtechniquesfrom
leanprojectmanagementtodemonstratehowtotroubleshoot
softwareprojectsonadailybasis.Thatalsoenablesthereliable
applicationofvalue-upprocesses.
Foralmostadecade,anumberofideashavepercolatedinthe
variousareasofsoftwareengineering:inprogramming,user
experience,testing,andarchitecture.Samhaspulledthebest
ofthesetogethertoapplyacrosstheentiresoftwarelifecycle.
Itrustthatyou'llenjoythemasmuchasIhave.
IvarJacobson,Ph.D.
IvarJacobsonConsultingLLC
Preface
WhyIWroteThisBook
IjoinedMicrosoftin2003toworkonVisualStudioTeam
System(VSTS),thenewproductlinethatwasjustreleasedat
theendof2005.Asthegroupproductplanner,Ihaveplayed
chiefcustomeradvocate,arolethatIhaveloved.Ihavebeen
intheITindustryfortwenty-someyears,spendingmostofmy
careerasatester,projectmanager,analyst,anddeveloper.
Asatester,I'vealwaysunderstoodthetheoreticalvalueof
advanceddeveloperpractices,suchasunittesting,code
coverage,staticanalysis,andmemoryandperformance
profiling.Atthesametime,Ineverunderstoodhowanyonehad
thepatiencetolearntheobscuretoolsthatyouneededto
followtherightpractices.
Asaprojectmanager,Iwasalwaystroubledthattheonly
decentdatawecouldgetwasaboutbugs.Drivingaproject
frombugdataaloneislikedrivingacarwithyoureyesclosed
andonlyturningthewheelwhenyouhitsomething.Youreally
wanttoseetherightindicatorsthatyouareoncourse,notjust
feelthebumpswhenyoustrayoffit.Heretoo,Ialways
understoodthevalueofmetrics,suchascodecoverageand
projectvelocity,butIneverunderstoodhowanyonecould
realisticallycollectallthatstuff.
Asananalyst,Ifellinlovewithmodeling.Ithinkvisually,andI
foundgraphicalmodelscompellingwaystodocumentand
communicate.Butthemodelsalwaysgotoutofdateassoonas
itcametimetoimplementanything.Andthemodelsjustdidn't
handlethekeyconcernsofdevelopers,testers,andoperations.
Andinallthesecases,Iwasfrustratedbyhowharditwasto
connectthedotsforthewholeteam.IlovedtheideainScrum
(oneoftheagileprocesses)ofa"singleproductbacklog"one
placewhereyoucouldseealltheworkbutthetoolspeople
couldactuallyusewouldfragmenttheworkeverywhichway.
Whatdotheserequirementshavetodowiththosetasks,and
themodelelementshere,andthetestsoverthere?Andwhere's
thesourcecodeinthatmix?
Fromahistoricalperspective,IthinkITturnedthecornerwhen
itstoppedtryingtoautomatemanualprocessesandinstead
askedthequestion,"Withautomation,howcanwereengineer
ourcorebusinessprocesses?"That'swhenITstartedtodeliver
realbusinessvalue.
Theysaythecobbler'schildrengoshoeless.That'strueforIT,
too.Whilewe'vebeenbusyautomatingotherbusiness
processes,we'velargelyneglectedourown.Virtuallyalltools
targetedforITprofessionalsandteamsseemtostillbe
automatingtheoldmanualprocesses.Thoseprocessesrequired
highoverheadbeforeautomation,andwithautomation,they
stillhavehighoverhead.Howmanytimeshaveyougonetoa
one-hourprojectmeetingwherethefirstninetyminuteswere
anargumentaboutwhosenumberswereright?
Now,withVisualStudioTeamSystem,weareseriouslyasking,
"Withautomation,howcanwereengineerourcoreIT
processes?Howcanweremovetheoverheadfromfollowing
goodprocess?Howcanwemakeallthesedifferentroles
individuallymoreproductivewhileintegratingthemasahighperformanceteam?"
WhoShouldReadThisBook
Thisbookiswrittenforasoftwareteamthatisconsidering
runningasoftwareprojectusingVSTS.Thisbookisaboutthe
why,notthehow.[1]WhataretheguidingideasbehindVSTS?
Whyarecertainideaspresentedincertainways?Forexample,
whyaresomanythingscalledworkitems?Whatdoesthe
metricswarehousemeasure?Whywouldyouusethose
particularreports?
Ithasbeenmyexperiencetimeandtimeagainthat
knowledgeable,skillful,experiencedpeoplebringuneven
startingassumptionstosoftwareprojects.Whatappeartobe
self-evidenttruthstoonepersonarefolkmythstoanother,and
oneperson'scommonwisdomisanother'sdiscovery.Thisissue
isexacerbatedbyanaturalemphasisonfunctionalroles,which
areoftenbakedintocareerladders.Icertainlybelievethat
thereareexpertdevelopers,experttesters,expertarchitects,
expertbusinessanalysts,andexpertprojectmanagers,but
deliveringcustomervaluerequirescollaborationacrossall
disciplines.Attemptstooptimizeonespecialroleinisolation
fromtheothersdonotnecessarilyimprovethedeliveryof
resultsasthecustomerseesthem.
Onewayofsolvingthediscrepancieshasbeentohavean
onsitecoachwhocanleadtheteamthroughaconsistentsetof
processes.Coachesaregreat,butnoteveryonehastheluxury
ofworkingwithone.So,becauseIcannotshipyouanondemandcoach,I'vewrittenthisbook.
Thisisnotastep-by-steptutorialinthesenseofausermanual
thattellsyouwheretoclickinwhatsequence.Plentyofgood
documentationonthosetopicsisavailablewithVSTS,andI
referenceitwhereappropriate.Rather,thisbookoffersa
frameworkforthinkingaboutsoftwareprojectsinawaythat
canbedirectlytooledbyVSTS.Indeed,webuiltVSTStorun
softwareprojectsthisway.
Thisbookisalsonotasurveyofsoftwareengineeringliterature.
Dozens,perhapshundreds,ofbookshavebeenwrittenabout
softwareengineeringinthelastfortyyears.Idonotrecapthem
here,andIdonotcoverallthematerialthattheydo.Iexpect
thecriticismfrommanyexpertsthatsomeofmyargumentsgo
withoutsayingnowadays.Unfortunately,asFreudpointedout,
whatgoeswithoutsayingisoftennotsaidatall.Asaresult,
differencesinteammembers'assumptionsarenotexposed
untilthewrongargumenthappens.Soifyouwanttofaultme
forstatingtoomanyobviousthings,I'mguiltyascharged.
IpresentenoughTeamSystemtheoryandpracticeexamplesto
describearealisticprocessformostmainstreamITprojectsand
teams.Itmaynotbeformalenoughforavionicssoftwarethat
requiresFAAapproval;itmaynotbelooseenoughforathreepersonteamco-locatedinagarage.
HowtoReadThisBook
VSTSincludesprocessguidancecalledMicrosoftSolutions
Framework(MSF),whichincludesthecentralconceptofateam
modelbasedonateamofpeers.Theteammodelallowsfor
differentscalesofspecialization.MSFdefinesseven
constituencies,orpointsofview,thatmustberepresentedona
successfulproject,anditincludesrecommendationsforscaling
upanddown.Icalloutthesepointsofviewthroughoutthe
bookwithiconsthatlooklikethis:
Figurep.1.
MicrosoftSolutionsFrameworkintroducesamodelofateamof
peers,anchoredinsevenviewpointsthatneedtobe
representedforasuccessfulproject.MSFforCMMIProcess
Improvementspecializesthesevenintoeighteen,whereasMSF
forAgileSoftwareDevelopmentrealizesthesevenwithsix
roles,clusteringproductmanagementanduserexperience,and
offersguidelinestoreducethelisttothree.
Thisbookiswrittenfortheteamasawhole.Itpresents
informationinastylethatwillhelpallteammembersgeta
senseofeachother'sviewpoint.However,role-specificsections
arecalledoutsothatyoucanfocusonorskimoverportionsas
neededforyourspecificroles.I'vetriedtokeepthetopicsata
levelthatisengagingtoallteammembersandnotarcanefor
any.(Forsome,thischoicemayreinforcethecriticismof
simplicity.)Inthisageofspecialization,Ithinkitisimportantto
haveatleastthislevelofcontractwithandexpectationsofyour
colleaguesinotherspecialties.Ifyou'reinahurry,youcanuse
theconstituencyiconsasaguidetotherole-relatedtopicsthat
interestyoumost.
PointerstoDocumentation
AsIsaid,thisisnotahow-tobook.WheredetailsofVSTSorits
documentationareappropriate,youwillseeapointertoit,like
thisexample: