370 likes | 471 Views
Turning Walls Into Bridges. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation. All Processes Are Rooted In Fear. (Kent Beck). The ‘90s: Basic Tools. Early tools focused on isolated tasks, such as source control. Dev. Dev. Dev. Dev. Dev. Dev. Dev. Dev. Dev. Dev.
E N D
Turning Walls Into Bridges Sam Guckenheimer samgu@microsoft.com Microsoft Corporation
All Processes Are Rooted In Fear (Kent Beck)
The ‘90s: Basic Tools • Early tools focused on isolated tasks, such as source control Dev Dev Dev Dev Dev Dev Dev Dev Dev Dev
The ‘00s: Value Up Software Engineering • Trustworthy Transparency bridges the team Devs DB Test PM Arch PM Devs DB Test Arch
Flow of Value → Working software Quality first Lean Application Lifecycle Changing the Paradigm Reduction of Waste → Small batches Short cycles
Changing the Paradigm Work Down Value Up Plan Task 1 Task 2 Task 3 Task 4 Remaining Work Value Traditionally, we decompose tasks and measure completion This is the cost accounting tradition Alternatively, we account for customer value incrementally delivered This is the Lean Manufacturing and Theory of Constraints model
How Far Can We Get In The Available Time? Work planned Work completed
What Is Our Software Quality? Test rates (pass, inconclusive, fail) shown in bars Against code coverage, … code churn, … and active bugs
A Venerable Truth Happy families are all alike; every unhappy family is unhappy in its own way. Tolstoy, Anna Karenina Всесчастливыесемьипохожидругнадруга, каждаянесчастливаясемьянесчастливапо-своему.
Signs Of Unhappiness • Underestimating • Uneven Task Decomposition • Solution Stuck in Testing • Development Practices Too Loose • Inadequate Unit Testing • Tests Passing; Solution Doesn’t Work • Too Little Testing • Build Failures • Scope Creep • Resource Leaks
Underestimating Slow progress leading to cuts in planned work, but not enough cuts Steady rates of progress, but slope too shallow
Solution Stuck In Testing Bulge in resolved → Insufficient resources or inadequate quality from dev
Development Practices Too Loose Growing “Fault Feedback Ratio” – bugs requiring multiple handling
Inadequate Unit Testing Fewer Passing and More Inconclusive Tests Falling Code Coverage Rising Code Churn
Scope Creep “Dark matter” emerging during iteration Planned work is squeezed out
What Code Hasn’t Been Tested? Unit tests for both application and database tiers The lines in question Uncovered code by method
Down To The Individual Check-In Check-in dialog captures the workitems resolved with the code(and tests) delivered Policy makes sure that the association is made(and unit tests and code analysis have been run)
And Up To The Team Build Build Verification Test results as part of the build process Who checkedin what? Automated release note: Why the work was delivered
Identify Performance Under Load In Time To Act… Load test captures both test-generated data and metrics on the servers under test Running the test with profiling pinpoints hotspots in code
Supporting Heterogeneous Development Web Access Client for NON-development roles Eclipse integration as partner solution for heterogeneous environments
We Document For The Auditor Capturing evidencedoes not have to be a manual process, ... …because there is a complete audit trail on all the tasks, code and tests…
Actual Feature Flow In Orcas (VS 2008) Beta 1 planning review Initial planning spike Beta 2 review Additional tightening @ Beta 2 Tightened process rules @ Beta 1 reduce WIP
Quality Gates Quality Gates act as extended check-in policies, governing the quality of feature delivery into the main source code branch
Value Props, Experiences, And Features Features are designed from Value Propositions and Experiences
Drilldown: Value Prop → Feature Status review rolls up features and experiences back into value props to assess release readiness Drilldown from value prop shows detailed feature status
Others Prefer To Review In VS… Same value prop…
Or In Excel…. Same value prop…
Looking Forward: The ‘10s • The right thing • Done right • In the right way Business Analyst PMO Customers Operations Designers Test Arch Devs PM DB PM Arch Test Devs DB PMO Operations Designers Customers Business Analyst
How It Feels • The Wall Becomes a Bridge
For More Information… Naked Self-Promotion