Software Project Management CS6704: Class 3 Instructor: Shawn A. Bohner Voice: (703) 538-8374 Email: sbohner@vt.edu Teaching Assistant: Yunxian Zhou Email: yxzhou@nvc.cs.vt.edu Voice: (703) 538-8381 2001 Shawn A. Bohner Agenda Review Last Week s Material Turn in Homework Reading Discussion CM Plans Discussion Review last weeks class Chapter 4: Managing a Project Day By Day Break Theory-W Introduction Homework Assignment 2 1
Fall Semester Timeline Class Begins PM Basics Managing with Metrics Software Project Mid-Term Planning Exam Program Management Emerging PM Paradigms Final Exam Aug Sept Oct Nov DEC Software Human Side Estimation of PM Software Risk Process and Management Project Portfolio Life Cycle Management 15 weeks, 12 sessions So much to do & so little time manage your time effectively! 3 Discussions Reading Discussion What was the main idea of the paper? Do you agree with Barry Boehm on new Milestones (LCO, LCA, IOC)? Explain what is meant by Win-Win Spiral Model? Software CM Plans Discussion Where did you find CM plan examples? What did your CM plans contain? Was it what you expected? Why is Managing Change so Important to Software Project Management? 4 2
Chapter 1: What makes a good Software Manager? The purpose of this chapter is to examine characteristics of a good software project manager What are the key attributes associated with successful project managers? Which software projects management skills are essential? Objectives Outline key characteristics of a good software manager Examine people, business, and process perspectives 5 Chapter 1: What makes a good Software Manager? People Perspective Rob Thomasett most projects fail because of??? concerns rather than technical issues. ~80% of software project managers come from technical ranks Some with natural abilities, others must learn Often with predispositions about managers and how projects should be run Most are surprised by their first project Budgets, resources, customers, estimates, teams, meetings, decisions, and risks What is the little hairy boss syndrome 6 3
Some Sage Advice Be???. Let your people perform according to their capabilities. Stretch goals are good but they have to have enough room to stretch. Have???. Deal??? with difficult people (often they do not know they are difficult and may be difficult because the do not understand) Know when to lead and when to manage. Lead??? manage??? (by example) (systematically) Accept the role of meetings. Communication, not bureaucracy Prepare and manage them 7 Coach Your Team to Success [Hawkins 1994] Yes, project management is a team sport Success is spelled??? Increase chances of success by Hiring the??? Keep the teams??? Minimize??? Train staff for best performance Meet as a team often but not for long periods Know your team members Set the example 8 4
Business Perspective: Basis for IT Portfolio Investment Value??? managing ongoing, non-discretionary investments in IT assets Value??? discretionary investments in improving or growing IT asset base Value??? venture into high-risk/high-payoff IT investments IT Portfolio Existing Assets Applications Data Services Infrastructure Human Capital Projects/ Initiatives ERP E-Biz CRM Security Network Upgrade Consolidation 9 Investment Model IT Portfolio Cost to Conform Followers Lost Value Value Maintenance Excess Investment Value Leveraged Value Enhancement Minimum Investment Value Exploration Leaders Cost to Excel Stay in the Value/Risk Zone! 10 5
Process Perspective Software process has matured into a vital part of software projects Software Engineering Institute s Capability Maturity Models Best practices ISO 9000, Malcolm-Baldridge, TQM At the heart of every project plan is an??? derived largely from the process 11 Chapter 2: Four Basics that Work The purpose of this chapter is to examine four basic software project management principles that work What are the basic areas for successful project managers to manage? Objectives 1. Balance people, process, and product 2. Promote visibility 3. Organize using configuration management 4. Apply standards judiciously 12 6
The 3 P s People Critical to all projects but the most variable in the management equation Creative, complex, capable, costly Process Most focused on in recent years Manage the process through measures (next section) Universe, world, and atomic views Product Software is to be change tolerant Quality measured Ultimate delivery 13 Four Basics: #1. Balancing the 3 P s Difficult of the product dependent on people and process capabilities Must triangulate on Pfactors People Knowledge????????? Process Maturity Levels 1-5 on the SEI-CMM scale Product Maturity From research prototype to packaged component 14 7
#2. Visibility Software is invisible to naked eye Intangible must be measured with a computer Software projects are largely??? (until they complete) managed as a??? Project managers must bring visibility to software product and project Two dreaded visibility vehicles?????? Project team vision, commitment, and group memory 15 Visibility Through Modeling Models answer??? Modeling tools SADT/IDEF0, Warnier-Orr diagrams, STDs, Structure charts CRC cards, object interaction diagrams Mind maps, story boards, 16 8
Information Requests, Updates Loan Applications 33.0 D A1 x Completed Conduct Applicant Credit Check 53.0 D A2 OLTG x Review 132.0 D Credit Approval A3 Scientific/Engineering Review Team, DoD Review Team Accept/Reject Loan Guarantee 131.0 D A4 x Information Meaningful Management Visibility??? Decision View i ROI, ROM, EVA, i Business Impact i Price/performance i Risk/opportunity... Value 100 80 60 40 20 0 Production Delay Overhead 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr 48 47 46 45 44 43 42??? View i Costs/budget i Schedule/effort/delay i Utilization and loading i Resource availability... Base ar 16.875 cv 1 Tm 12 * 1 Workload 3 del 34.05 Sdel 30 svc 980.271 Ssvc Audit 3.51362 145.600 300 0 Delay>Svtm # d u Cst Dr wkld svtm 146 0.68 24.5 Base Acty a b mo max 1680.46 avg 980.271 s min 280.077 392.198 SD SvcTmBase Exp* a b mo max x0 30.0067 avg 26.1359 min 16.875 3.11928 SD BaseThrupu 0.13 6.76 Alt 15 500.412 Audit A del Sdel svc Ssvc 0.35025 0.78250 300 0 Delay>Svtm # d u Cst Dr wkld svtm 0.78 0.35 16.9 Alt.Acty a b mo max 974.839 avg 500.412 s 25.9854 min 293.569 SD SvcTmAlt Exp*A a b mo max x0 49.5746 avg 36.1301 min 16.875 12.4660 SD AltThruput??? View Process/activities Products/specs Policy/procedures Constraints/guides... TL Applications, Obtain Technical Loan Applications Conduct Technical Technical Approval Application Acceptance Application Correspondence 17 #3: Configuration Management SCM Staff 0 Defines SCM Structures, Standards and Procedures Software Project Staff 0 Uses SCM Library Structures, Standards and Procedures SCM Staff 0 Archives/Controls Baselined Software Production Library Production Library Acceptance Test Library System Testing Library Acceptance Test Library System Testing Library Key Software Baseline Versions Archives of System Software Integration Testing Library Integration Testing Library Unit Development Library Unit Development Library Emergency Fix Library Emergency Fix Library 18 9
Standards The wonderful thing about standards is that there are so many to choose from But when leveraged correctly, they simplify the process and management of a software project Standards save time and money Examples: IEEE 1042 SCM Standard MIL-STD-498/IEEE 1498 Software Development Life Cycle What did we Read About? J-STD-016/ISO-IEC-12207 19 SEI s Software Process Capability Maturity Model Level Focus Key Process Areas Result 5 Optimizing 4 Managed 3 Defined 2 Repeatable 1 Initial Continuous Process Improvement Product and Process Quality Engineering Process Project Management Heroes Defect prevention Technology innovation Process change management Process measurement and analysis Quality management Organization process focus Organization process definition Peer reviews Training program Intergroup coordination Software product engineering Integrated software management Software project planning Software project tracking Software subcontract mgt. Software quality assurance Software configuration mgt. Requirements management Productivity & Quality Risk *Source: Software Engineering Institute 20 10
Process Improvement Maturity Levels Defined Process metrics focus??? predictability??? => Success Medium Risk Process Process Repeatable Project metrics focus??? variability/medium predictability??? => Success Medium-High Risk Ad hoc??? variability/??? predictability??? => Success High Risk 21 More Traction at Upper levels... Optimized (Incorporated) Value metrics High predictability??? => Success Low Risk Managed Product and Process metrics High predictability??? Process => Success Low-Medium Risk 22 11
Chapter 4: Managing a Project Day by Day The purpose of this chapter is to examine the activities that dominate a project manager s attention (or at least should). What are the key activities associated with successful projects? What are some daily project management principles? Objectives Outline key software project activities and understand their underlying principles Identify some useful techniques used day to day in software project management Explore activities that the class engages in their projects 23 First, What doesn t work? Applying a waterfall process to a project where there is considerable unknowns and risk Or Applying an evolutionary (learning) process to a project that is well-understood Not having Measurable/Visible results Or Too much measurement overhead Not applying effective configuration control (losing a grip on baselines) Or Over-control despite little change No standards reinvention and rework Or Standards spaghetti integration 24 12
Creating a Good Environment Emotional Safety Integrity, values, communication leaving your human condition out of others lives Emphasize TEAM Empowerment to succeed (and to make mistakes) together Lots of Personal Interaction Walk-about techniques Balance Work and Rest Crunch mode mixed with stable times Structure for Success (professionalism) Collegial, trust, keeping current, visibility, and mistakes 25 Visibility Control = Plan + Status + Corrections Plan => Targets or Goals/Objectives Status => Position + Direction + Rate of Change Correction => Tactics or Adjustments Getting Status Information Informal management by walking around Encouragement Localized problem resolution Formal Scheduled Communication Reporting Reviews Inspection 26 13
Project Management Visibility Concerns product quality? risk assessment? measurement? cost estimation? project scheduling? customer communication? staffing? other resources? project monitoring? 27 Critical Visibility Practices Formal risk analysis Empirical cost and schedule estimation Metrics-based project management Earned value tracking Defect tracking against quality targets People aware project management 28 14
Visibility Framework for Measures Project Management Estimates vs. Actuals Size (change and build) Cost/Budget Effort/Schedule Risks (impact & exposure) Resource Availability Technology Delivery Product Management Size in KLOCs or FPs Maintenance and Development Quality/Reliability Pre and Post-Delivery Defects Severity Change actions Type (fix, enhancement, update) Impact of change (small -> large) Priority (emergency -> routine) Core Metrics Business Management Business Value of IT Business Risks Financial breakeven point ROI/ROA/ROE Process Management Throughput - rate of changes delivered Cost of operations Inventory # of concurrent changes Testing Efficiency Project Management Dashboard Source: Software Project Manager s Network 30 15
Visibility Cautions Collect what contributes to key decisions And it cheap to acquire And does not create undue stress (this means you may have to sell it to those measured) And does not measure people directly Apples to Apples Comparisons Granny Smith and Macintosh apples When you stop making decisions on the measures, take them out We may need this someday is not a good reason to keep measuring unless the payoff is high 31 Status Reporting Vehicles Gantt Charts PERT/CPM Charts Software Size Status (Deviation From Plan) Cumulative Cost (DFP) Staffing (DFP) Earned Value Requirement Stability (Volatility) Slippage Charts 32 16
I.1.1 I.1.2 I.1.3 I.1.4 I.1.5 I.1.6 I.1.7 I.1.8 Derive a Timeline Chart (AKA Gantt) Work tasks week 1 week 2 week 3 week 4 week 5 Identify need and benefits Meet with customers Identify needs and project constraints Establish product statement Milestone: product statement defined Define desired output/control/input (OCI) Scope keyboard functions Scope voice input functions Scope modes of interaction Scope document diagnostics Scope other WP functions Document OCI FTR: Review OCI with customer Revise OCI as required; Milestone; OCI defined Define the functionality/behavior Define keyboard functions Define voice input functions Decribe modes of interaction Decribe spell/grammar check Decribe other WP functions FTR: Review OCI definition with customer Revise as required Milestone: OCI defintition complete Isolate software elements Milestone: Software elements defined Research availability of existing software Reseach text editiong components Research voice input components Research file management components Research Spell/Grammar check components Milestone: Reusable components identified Define technical feasibility Evaluate voice input Evaluate grammar checking Milestone: Technical feasibility assessed Make quick estimate of size Create a Scope Definition Review scope document with customer Revise document as required Milestone: Scope document complete 33 Timeline of Formal Project Visibility Activities System Requirements Review System Design Review Software Specification Review Preliminary Design Review Critical Design Review Test Readiness Review Exit Criteria Exit Criteria Exit Criteria Exit Criteria Exit Criteria Exit Criteria Software Audit Design Assessment/ Error Handling Analysis Software Management Metrics 17
Sample: Zoning Project Performance Effectiveness: Project Delivery Commitment Delivery Index Unit 1 Actual = Est Unit 2 Unit 3 1.4 1.2 1 0.8 Goal Goal 0.6 J Data FRequired: M 1999 AProjects MPlanned J vs. Actual J Delivery A Dates S from OEach N D Reporting Unit Frequency: Prior Months Actual Months/Estimated Months Monthly 35 Earned Value Quantitative technique for monitoring project completion to date and assessing progress from a value perspective Estimate total project completion time then compute the percentage of the total project time associated with each project task www.acq.osd.mil/pm/ 36 18
Barry Boehm s Top Software Risks 1. Personnel Shortfalls 2. Unrealistic Schedules and Budgets 3. Developing the wrong software functions 4. Developing the wrong user interface 5. Gold-plating. Requirements scrubbing 6. Continuing stream of requirements changes 7. Shortfalls in externally-performed tasks 8. Shortfalls in externally-furnished components 9. Real-time performance shortfalls. 10.Straining computer science capabilities 37 Productivity Management Theories Management Theories: X: Fredrick Taylor (1911) professes that more productivity with efficient production Y: Evans, Piazza, and Dolkas (1983) profess that stimulating more creativity and individual initiative brings better results Z: Gellerman (1978) profess that corporate culture and conflict resolution bring better results They are all right in their own respect Theory-W moves the productivity equation outside of the internal organization 38 19
Theory-W: Win-Win? Theory-W moves the productivity equation outside of the internal organization What makes a win for key stakeholders Basic Steps Establish a set of win-win preconditions Understand how people want to win Establish reasonable expectations Match peoples tasks to their win conditions Provide supportive environment 39 Theory-W: Win-Win? The Basic Steps (continued) Structure a win-win software process Establish a realistic process plan Use plan to control project Identify project s win-lose and lose-lose risks Keep people involved Structure a win-win software product Match product to users and maintainers win conditions 40 20
Homework Assignment for 9/17/01 Read Paper entitled, Theory-W Software Project Management: Principles and Examples by Boehm and Ross Read Paper entitled, Using the WinWin Spiral Model: A Case Study by Boehm,... Summarize key points of assigned reading into a short 1 page paper (~300-500 words) Read SPMH Text Chapter 4 Identify and collect 4 project management status report examples hand them in with a short paragraph about each explaining the decisions it supports Have a great week! 41 21