Docstoc

Value-up Software development

Document Sample
Value-up Software development Powered By Docstoc
					Moving from Work-Down to Value-Up
Practices
Supporting Value-Up Practices with Visual
Studio Team System
The Driving Forces for Change
The Business Context for Software Development
A Value-Up Approach to Software Development
Comparing Value-Up and Work-Down Practices
The Core Principles of Value-Up
The Importance of Project “Flow”
Measuring Flow
Exercise: Work-Down vs. Value-Up
                      Security   Regulatory Compliance


    Competition                                           Technology
                                                            Change




    Cost
Reduction and                                            Agility
 Outsourcing




          Customer
                                                End User
         Connection
                                               Productivity
                          Business Results
                           and New Value
   Civil Engineering               Software Engineering




Design risks are low               Design can evolve as lessons
                                   are learned
Design cost is small relative to
build cost                         Design and build costs are
                                   relatively equal
Opportunity to deliver
                                   Delivering incremental value is
incremental value is rare          beneficial
Work-down                Value-up

     Plan

    Task 1

    Task 2
    Task 3

    Task 4


In traditional project    Value-up methods deliver
management tasks are      incremental value for the
decomposed into items     customer to evaluate
and checked off as        each iteration
completed
                           Work-down                           Value-up


Planning and               Get planning and design right up    Change happens, embrace it
change process             front

Primary measurement        Task completion                     Only deliverables that the
                                                               customer count

Definition of quality      Conformance to specification        Value to the customer

Acceptance of variance     Tasks can be identified and         Variance is part of all process
                           estimated deterministically         flows

Intermediate               Documents, models, and other        Just enough to minimize the
work products              artifacts are necessary             uncertainty

Troubleshooting approach   Time, resource, functionality and   Find and remove the bottlenecks
                           quality

Approach to Trust          Monitor and measure                 Pride of workmanship and
                           performance relative to plan        teamwork
Increase ROI by making continuous flow of value
the focus
Reliable results by engaging customers at
frequent intervals (shared ownership)
Expect uncertainty and manage for it (through
iteration, anticipation and adaptation)
Unleash creativity and innovation by recognizing
that the individuals are the source of value
Boost performance through group accountability
Improve effectiveness and reliability through
specific strategies, processes and practices
Flow is central to value-up thinking and practices
  Working software and completed documentation are the
  work products that count
  Software to the customer is measured regularly
Example, Extreme Programming and the flow of
“customer value”
                              Working software delivered
                                 to the customer at
                                   regular intervals

                               Customer satisfaction is
                                 measured at regular
                                     intervals
Bulge in the resolved scenario area, indicating
            a bottleneck in testing




                                           Slope of closed
                                             line will not
                                            approach the
                                           backlog height
                                           by iteration end
How do you handle planning and process
change?
What is your primary measurement of
progress?
How do you define quality?
How do you view variance?
What are your intermediate work products?
How do you troubleshoot a project?
Who do you trust?
Why Value-Up Requires Tooling
Benefits of a Common Product Backlog
Benefits of Instrumenting Daily Activities
Assessing Quality
Assessing Quality (Continued)
Benefits of Iterative Development
The manual tracking of project progress is
inefficient
  Manual processes, and disparate tools lead to
  inaccurate information
  Much time and effort is wasted
Tooling is required to
   Reduce the overhead and costs
   To provide automated instrumentation of processes
   To provide change management and auditing
   (particularly for regulatory compliance)
VSTS provides a single work item database
  To track all planned, active and completed
  work
Much of the data is automatically captured
 With many daily activities instrumented
                                                    Team
      Instrumentation of




                                   Work Items      Explorer
        Daily Activities




                           Source Code
                                                   Excel /
                                         Metrics   Project


                                                   Reports
    Basic Questions Become Easy to Answer
Is the project coming in on time?
How much has the plan changed?
Who’s over or under and needs to be rebalanced?
How effective are our tests?
What rates should we use to estimate remaining work?


                     PMs Can Spot the Bottlenecks
                Identifying the bottlenecks becomes easier
                By using multi-dimensional metrics
Note the high
test pass rate
 and low bug
count for this
 component
 Note the low
code coverage
and high churn
    for this
  component
                    Benefits
Ability to review priorities frequently
Improved focus on specific tasks
Better motivation from seeing frequent releases
Improved estimation
Improved stakeholder confidence
Continuous improvement
Improved measurement of “flow”
Most software processes require manual enactment
   Collecting data and tracking progress is expensive
   Up front process artefacts don’t contribute to the
   delivery of customer value
   The dominant paradigm here is “work-down”
Value-up and work-down practices are quite
different
   Emphasis on customer value, change, and variance
Value-up requires tooling
   Collecting, maintaining and reporting data is too
   costly otherwise
VSTS supports and encourages value-up practices

				
DOCUMENT INFO