16_projectmanagement
TRANSCRIPT
1
Project Management
Practical Advice for Thriving in Chaos
Tim Halloran
Projects in Contemporary Organizations
l Project management has emerged because the characteristics of our turn-of-the-century society demands the development of new methods of management
l Many forces have fostered the emergence and expansion of project management
2
Forces Driving Project Management
l 3 forces driving project management:– The exponential expansion of human knowledge– The growing demand for a broad range of complex,
sophisticated, customized goods and services– The evolution of worldwide competitive markets for
the production and consumption of goods and services
l All 3 forces combine to mandate the use of teams to solve problems that used to be solvable by individuals
Objectives of a Project
l 3 project objectives:– Performance– Time– Cost
l Expectations of clients are not an additional target, but an inherent part of the project specifications
3
Objectives of a Project
The Project Manager
4
The Project Manager
l The project manager (PM) is expected to:– Integrate all aspects of a project– Ensure that proper knowledge and resources are
available when and where needed– Ensure that the expected results are produced in a
timely, cost-effective manner
l Often a PM is responsible for outcomes but lacks authority to command requisite resources and personnel
l PM faces many challenges and risks (rewards)
Recent Changes in Managing Organizations
l The process of managing organizations has been impacted by 3 revolutionary changes:– Accelerating replacement of traditional, hierarchical
management by participatory management– Currently witnessing the adoption of the “systems
approach” (sometimes called “systems engineering”)
– Organizations establishing projects as the preferred way to accomplish the many specific changes that must be made when the organization attempts to alter its strategy
5
Recent Changes in Managing Organizations
l Manhattan Project– One of the first large projects– Most contributors worked full-time on the project
l The use of multiple organizations as contributors to a project is no longer remarkable– SAGE, Altas ICBM, ARPANET– Transdisciplinary projects are more the rule than the
exception
The Definition of a Project
l Project Management Institute definition– A temporary endeavor undertaken to create a
unique product or servicel In the broadest sense, a project is a specific,
finite task to be accomplishedl Distinction between terms:
– Program - an exceptionally large, long-range objective that is broken down into a set of projects
– Task - set of activities comprising a project– Work Packages - division of tasks– Work Units - division of work packages
6
Project Characteristics
l Have a purposel Have a life cyclel Interdependenciesl Uniquenessl Conflict
Non-projects
l Routine tasks are not projects– A project is a one-time event
l Non-projects– Production of weekly employment reports– Preparation of school lunches– Mail delivery
l Projects– Construction of a building– Olympic Torch Relay Project
7
Why Project Management?
l Project form of organization allows the PM to:– Be more responsive to the client and the
environment– Identify and correct problems at and early date– Make timely decisions about trade-offs between
conflicting project goals– Ensure that managers of the separate tasks do not
optimize the performance of their individual tasks at the expense of the total project (suboptimize)
Why Project Management?
l Companies have experienced:– Better control– Better customer relations– Shorter development times– Lower costs– Higher quality and reliability– Higher profit margins– Sharper orientation toward results– Better interdepartmental coordination– Higher worker morale
8
Why Project Management?
l Companies have also experienced negatives:– Greater organizational complexity– Increased likelihood of organizational policy
violations– Higher costs– More management difficulties– Low personnel utilization
l On the whole the balance weighs in favor of project organization if the work to be done is appropriate for a project
The Project Life Cycle
l Stages of a Conventional Project:– Slow beginning– Buildup of size– Peak– Begin a decline– Termination
9
The Project Life Cycle
The Project Life Cycle
10
The Project Life Cycle
l Other projects also exist which do not follow the conventional project life cycle
l These projects are comprised of subunits that have little use as a stand alone unit, yet become useful when put together– Software– Book
The Project Life Cycle
11
The Project Life Cycle
l It is essential for the Project Manager to understand the characteristics of the life cycle curve for his project
l The distinction between the two life cycles plays a critical role in the development of budgets and schedules for the project
Risk During the Project Life Cycle
l With most projects there is some uncertainty about the ability to meet project goals
l Uncertainty of outcome is greatest at the start of a project
l Uncertainty decreases as the project moves toward completion
12
Project Cost Estimate
Project Cost Estimate
13
Summary
l The use of projects and project management continues to grow in our society
l The Project Management Institute (PMI) was founded in 1969 to foster the growth and professionalism of project management
l Project management is now being recognized as a valuable “career path” in many organizations, as well as a way to gain valuable experience within the organization
Summary
l The 3 primary forces behind project management are:– The growing demand for complex, customized
goods and services– The exponential expansion of human knowledge– The global production-consumption environment
14
Summary
l Prime objectives of project management are:– To meet specified performance– To do it within specified costs– Complete on schedule
l Terminology follows in this order: program, project, task, work package, work unit
Summary
l Projects are characterized by a singleness of purpose, a definite life cycle, complex interdependencies, some or all unique elements, and an environment of conflict
l Project management, though not problem-free, is the best way to accomplish certain goals
l Projects often start slow, build up speed while using considerable resources, and then slow down as completion nears
15
I’m a programmer, why should I care about this?
You WILL be in charge sooner than you think!
16
Lessons for an Accidental Profession
l Understand the context of project managementl Recognize project team conflict as progressl Understand who the stakeholders are and what
they wantl Accept the political nature of organizations and
use it to your advantagel Lead from the front; the view is betterl Understand what “success” means
Lessons for an Accidental Profession
l Build and maintain a cohesive teaml Enthusiasm and despair are both infectiousl One look forward is worth two looks backl Remember what you are trying to dol Use time carefully or it will use youl Above all, plan, plan, plan
17
Budgeting and Cost Estimation
Pathfinder Mission to Mars-On a Shoestring
l 2 Viking Mars-lander missions: $3 billion– Design-to-performance
l Pathfinder: $175 million (94% cost reduction)– Design-to-cost– Cost was limited by:
l Development was cost-capped – no more fundsl A set of “de-scope” options was identifiedl Mission, flight, and ground systems designs – use existingl Project cash reserve of 27% of total budgetl Mission designers/builders » testers/operators – savingsl Existing NASA infrastructure used (more on page 264)
18
Scheduling
l A schedule is the conversion of a project action plan into an operating timetable– It serves as the basis for monitoring and controlling
project activity
l Taken together with the plan and budget, it is probably the major tool for the management of projects
PopulationSurvey
GameSightings
MeatRequirements
Review(MRR)
PreliminaryGame
Selection
PreliminaryHunting Plan
Trade Study:Mammoth vs.
Tiger vs. Rabbit
Hunt LeaderChosen
Final GameSelection
Site Selection
Site Survey
Site Preparation
Final HuntingPlan
PreliminaryHuntingReview(PHR)
PreliminaryHunter
SelectionTrade Study:
Club vs. SpearWeaponSelection Weapon
Development
CriticalHuntingReview(CHR)
SiteInspection
WeaponsInspection
HunterInspection
HuntReadiness
Review(HRR)
Chase Game
Catch Game
Get CaughtBy Game
Lose Game
KILL Game
Choose NewHunt Leader
Transport toCave
ExamineEntrails
DistributeMeat
ScheduleHunt
ForecastWeather
Obtain Blessingof Great God
Thag
MeatDistribution
PlanFinal HunterSelection
Why the Neanderthals Became ExtinctWhy the Neanderthals Became Extinct
MeatRequirements
WeaponsPractice and Skill
Qualification
I don't know. It seemed
easier when we just went hunting.
Yes, but Og assures me that this will improve
our efficiency and keep us ahead of
those Cro-Magnons in
the valley.
19
Why Schedule?
l In a project environment, the scheduling function is more important than it would be in an ongoing operation – Projects lack the continuity of day-to-day operations
and often present much more complex problems of coordination
Scheduling – Network Approach
l The basic approach of all scheduling techniques is to form a network of activity and event relationships
l This network should graphically portray the sequential relations between the tasks in a project
l Tasks that must precede or follow other tasks are then clearly identified, in time as well as function
20
Gantt Charts
l The Gantt chart shows planned and actual progress for a number of tasks displayed against a horizontal time scale
l It is an effective and easy-to-read method of indicating the actual current status for each set of tasks compared to the planned progress for each item of the set
l It can be helpful in expediting, sequencing, and reallocating resources among tasks
l Gantt charts usually do not show technical dependencies
Gantt Charts
21
Gantt Charts – Advantages
l Advantages to the use of Gantt charts:– Even though they may contain a great deal of
information, they are easily understood– While they may require frequent updating (as does
any scheduling/control device), they are easy to maintain as long as task requirements are not changed or major alterations of the schedule are not made
– Gantt charts provide a clear picture of the current state of a project
– They are easy to construct
Gantt Charts – The Flaw
l Gantt charts have the weakness that one needs the PERT/CPM network (or the WBS) to interpret what appears on the Gantt chart beyond a cursory level – or to plan how to compensate for lateness
22
Being a software “team lead”
l Be very aware of the project life cycle curve for a software project
l Be very aware of people issues
– Need a strong desire to have other people succeed
– People’s jobs will depend upon your leadership
l Politics always exist—use them wisely
Being a software “team lead”
l Risk Management– Avoid staying in “comfort zone”– Do the hardest things first
l Plan to have running code at all times– Sync & Stabilize / Agile / Open Source– Booch quote “The mark of any solid…”
l Focus on objectives – not diversions– Death by DFD– Writing your own compiler
23
StratWar Wargame
l Strategic wargame– SIOP creation/execution– 4 days (3 plan / 1 war)
l 18 month project– Sun 386i / CDC Cyber– BDM (Fortran Simulation)– High risk (backup game)
l Played by 500 students– Hailed as the “Highlight of
the 1990 Academic Year”
Not all requirements have an “elegant” technical solution
l Oracle Forms was used to allow student input of SIOP planning
– Designed for terminals– Used Xterm or vt100
l PCs used EGA color textl Management Edict
– Change to color screens or abandon Suns for PCs
l Project death?
24
Advice for “Team Leaders”
l There are no “accidents”—being put in chargel “The buck stops here”—trust from leadershipl If you “know it all” you will fail quickly
– Set team standards and enforce them (cautiously)– Punish folks for being stupid, not for being ignorant– Work to leverage individual strengths, but…– If someone doesn’t fit in—get rid of them– In my ideal team I would be the slowest member
l Goal: working software not long work hours
Turning around a “bad project”—move slowly but gain momentum
l DM replacement project in very bad shape– VMS Ada, New vs. Old, “death by DFD”, “easy lib”– When you have nothing but code, be creative…
l Hit the “campaign trail” to users & management– Co-located new and old teams– Only half of original team survived changes– Radical COTS changes (SGI Unix/Ada 95/NT)– Changed infrastructure quickly– Setup is hard and requires long hours for YOU
25
“Techie blinders” & the battle of theIBM Server 500 vs. SGI Origin 2000
l During work a new requirement emerged…
l A new operating location– Use “new” or “old” system– I advocated “new”!
l Management: BOTH– Remember risk avoidance
is for the system not the software (or your part).
Optimization without a tool is a complete and utter waste of time
package body Bit is
Procedure Set_0 (Source : in out Byte_Array_Type) isByte_Constant_0 : constant Byte_Type := “00000000”;
BeginSource := (others => Byte_Constant_0);
End Set_0;
package body Bit is
Byte_Constant_0 : constant Byte_Type := “00000000”;
Procedure Set_0 (Source : in out Byte_Array_Type) isBeginSource := (others => Byte_Constant_0);
End Set_0;
l New DM ran faster than IBM, but…
l Worried Ada95 was slow
– 3 days of profiling pointed to 1 line of code accounting for 60% of program execution time
26
NATO Mid-TermCOTS Software (from my other talk)
l COTS growth not controlled– “On our computer…so”– COTS religious wars– Boeing and sub-contractors
using different COTS tools for the same purpose
– Better “system-wide” control needed
l COTS role a critical issue– Run-time on aircraft– Development only
Manage COTS like its your project’s biggest risk—or it will be!
SGI IRIX (port Windows NT)
C
Oracle DatabaseAda95 gnat
Tcl/tk
DM
Make ClearCase
SGI Developer Magic Ada
Oracle Pro*C
Exceed
MS Office
X Windows
Emacs
COTS
27
Step 1: Divide COTS software into 3 categories (or roles)
l Run-time COTSl Strategic Development COTSl Tactical Development COTS
Run-time COTS
l What COTS is required to execute the system?– IRIX– Oracle– Tcl/Tk interpreter– X Windows– Ada95 libraries
l Changes to this list are MAJOR– Check accuracy and keep as small as possible
28
Development COTS: Strategic
l Add to run-time COTS the minimum needed to “build” the software system from source code– Ada95 (gnat)– C (compiler)– Oracle Pro*C– Make
l Changes to this list may be MAJOR– Again, check accuracy and try to keep small
Development COTS: Tactical
l Everything else:– Developer Magic Ada– Emacs– Exceed– MS Office– ClearCase
l Changes to this list are usually MINOR– Not everything should be a project standard– Being draconian with this list can alienate your team
29
Step 2: Map COTS into the software system and estimate lifetimes
l For run-time and strategic development determine what components of your software depend upon the COTS and estimated the useful lifetime of the software– If possible also note SLOC counts (or rough size)
l Critical step to evaluate COTS changes and the amount of “lock-in” you have
l Don’t keep a secret—share with your team!
COTS Chart
DM: Operator Interface
5 years 10 yearsEstimated Lifetime
DM: Preps
Tcl/tk (4K)
Ada95 (1.1M)
C (500)
Oracle Pro*C (2K)
X Windows
IRIX
IRIX
Make (400)
Make (400)
Oracle
30
NATO AWACS Mid-Term: Advice when you oversee software work
l COST, SCHEDULE, PERFORMANCE– Trade-offs must become second nature– You can only hold two constant, but remember
Brooks’ law…
l Let Engineers do their job, “never tell people…”l Avoid the temptation to have “pet projects”l Maintain COTS vendor "relationships”l Logistics matters
– Contracting and long-term maintenance
Final Thoughts
l Remember these are only rules-of-thumb– Your mileage may vary
l Successful team software development is still an art not a science– Project management skills recommended– Chaos is unavoidable, but…
l When things come together, it is all worth it– 1st StratWar Exercise– Server 500 augmented with Origin 2000