Forewordxv
Prefacexxi
Acknowledgmentsxxv
AbouttheAuthorxxxi
OntheCoverxxxiii
Pre-RequisiteIntroduction
Chapter1Professionalism
BeCarefulWhatYouAskFor
TakingResponsibility
First,DoNoHarm
WorkEthic
Bibliography
Chapter2SayingNo
AdversarialRoles
HighStakes
Beinga“TeamPlayer”
TheCostofSayingYes
CodeImpossible
CONTENTS
CONTENTS
Chapter3SayingYes
ALanguageofCommitment
LearningHowtoSay“Yes”
Conclusion
Chapter4Coding
Preparedness
TheFlowZone
Writer'sBlock
Debugging
PacingYourself
BeingLate
Help
Bibliography
Chapter5TestDrivenDevelopment
TheJuryIsIn
TheThreeLawsofTDD
WhatTDDIsNot
Bibliography
Chapter6Practicing
SomeBackgroundonPracticing
TheCodingDojo
BroadeningYourExperience
Conclusion
Bibliography
Chapter7AcceptanceTesting
CommunicatingRequirements
AcceptanceTests
Conclusion
Chapter8TestingStrategies
QAShouldFindNothing
CONTENTS
TheTestAutomationPyramid
Conclusion
Bibliography
Chapter9TimeManagement
Meetings
Focus-Manna
TimeBoxingandTomatoes
Avoidance
BlindAlleys
Marshes,Bogs,Swamps,andOtherMesses
Conclusion
Chapter10Estimation
WhatIsanEstimate?
PERT
EstimatingTasks
TheLawofLargeNumbers
Conclusion
Bibliography
Chapter11Pressure
AvoidingPressure
HandlingPressure
Conclusion
Chapter12Collaboration
ProgrammersversusPeople
Cerebellums
Conclusion
Chapter13TeamsandProjects
DoesItBlend?
Conclusion
Bibliography
CONTENTS
Chapter14Mentoring,Apprenticeship,andCraftsmanship
DegreesofFailure
Mentoring
Apprenticeship
Craftsmanship
Conclusion
AppendixATooling
Tools
SourceCodeControl
IDE/Editor
IssueTracking
ContinuousBuild
UnitTestingTools
ComponentTestingTools
IntegrationTestingTools
UML/MDA
Conclusion
Index