Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 1
Copyright © 2007 by KESL1
KruchtenEngineering Services Ltd
A New Culture ofSoftware Project Management
Philippe Kruchten
A talk at IEEE UBC Student Branch event:“Think Engineering”
Vancouver, September 22nd, 2007
Copyright © 2007 by KESL2
Philippe Kruchten, Ph.D., P.Eng., CSDP
Professor of Software EngineeringDepartment of Electrical and Computer EngineeringUniversity of British ColumbiaVancouver, BC [email protected] 827-5654
Founder and president
Kruchten Engineering Services LtdVancouver, BC [email protected] 418-2006
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 2
Copyright © 2007 by KESL4
Outline
Project ManagementCultureA brief history of project managementThe special case of software projectsAn even briefer history software project managementA new culture of software project managementContrasting the old and the new
Copyright © 2007 by KESL5
Definitions
ProjectProject managementSoftware project
Software Project Management
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 3
Copyright © 2007 by KESL6
Project
Objectives• Clearly defined set of goals; non conflicting
Start and end points• not a continuous activity, like operations or
supportUniqueness• One time thing (product); not a repetitive
activity• Not production
Constraints• Cost, schedule, quality Source: Futrell
Copyright © 2007 by KESL7
Defining Software Project Management
Software Project Management is the art of balancing competing objectives, managing risks, and overcoming constraints to successfully deliver a product which meets the needs of both customers (the payers of bills) and the users. (RUP)
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 4
Copyright © 2007 by KESL8
Origins of project management
Pyramids, Roman bridges and all thatHenry Gantt, 1917: barchartsFlow line scheduling: 1930Line of Balance: 1940 Goodyear, US NavyMilestone charts, 1940Critical Path Method (CPM), DuPont de Nemours 1950’sPERT, US Navy 1958
Copyright © 2007 by KESL9
Origins
Precedence methodIron triangle (time, cost, output): Barnes, UK, 1969……Toyota Production SystemAgile Manifesto
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 5
Copyright © 2007 by KESL10
Our Fundamental Conundrum
Time
Features
Quality
Copyright © 2007 by KESL11
Outline
Project ManagementCultureA brief history of project managementThe special case of software projectsAn even briefer history software project managementA new culture of software project managementContrasting the old and the new
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 6
Copyright © 2007 by KESL12
Culture is …
“…a fuzzy set of attitudes, beliefs, behavioural norms, and basic assumptions and values that are shared by a group of people, and that influence each member’s behaviour and his/her interpretations of the ‘meaning’ of other people’s behaviour”(Spencer-Oatey, 2000).
Copyright © 2007 by KESL13
Culture
Thomsett 2007
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 7
Copyright © 2007 by KESL14
Nested Levels of Culture
National cultureCorporate cultureTeam or group culture
Culture /= Personality
Copyright © 2007 by KESL15
Culture as an Iceberg
Arts, literature, language, food, dress, games
time, beauty, privacy, values, role in society, education, behaviour,
motivations, fears, etc…
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 8
Copyright © 2007 by KESL16
Outline
Project ManagementCultureA brief history of project managementThe special case of software projectsAn even briefer history software project managementA new culture of software project managementContrasting the old and the new
Copyright © 2007 by KESL17
Waves of Innovations
Source: Weaver 2007
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 9
Copyright © 2007 by KESL18
Pre-classical developments
Puritanism: the protestant work ethicLiberalism: capitalism, division of labourNewtonianism: scientific enquiry
Source: Weaver 2007
Copyright © 2007 by KESL19
Classical development
Taylorism: scientific management• Frederick Taylor (1911)• Work breakdown structure and scheduling
Bureaucracy, administrative managementSystem theory, contingency view (1940’s)• Multiple input, multiple outputs, complex
interrelated processes Operations research• Military tactics, supply, etc…
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 10
Copyright © 2007 by KESL20
And then came the computer
Mainframes
PC (commodore, Atari, Apple, IBM)MicroplannerPrimavera (1983)Microsoft Project (1987)
And now everybody can schedule
Copyright © 2007 by KESL21
And then….
Earned ValueProgram managementPortfolio management
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 11
Copyright © 2007 by KESL22
On the bleeding edge…
Lean production• And therefore lean management
Critical Chain and Theory of ConstraintsChaos theory• Complex adaptive system
Copyright © 2007 by KESL23
The profession of project management
Profession:• Body of knowledge• Code of ethics• Education• Certification, etc…• “Belonging”, -> culture?
Project Management Institute• And a handful of others: IPMA, APM (UK)..
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 12
Copyright © 2007 by KESL24
Project Management Body of Knowledge
PMBOK: Developed by the Project Management Institute (PMI) (USA)Initial publication in 1987; republished in 1996Adopted by IEEE as IEEE 1490-1998• Wow, that was a bad move for software (I think)
NOT software specific
A certification: Project Management Professional (PMP)
Source: PMI & IEEE
Copyright © 2007 by KESL25
PMBOK: Knowledge Areas
4. Project Integration management5. Project Scope management6. Project Time management7. Project Cost management8. Project Quality management9. Project Human resources management10. Project Communication management11. Project Risk management12. Project Procurement management
Looks like MSF, no?
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 13
Copyright © 2007 by KESL26
Project Management Body of Knowledge
Project Integration Management Project Scope Management Project Time Management
Project Human Resource ManagementProject Cost Management Project Quality Management
Project Communications Management Project Risk Management Project Procurement Management
Project Plan DevelopmentProject Plan ExecutionIntegrated Change Control
InitiationScope PlanningScope DefinitionScope VerificationScope Change Control
Activity DefinitionActivity SequencingActivity Duration EstimationSchedule DevelopmentSchedule Control
Resource PlanningCost EstimatingCost Budgeting
Quality PlanningQuality AssuranceQuality Control
Organizational PlanningStaff AcquisitionTeam Development
Communications PanningInformation DistributionPerformance ReportingAdministrative Closure
Risk Management PlanningRisk IdentificationQualitative Risk AnalysisQuantitative Risk AnalysisRisk Response PlanningRisk Monitoring & Control
Procurement PlanningSolicitation PlanningSolicitationSource SelectionContract AdministrationContract Closeout
Source: E. Lopes Cardozo, Empulsys
Copyright © 2007 by KESL27
PMI’s PMBOK Concepts
Initiating
Planning
Executing
Controlling
Closing
Project Integration Management
Project Human Resource Management
Project Risk Management
Project Communications Management
Project Procurement Management
Project Quality Management
Project Cost Management
Project Time Management
Project Scope Management
Quality Planning
Quality Assurance
Quality Control
Process Groups Knowledge Areas PM ProcessesPlan Development
Plan Execution
Change Control
Organization Planning
Staff Acquisition
Team Development
Source: Bill Cottrell, IBM
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 14
Copyright © 2007 by KESL28
PMI PMBOK: Focus over Time
Executing
Planning
Controlling
Closing
Time
Levelof
Activity
Phase Start Phase End
Initiating
• Project Integration Mgmt•Project Plan Execution
• Project Quality Mgmt•Quality Assurance
• Project HR Mgmt•Team Development
• Project Communication Mgmt•Information Distribution
• Project Procurement Mgmt•Solicitation•Source Selection•Contract Admin
PMBOK® Guide 2000, Project Management Institute, Inc.
Source: Bill Cottrell, IBM
Copyright © 2007 by KESL29
Looking into the PMBOK Philosophy
• Heavy Planning Emphasis• Little Execution Guidance• Construction Inspired
Traditional Focus (PMBOK)
10 Planning Processes Planning Processes
Initiating Processes
Controlling Processes
Executing Processes
Closing Processes
Planning Processes
1 Executing Process
Executing Processes
2 Controlling Processes
Controlling Processes
Sources: L. Koskela & Mike Griffiths
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 15
Copyright © 2007 by KESL30
Basic Loops in the PMBOK
Controlling Processes
Executing Processes
Planning Processes
Performance data
Corrections
PlansChanges
Sources: L. Koskela & Mike Griffiths
Copyright © 2007 by KESL31
Basic Elements & Theories & Practices
Planning processes• Well-understood and pushed to the extreme in
some industries; WBS; Activities/tasks; Risks• Estimation (when? how much?)
Executing processes• Task assignment
Controlling processes• Thermostat model, cybernetic model• What to measure; assessing progress?• Earned value
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 16
Copyright © 2007 by KESL32
PMI range of standards
Source: Weaver 2007
Copyright © 2007 by KESL33
This is great stuff, right?
Let us apply all this to software development, shall we?
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 17
Copyright © 2007 by KESL34
Outline
Project ManagementCultureA brief history of project managementThe special case of software projectsAn even briefer history software project managementA new culture of software project managementContrasting the old and the new
Copyright © 2007 by KESL35
“He who will not apply new remedies must expect old evils.”
– Sir Francis Bacon 1590
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 18
Copyright © 2007 by KESL36
What Evils?
2001 Standish group report, 300,000 software projectsProjects fail (23%)Projects are “challenged (49%):• Projects late and over budget• Projects lack quality• Projects does not address user needs
Projects succeed (28%)
Much better than 1994 numbers….Source: Standish Group
Copyright © 2007 by KESL37
What Evils?
Big Upfront Planning (Big Upfront Design)Deliver• Deliver, or deliver value?
Command and control• the thermostat model
High Ceremony, Bureaucracy• If planning and control does not work, let us
do more planning and controlResistance to Change• Change is evil: leads to more planning“
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 19
Copyright © 2007 by KESL38
Software Project is a Different Beast (?)
Not a construction or assembly processNot an administrative process
Exploratory: trial and error
No (or few) pre-defined work breakdown structures (WBS)
The “nice party” metaphor
Copyright © 2007 by KESL39
Why is Software Different?
1. No fundamental laws of software• Cannot validate software on blueprints• Need to build and test
2. Extreme modifiability• End-user & customer want to exploit this• Constant changes
3. No manufacturing costs, no border• All costs are in design, no economy of scale
4. Technology churn
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 20
Copyright © 2007 by KESL40
Outline
Project ManagementCultureA brief history of project managementThe special case of software projectsAn even briefer history software project managementA new culture of software project managementContrasting the old and the new
Copyright © 2007 by KESL41
Four stages of power in IT projects
Dark age (1960 – late 70s)Tokenism (1970s –PaybackPartnership
Source: Rob Thomsett 2002, 2007
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 21
Copyright © 2007 by KESL42
1. Dark age
(1960 – late 70s) “Engineered” projects“Trust us, we know what is good for you”
Thomsett 2002, 2007
Copyright © 2007 by KESL43
2. Tokenism
1970s –Redevelopment of original systemsDeregulationCompetitivenessMore disciplined approachesControl of cost, quality, timeOutsourcing starts
The techies have the lead
Thomsett 2002, 2007
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 22
Copyright © 2007 by KESL44
3. Payback
1990 -Pendulum swing back to the business sideROIBusiness re-engineeringPortfolio management
Outsourcing as payback?
Thomsett 2002, 2007
Copyright © 2007 by KESL45
The Destruction of Trust
These first 3 stages achieved a destruction of trust among the various players
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 23
Copyright © 2007 by KESL46
4. Partnership
2000 –Open negotiationJoint planning sessionsInterdisciplinary project teamsBroader range of expertise and education of individuals
Agile and lean approaches
Thomsett 2002, 2007
Copyright © 2007 by KESL47
PaybackEngineered
Traditional project management
PartnershipTokenism
Business control
Proj
ect c
ontro
l
Thomsett 2002, 2007
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 24
Copyright © 2007 by KESL48
Outline
Project ManagementCultureA brief history of project managementThe special case of software projectsAn even briefer history software project managementA new culture of software project managementContrasting the old and the new
Copyright © 2007 by KESL49
Software Projects Fail….
Remember the Chaos reports:• 2003: still half of software projects either fail or
are seriously “challenged”: over budget, over schedule, or quality issues.
Usual Reaction: More planning, more process, more bureaucracy• CMM, Software process improvement• ISO9000-3• Six Sigma
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 25
Copyright © 2007 by KESL50
“Most companies build their bureaucratic rules to manage the small percentage of wrong people on the bus, which in turn drive away the right people on the bus, which then increases the need for more bureaucracy to compensate for incompetence and lack of discipline, which then further drives the right people away and so forth.”
Jim Collins, Good to Great
Copyright © 2007 by KESL51
Stages in Software Project Control
1. Chaos• Controls: minimal• Mantra: Just do it!• Lifecycle: undefined
2. Prescriptive Control• Controls: conformance to plan• Mantra: Plan the work and work the plan• Lifecycle: Waterfall & Task-based (or WBS)
3. Adaptive control• Controls: conformance to acceptable results• Mantra: Embrace change• Lifecycle: iterative, feature-driven
Source: Jim Highsmith
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 26
Copyright © 2007 by KESL52
Note: Controllable versus Predictable
Predictable: the final results of a project are within small variation from the original planned results with respect to scope (i.e. requirements), schedule and cost.
Controllable: The incremental results of a project are acceptable to the sponsor and product manager. During the project, management knows the project status from incremental results, understands the current plans for completion and can influence the outcome.
Copyright © 2007 by KESL53
Reliably Deliver Acceptable Results
Initial StateInitial State Actual Path and precision of artifacts
Uncertainty in Stakeholder
Satisfaction Space
Initial PlanInitial Plan
Source: W. Royce, IBM
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 27
Copyright © 2007 by KESL54
New Rules: Agile, Adaptive Processes
Deliver value.Embrace change.Minimize waste.Collaborate.Iterate.
Copyright © 2007 by KESL55
Agile Values: the Agile Manifesto
We have come to value:Individuals and interactions over process and tools,Working software over comprehensive documents,Customer collaboration over contract negotiation,Responding to change over following a plan.That is, while there is value in the items on the right, we value the items on the left more
Source: http://www.agilemanifesto.org/
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 28
Copyright © 2007 by KESL56
More Agile Principles
Customer satisfactionChange is OKDeliver working software frequentlyBusiness people and developers must work together dailyMotivated individuals; right environment; trustFace-to-face communication is preferredSustainable development
Copyright © 2007 by KESL57
Agile Principles (cont.)
Continuous attention to technical excellenceSimplicityEmergence of architecture, requirements and designSelf-organizing teamsSelf-reflection to become more effective
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 29
Copyright © 2007 by KESL58
Agile Processes
XP eXtreme Programming• Kent Beck
Scrum• Kent Schwaber
Crystal• Alistair Cockburn
Lean Software Development• Tom & Mary Poppendieck
Adaptive development• Jim Highsmith
FDD Feature Driven DevelopmentDSDM Dynamic System Development MethodRUP Rational Unified Process & OpenUPOPEN
Copyright © 2007 by KESL59
Adopting Simpler Rules
“Simple, clear purpose and principles give rise to complex, intelligent behaviour.”
“Complex rules and regulations give rise to simple, stupid behaviour.”
Dee Hock, CEO of Visa
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 30
Copyright © 2007 by KESL60
And a Different Management Style
Lifecycle is iterative and incrementalActivities are parallel and concurrent, not phasedPlanning done around deliverables (features), not activitiesAdjustments in scopeCollaboration between stakeholders, and team membersFacilitation: project manager as a facilitator
Copyright © 2007 by KESL61
New Role: Collaboration Manager
Multilingual• Ability to translate between stakeholders
Gatekeeper• Ability to reduce scope
Maestro• Ability to have all stakeholder work together,
collaborativelyCattle driver• Ability to keep the project moving forward
“Clark Kent”• Ability to articulate clearly objectives, requirements
and progressSource: Standish Group
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 31
Copyright © 2007 by KESL62
New Practices
Lifecycle: Iterations & releases• Sprints, spikes
Units of planning & scheduling• Features• Stories, episodes
Velocity• Ideal days / story• Actual days (overhead, expertise, vacations)
ScrumsRetrospectives
Copyright © 2007 by KESL63
Graves’ four organizational cultures (1972)
Source:Thomsett 2007
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 32
Copyright © 2007 by KESL64
Atomistic (Dionysus)• Individual linked by mutual convenience• Informal and ad hoc rules• Group practices: lawyers and consultancies
Power (Zeus)• Informal teams linked by powerful leaders• Verbal and intuitive• Start up companies
Task (Athena)• Interdisciplinary teams organized around the tasks at hand• Decentralize with formal rules• Federated organization with distributed control
Role (Apollo)• Hierarchical, bureaucratic • formalized mechanistic rules• Large organization with central control
Thomsett 2007
Copyright © 2007 by KESL65
Combining Goffee & Jones with Graves
Source:Thomsett 2007
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 33
Copyright © 2007 by KESL66
Fragmented
High individualityAllegiance to technical professionalismClosed value system within each groupCommunication one on oneAchievement and technical elegance valued over timePhysical space is private
Thomsett 2007
Copyright © 2007 by KESL67
Networked
Open values include personal disclosureStrong conformity encouraged through social ritualsOpen communication, both formal and informalWork time includes socializationPhysical space is open and personalized
Thomsett 2007
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 34
Copyright © 2007 by KESL68
Mercenary
Competitive values coupled with acceptance of individual differencesRelatively closed values are commonCommunication and swift and direct as time and winning mattersPhysical space is functional and allocated for work efficiency
Thomsett 2007
Copyright © 2007 by KESL69
Communal
Open and collaborative valuesWork is part of lifeCooperation is the key behaviourOpen and complex communications that reinforce bondsPhysical space is shared and flexible
Thomsett 2007
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 35
Copyright © 2007 by KESL70
A communal culture to fit the agile spirit
Thomsett 2007
Copyright © 2007 by KESL71
Outline
Project ManagementCultureA brief history of project managementThe special case of software projectsAn even briefer history software project managementA new culture of software project managementContrasting the old and the new
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 36
Copyright © 2007 by KESL72
Remember the Agile Manifesto
We have come to value:Individuals and interactions over process and tools,Working software over comprehensive documents,Customer collaboration over contract negotiation,Responding to change over following a plan.That is, while there is value in the items on the right, we value the items on the left more
Source: http://www.agilemanifesto.org/
Copyright © 2007 by KESL73
… and some Agile Principles
Customer satisfactionChange is OKDeliver working software frequentlyBusiness people and developers must work together dailyMotivated individuals; right environment; trustFace-to-face communication is preferredSustainable development
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 37
Copyright © 2007 by KESL74
Contrast of 2 cultures: Traditional - Agile
The project is done when the product shipsWhole life, governance
Quality, risk, cost/benefits are plug-ins to schedulingThey are fully integrated
Change is badChange is normal
Source: Thomsett 2007
Copyright © 2007 by KESL75
Contrast of 2 cultures: Traditional - Agile
Planning is one offPlanning is continuous
People are a resourcePeople are a creative and motivated bunch
Stakeholders are an annoyance or a threatStakeholders are creative, legitimate owners of the project
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 38
Copyright © 2007 by KESL76
Contrast of 2 cultures: Traditional - Agile
Track deliverables, cost, schedules and qualityTrack benefits, value to stakeholders, quality, satisfaction
Focus downward and inwardFocus upward and outward
Bureaucratic processes, forms, slow..Inexpensive, low-tech, light, fast and open processes
Copyright © 2007 by KESL77
Contrast
Traditional
ClosedDistrustDishonestyLack of courageTechnical prowess
New
OpenTrustHonestyCourageValue, money
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 39
Copyright © 2007 by KESL78
Epilogue
Big Upfront PlanningDeliverCommand and control
High Ceremony, bureaucracyResistance to ChangeWBS, activitiesPlan, Do, Check, Act
PERT, Gantt, CPM
Continuous planningDeliver valueLeadership and collaborationMinimize waste, simple rulesEmbrace changeDeliverables, featuresEnvision, speculate, explore, adaptOpportunistic tools
Copyright © 2007 by KESL79
But Balance, Context
Traditional PM
Agile PM
• Project Uncertainty• Customer Responsiveness• Innovative Cultures• Co-location Possible
• Project Stability• Low Tech Risk• Change Inertia• Criticality
Source: Mike Griffiths
A New Culture of Software Project Management September 22, 2007
IEEE "Think Engineering" 40
Copyright © 2007 by KESL81
Sources, ReferencesKoskela, L., & Howell, G. (2002). The underlying theory of project management is obsolete. Paper presented at the PMI Research Conference.Weaver, P. (2007). The origins of modern project management. South Melbourne, Aus.: Mosaic Project Services.• http://www.mosaicprojects.com.au/Resources_Papers_050.html
Thomsett, R. (2007). Project Management Cultures: the Hidden challenge. Agile Product and Project Management, 8(7), Cutter IT Consortium.PMI. (2003). Guide to the Project Management Body of Knowledge (PMBOK Guide) 3rd ed. Newton Square, PA: Project Management Institute.Graves, D. (1986). Corporate Culture: Diagnosis and Change: Auditing and Changing the Culture of Organizations. New York: St. Martin’s Press.Goffee, R., & Jones, G. (1998). The character of a corporation: how your company's culture can make or break your business. London: Profile Books.Goldratt, E. M. (1997). Theory of Constraints. Great Barrington, MA: North River Press.
Copyright © 2007 by KESL82
Further reading
Augustine, S., & Woodcock, S. (2003). Agile Project Management: CCPace.Highsmith, J. A. (2004). Agile Project Management : Creating Innovative Products. Boston: Addison-Wesley Professional.Anderson, D. J. (2003). Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results. Upper Saddle River, NJ: Prentice-Hall.Poppendieck, M., & Poppendieck, T. (2003). Lean Software Development - An Agile Toolkit. Boston, MA: Addison-Wesley.Thomsett, R. (2002). Radical Project Management. Upper Saddle River, N.J.: Prentice Hall PTR.