Tải bản đầy đủ (.pdf) (454 trang)

Addison wesley software engineering with microsoft visual studio team system may 2006 ISBN 0321278720

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.65 MB, 454 trang )

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:


×