project management for agile projects. introduction the project management job day to day...
TRANSCRIPT
Introduction
The Project Management Job Day to day administration Managing the process Managing external relationships
IntroductionThe External Context Still based on a waterfall view of projects
“On time / on Budget” “Manage to the Plan”
Use success criteria that consistently fail “80% of all software projects fail”
Introduction The Real Problem Everyone is frustrated with the time it takes to
complete software. Managers feel powerless to control it. The “on time – on budget” approach
aggravates the problem.
Project ModelsTwo Project Models Deterministic Project Model
We can predict how the project will unfold Non deterministic Project Model
Software development is a discovery process
Project ModelsDeterministic Project Model The amount of time that it will take to complete the
project is predictable. Focus is on controlling cost. Process is to establish a plan based on work
breakdown structures and “manage to the plan”. The plan is static.
The development team, including the project manager, the primary participants.
Success is delivering the project “on time / on budget”
Project ModelsNon Deterministic Project Management Recognizes that software development is a
discovery process. Focused on value/cost tradeoffs Process is to identify discoveries that our current
assumptions, assess the impact the new information has on the value model and “manage the plan”. Plan is volatile.
The project steering committee, including the business and technical sponsors, the primary participants.
Success is delivering good value in reasonable time
Project ModelsNothin’ New Almost all projects eventually revert to non-
deterministic project management.
Some core project management truisms are non-deterministic.
Project ModelsNothin’ New – cont. Popular process (RUP, Agile, Adaptive
Programming…) succeed because they are discovery processes.
Still “on-time / on-budget” is the holy mantra.
Legalizing Non-Deterministic Project Management If we recognize the non determinist model as
a normal and legitimate tool we can: Make good business driven decisions in the
inception and elaboration phases. Establish and improve processes Set realistic expectations Okay to abandon projects as soon as we discover
they are marginal.
Project ModelsWorking together Non-Deterministic Project Management not a
replacement for Deterministic Project Management
Non – Deterministic Project Management
Deterministic Project Management
Project ModelsWorking Together – cont.
The deterministic model provides constraints “the objective is not to provide the best solution
we can, but to provide the best solution we can afford”
Projects will fail without a well executed deterministic components The non deterministic model works because the
deterministic part actually is predictable.
Non Deterministic ProcessStrategy Provide early estimates of value and cost
referenced to a business process. Create a project plan based on delivering
subsystems prioritized by value. As the project progresses, the development
team will design solutions to fit in the plan’s resource and schedule constraints.
Reevaluate value as the understanding of the application improves and adjust plan.
Non Deterministic ProcessRoles
Project Steering Committee IT Sponsor, Business Sponsors Project Manager, Architect, Lead Analyst, Lead
Subject Matter Expert Development Team
Project Manager, Architect, Lead Analyst, Lead Subject Matter Expert
Non Deterministic ProcessEarly Estimates They need to be useful for management
decision making. Structure more important then accuracy. Understanding how the application is going to
deliver value is as important (and as volitile) as understanding what it will cost.
Non Deterministic ProcessEarly Estimate – Value Estimate Artifact List of Business Processes (Business Use
Cases) For each Process
Process Description Frequency of Use How will the application improve the process How will the improvement result in business value What will it cost to operate the application Quantify the improvement in value
Non Deterministic ProcessEarly Estimate – Cost Estimate Artifact List of Business Processes For each process and supplementary
requirement The system use case(s) to support it Technical Strategy for implementing the use case
or supplementary requirement Effort estimate
Metric for translating effort estimate into hours
Non Deterministic ProcessAllowance for the Undiscovered Value Estimate
Rows labeled “unknown process” Cost Estimate
Rows for “unknown use cases” to be associated with business processes (at least as many as unknown processes)
Rows for “unknown requirements” to be included in the Supplementary Specification section
Budget for technical solutions to become more complex then originally anticipated.
Non Deterministic ProcessProject Plan Estimate Negotiations Iterations are ordered to deliver highest value
first. Technical Risk needs to be considered Project Plan includes a budget for the
undiscovered.
Non Deterministic ProcessMonitoring Status – Development Team The Development team is responsible for
designing solutions that fit within the constraints of the project plan.
Monitor and report Changes in Value Model Changes in operating costs Changes in Technical solutions Changes in Effort to Hours metric Recommendations to improve value
Non Deterministic ProcessMonitoring Status – Steering Committee Based on reporting from the development
team, adjust the project plan Choices between alternatives Priorities Schedule and Resources
MiscellaneousValue in Software Development Projects The simplest possible solution is the baseline Incremental improvements in value need to
be justified A few key features need Cadillac solutions. Infrequently used features need Escort solutions.
The development team should make most of these decisions to stay within the project constraints