agility, governance and productivity - ibm-+murray+cantor+-+cantor... · agility, governance and...
TRANSCRIPT
© 2007 IBM Corporation
What keeps me Rational?
IBM Rational Software Development Conferences 2007
®
Agility, governance and productivity
Dr. Murray CantorDistinguished Engineer, IBM Rational software
IBM Rational Software Development Conference 2007
What keeps me Rational?
Topics
� Uncertainty and development risk
� Value and Productivity
� Governance to improve productivity
� Governance for agility
IBM Rational Software Development Conference 2007
What keeps me Rational?
Topics
� Uncertainty and development risk
� Value and Productivity
� Governance to improve productivity
� Governance for agility
IBM Rational Software Development Conference 2007
What keeps me Rational?
Imagine you have 12 months to deliver a business critical system
� Your estimators tell you it will be done in 11 months
� What do you do with the information?
� Rest easy, believing there is no risk?
0 6 12
IBM Rational Software Development Conference 2007
What keeps me Rational?
Maybe you realize that program parameters (cost, schedule, effort, quality, …) are random variables
• Area under curve describes probability of measurement falling inrange
0.80
1.20
1.60
2.00
2.40
2.80
3.20
3.60
4.00
4.40
4.80
5.20
5.60
6.00
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0
0.00
0.40
Likelihood of actual value falling in range
is area under curve
IBM Rational Software Development Conference 2007
What keeps me Rational?
Imagine you have 12 months to deliver a business critical systems
� So you ask for the distribution and discover there is some uncertainty
0 6 12
IBM Rational Software Development Conference 2007
What keeps me Rational?
Imagine you have 12 months to deliver a business critical systems
� In fact there is less than 50% chance of making the date
0 6 12
48%
IBM Rational Software Development Conference 2007
What keeps me Rational?
Then what?
� Move out the date to improve likelihood of shipping?
0 6 12 15
95%
IBM Rational Software Development Conference 2007
What keeps me Rational?
Then what?
� Or move in the estimate by sacrificing quality or content?
0 6 12
95%
IBM Rational Software Development Conference 2007
What keeps me Rational?
The estimate variance reflects current state of understanding� Source
�Lack of knowledge
�Lack of confidence
� Reduction of variance reflects
�Increased knowledge about
� Client needs
� Technology
� Team capability
�Good Decisions0.80
1.20
1.60
2.00
2.40
2.80
3.20
3.60
4.00
4.40
4.80
5.20
5.60
6.00
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0
0.00
0.40
IBM Rational Software Development Conference 2007
What keeps me Rational?
Then what?
� Determine the source of the variance
� Over the project lifecycle, reduce the variance to improve likelihood
0 6 12
90%
IBM Rational Software Development Conference 2007
What keeps me Rational?
Then what?
� Over the lifecycle, reduce the variance further to improve likelihood
0 6 12
95%
IBM Rational Software Development Conference 2007
What keeps me Rational?
Medium Variance
Risk reduces with completeness of information
Time
Variance in Cost, Schedule…
Project Lifecycle Phases
Inception Elaboration Construction Transition/Maintenance
High Variance Low Variance
80% reduction
96% reduction
IBM Rational Software Development Conference 2007
What keeps me Rational?
The two keys to reducing variance
� Managed Collaboration
�Well identified roles, decision rights, …
� Enabled by agile collaboration environment
� Iterative development
� Each iteration should reduce remaining project variance, i.e. improve certainty of successful delivery.
IBM Rational Software Development Conference 2007
What keeps me Rational?
Uncertainty in Uncertainty in deliverydelivery
Actual Path
Each iteration should reduce variance
Uncertainty in Stakeholder
Satisfaction Space
Initial Planned Initial Planned ContentContent
Initial Planned Path
IBM Rational Software Development Conference 2007
What keeps me Rational?
Topics
� Uncertainty and development risk
� Value and Productivity
� Governance to improve productivity
� Governance for agility
IBM Rational Software Development Conference 2007
What keeps me Rational?
How much is an incomplete development program worth?
� Conventional wisdom provides no opportunity for ongoing value management
� Net present value/Options theory: project increases value when
�Decrease variance of time/effort/cost to complete –
� improve likelihood of success
�Increase upside variance of value delivered
� Robustness, reuse.
0 6 Ship date
Conventional Wisdom
NPV/Options Theory
Value
IBM Rational Software Development Conference 2007
What keeps me Rational?
ProductInnovation
OperationalEfficiency
ClientIntimacy
Your Business?
Business value
Based on The Discipline of Market Leaders by Michael Treacey and Fred Wiersma
IBM Rational Software Development Conference 2007
What keeps me Rational?
Two questions you should be able to answer:
ProductInnovation
OperationalEfficiency
ClientIntimacy
Your Business?
How does your business/organization deliver value?
Medium Variance
Inception
Elaboration Construction Transition/Maintenance
High Variance
Low Variance
Innovation
Client Intimacy
Operational Efficiency
How do your development projects support the value delivery?
IBM Rational Software Development Conference 2007
What keeps me Rational?
What we really mean by productivity
� Productivity is the most effective use of staff time
� Kinds of productivity
�Efficiently increase likelihood of successful delivery with right amount of staff
� Writing the right code
� Removing risk of a bad outcome
�Creating return/value on expense
IBM Rational Software Development Conference 2007
What keeps me Rational?
How should we measure productivity?
� Code lines/programmer hour?
�Maybe, if you in the code lines business
� Function points/programmer hour?
�Maybe, if you in the function point business
� Change requests/programmer hour?
�Maybe, if you in the change request business
� What if you are in the telecom, banking, system development… or embedded device business?
�Need to measure value/prog hr
IBM Rational Software Development Conference 2007
What keeps me Rational?
Achieving business productivity
� In governance process plan phase, agree with stakeholders on value metrics, augment with roi, irr, roa ….
� Calculate metric per programmer month as appropriate
� In design phase, choose internal measures (klocs, churn …)that contribute to business value.
� In monitor phase, report and adjust metrics
� Maintain metrics history for tracking improvement
IBM Rational Software Development Conference 2007
What keeps me Rational?
Topics
� Uncertainty and development risk
� Value and Productivity
� Governance to improve productivity
� Governance for agility
IBM Rational Software Development Conference 2007
What keeps me Rational?
The different perspectives of governance
� Policy-driven�Execution of externally imposed processes, policies
� e.g., HR, spending guidelines …
�Addresses business risk, regulatory compliance
� Results-oriented
�Better decisions to achieve better outcomes
�Balancing risk and value
�Improved culture
� Architecture alignment
�Business alignment
� Operational
�The processes of:
� Setting decision-rights, controls, measures
� Deploying the execution environment supporting governance solution
The operational perspective is key to achieving business value and productivity
IBM Rational Software Development Conference 2007
What keeps me Rational?
Operational Perspective: Governance is a process to create and maintain the governance solution
The governance solution lifecycleSome governance solution artifacts
� Responsible Accountable Consulted Informed (RACI) matrices
� Governance effectiveness measures
� Operation metrics specifications
� Policy libraries
� Compliance specifications
� Governance Deployment architecture
– Process choreography
– Policy enforcement
– Metrics collection and reporting
– Compliance audit trails
Design, deploy, and automate governance solution (controls and measures; organizations; roles and responsibilities, polices, and compliance)
Evaluate and analyze results against current business and IT objectives; determine value and risk of IT and other resources; provide business insight and use it to improve the governance solution
Set business and IT objectives, set scope, policies and practices; set measurable goals
Execute governance solution; monitor operational performance, compliance and risk events;
Manage
Assess
Set Objectives
Design
Deploy
Plan
Implement
ControlMonitor
Evaluate
AnalyzeGovernanceLifecycle
Design, deploy, and automate governance solution (controls and measures; organizations; roles and responsibilities, polices, and compliance)
Evaluate and analyze results against current business and IT objectives; determine value and risk of IT and other resources; provide business insight and use it to improve the governance solution
Set business and IT objectives, set scope, policies and practices; set measurable goals
Execute governance solution; monitor operational performance, compliance and risk events;
Manage
Assess
Set Objectives
Design
Deploy
Plan
Implement
ControlMonitor
Evaluate
Analyze
Manage
Assess
Set Objectives
Design
Deploy
Plan
Implement
ControlMonitor
Evaluate
AnalyzeGovernanceLifecycle
IBM Rational Software Development Conference 2007
What keeps me Rational?
Governance process and the governed processes
� Processes are characterized by the lifecycle of their artifacts
�Examples range from entire programs to a change request or block of code
�As artifacts evolve through their lifecycle, decisions must be made, i.e., decision points
� In the governance process, each decision point is addressed by elements of the governance solution:
�Assigning decision rights
�Specifying appropriate policies to guide or constrain the decision
�Associated metrics to support the decision
�Compliance records to document the decision
� Executing the governance process may entail new organization role
IBM Rational Software Development Conference 2007
What keeps me Rational?
Development governance is applying governance to processes carried out by development organizations
Project
� Program management
� Release management
� Change Management
� Configuration Management
� …
Organization
� Value management
� Portfolio management
� Estimation
� Compliance
� …
IBM Rational Software Development Conference 2007
What keeps me Rational?
Some value metrics for innovation and product leadership
Customer growth
Revenue per customer
Does it establish new markets for the corporation?
Cycle time
Architecture value
How quickly can the product be delivered?
Revenue growth
Portfolio value
Project value
What new sets of value can the products deliver?
MetricsObjective
IBM Rational Software Development Conference 2007
What keeps me Rational?
Some value metrics for operational efficiency
Klocs/prog month
Function points/prog month
Code productivity
Cycle time
Test execution cost in $ for a release
Time to delivery
Uptime
Mean and variance of time to recovery
System stability
Transactions/sec
Mean and variance of response time
System throughput
MetricsObjective
IBM Rational Software Development Conference 2007
What keeps me Rational?
Value metrics for client Intimacy
Number of enhancements
Cycle time for enhancements
Requested enhancements delivered
Customer reported defects
Customer support calls
Customer defects reduced
Customer support calls reduced
MetricsObjective
IBM Rational Software Development Conference 2007
What keeps me Rational?
Topics
� Uncertainty and development risk
� Value and Productivity
� Governance to improve productivity
� Governance for agility
IBM Rational Software Development Conference 2007
What keeps me Rational?
Project agility
� Ability to respond to changing requirements, dependencies
� Apply governance process to distribute rights to foster extended team learning
Medium Variance
Inception Elaboration Construction Transition/Maintenance
High Variance Low Variance
Innovation
Client Intimacy
Operational Efficiency
IBM Rational Software Development Conference 2007
What keeps me Rational?
Kinds of development: Initial variance
Medium Variance
Little discovery
Variance in Cost, Schedule…
Inception Elaboration Construction Transition/Maintenance
HighVariance
LowVariance
New platform
architectureChange
requests to existing code
New capability
with existing
architecture
Some discovery
Much discovery
IBM Rational Software Development Conference 2007
What keeps me Rational?
Tailoring the governance solution
� Kind of value for organization processes
� Kind of projects
�Full variance – foster discovery and learning
�Medium Variance – architecture alignment, lean methods
�Low variance – focus on automation, cost
Medium Variance
Little discovery
Variance in Cost, Schedule…
Inception Elaboration Construction Transition/Maintenance
HighVariance
LowVariance
New platform
architectureChange
requests to existing code
New capability
with existing
architecture
Some discovery
Much discovery
Medium Variance
Little discovery
Variance in Cost, Schedule…
Inception Elaboration Construction Transition/Maintenance
HighVariance
LowVariance
New platform
architectureChange
requests to existing code
New capability
with existing
architecture
Some discovery
Much discovery
IBM Rational Software Development Conference 2007
What keeps me Rational?
Organization agility
� Ability to respond to changing business needs, i.e., staying aligned
� Execute governance solution periodically revisiting business needs
Design, deploy, and automate governance solution (controls and measures; organizations; roles and responsibilities, polices, and compliance)
Evaluate and analyze results against current business and IT objectives; determine value and risk of IT and other resources; provide business insight and use it to improve the governance solution
Set business and IT objectives, set scope, policies and practices; set measurable goals
Execute governance solution; monitor operational performance, compliance and risk events;
Manage
Assess
Set Objectives
Design
Deploy
Plan
Implement
ControlMonitor
Evaluate
AnalyzeGovernanceLifecycle
Design, deploy, and automate governance solution (controls and measures; organizations; roles and responsibilities, polices, and compliance)
Evaluate and analyze results against current business and IT objectives; determine value and risk of IT and other resources; provide business insight and use it to improve the governance solution
Set business and IT objectives, set scope, policies and practices; set measurable goals
Execute governance solution; monitor operational performance, compliance and risk events;
Manage
Assess
Set Objectives
Design
Deploy
Plan
Implement
ControlMonitor
Evaluate
Analyze
Manage
Assess
Set Objectives
Design
Deploy
Plan
Implement
ControlMonitor
Evaluate
AnalyzeGovernanceLifecycle
IBM Rational Software Development Conference 2007
What keeps me Rational?
Rational supports the full range of variance faced by development projects
Medium Variance
Little discovery
Variance in Cost, Schedule…
Inception Elaboration Construction Transition/Maintenance
HighVariance
LowVariance
Some discovery
Much discovery
Analysis, Modeling, Design & Construction
Change Configuration & Release Management
Requirements & Analysis
Software Quality Management
Traditional Programming Languages & Compilers
Process and Portfolio Management
IBM Rational Software Development Conference 2007
What keeps me Rational?
Some final thoughts
The choice is not between governance and no governance.
The choice is between good and bad governance.
Good governance increases productivity and agility.
Good governance requires attention.