Scott Adams DILBERT 1
Scott Adams DILBERT 2
Scott Adams DILBERT 3
Program Management Coordinating several subprojects or a series of projects to meet specific business objectives Program Manager ensures projects are meeting objectives: If objectives change Program Manager decides how projects should change Project Manager then decides how to implement the change 4
Program Plan Template Overview Features Program Requirements Program Goals Market evaluation & Marketing plan Sales plan ROI and product lifetime Schedule overview Staffing curve Training plan Service / support plan Other plans 5
Return On Investment There are four commonly used formulas to determine ROI. Formula 1: ROI: Costs = X; Benefits = Y Gives Management information and lets them make an intelligent comparison; the math obscures the magnitude and importance of the numbers in the ROI calculation Formula 2: Formula 3: Formula 4: ROI Benefits - Costs Benefits ROI Costs (Benefits - Costs) ROI Costs 6
The Math Future Value FV ( 1 i) PV future value at the end of period 1 1 0 FV ( 1 i) FV ( 1 i)( 1 i) PV ( 1 i) PV 2 1 n n ( 1 ) FV i PV 2 Present Value (of Future Value) PV 0 FV n n ( 1 i) present value of future value at the end of period n 7
Net Present Value (NPV) of Benefits - Costs NPV compares the value of a dollar today to the value of that same dollar in the future, taking inflation into account. If the NPV of a prospective project is positive, it should be accepted. However, if NPV is negative, the project should probably be rejected because cash flows will also be negative. NPV B T T t t t 1 r t 1 C ( 1 ) ( 1 r) t t 8
Inflation Rate (discount rate) = 6% NPV NPV Year Benefits Cost Benefits Cost 0 $1,500,000 $1,500,000 1 $150,000 $141,509 2 $150,000 $133,499 3 $150,000 $125,943 4 $150,000 $118,814 5 $150,000 $112,089 6 $150,000 $105,744 7 $150,000 $99,759 8 $150,000 $94,112 9 $150,000 $88,785 TOTALS = $1,020,254 $1,500,000 B - C = -$479,746 B/C Ratio = 0.68 9
Excel CSc 171 & 233 Fall 2013 Avg. Discount Rate 6% NPV (B) = B - C B C $1,020,254 -$479,746 0.68 =NPV(H6,H11:H20) row Year Benefits Discounted Benefits Costs (C) 11 1 $1,500,000 12 2 $150,000 $141,509 =H12/((1+$H$6)^G11) 13 3 $150,000 $133,499 =H13/((1+$H$6)^G12) 14 4 $150,000 $125,943 =H14/((1+$H$6)^G13) 15 5 $150,000 $118,814 =H15/((1+$H$6)^G14) 16 6 $150,000 $112,089 =H16/((1+$H$6)^G15) 17 7 $150,000 $105,744 =H17/((1+$H$6)^G16) 18 8 $150,000 $99,759 =H18/((1+$H$6)^G17) 19 9 $150,000 $94,112 =H19/((1+$H$6)^G18) 20 10 $150,000 $88,785 =H20/((1+$H$6)^G19) $1,020,254 col G H I J K 10
Apps available in Excel CSc 171 & 233 Fall 2013 Future Value Net Present Value Present Value 11
Organizing Multiple Related Projects How to track which requirements are in which release? Release Trains Technique of planning software releases on regular or cyclic time period, for example, the last day of every quarter, or every 9 weeks, etc. The "train" metaphor is based on the concept of railroad train schedules (planned arrival and departure times) and that trains carry multiple types of rolling stock (different types of projects are included in a release). Plan to organize features into a quarterly timebox to facilitate scheduling of periodic multiple releases of the product. 12
Release Train Open Source commercial products: Clearspace and Jive Forums Adopted a release train model for their projects. Why the change? to "move as fast as possible with high quality". For end users of their products, the key thing to know was that there would be a new release every three weeks. Each version contains bug fixes and new features and we're committed to maintaining high quality for every release (no more rushed bug fixes a week after a release). 13
Making Release Trains Work Program Manager manages the product release criteria managing the Trains. Project Managers manage their project their part. Only what is needed avoiding YAGNI work! "You Aren't Gonna Need It" is the principle in extreme programming that programmers should not add functionality until it is necessary. Ron Jeffries writes, "Always implement things when you actually need them, never when you just foresee that you need them." SW Configuration Management a must! Good estimation needed to meet release dates. Automated regression testing a must! 14
Software Configuration Management (SCM) The task of tracking and controlling changes in the software. Configuration management practices include revision control and the establishment of baselines SCM answers the question "Somebody did something, how can one reproduce it? Often the problem involves not reproducing "it" identically, but with controlled, incremental changes. Answering the question thus becomes a matter of comparing different results and of analyzing their differences. Traditional SCM focused on controlled creation of relatively simple products. Now, implementers of SCM face the challenge of dealing with relatively minor increments under their own control, in the context of the complex system being developed. 15
Release Trains requires Great SCM GOALS: Configuration identification - Identifying configurations, configuration items and baselines Configuration control - Implementing a controlled change process. This is usually achieved by setting up a CHANGE CONTROL BOARD whose primary function is to approve or reject all change requests that are sent against any baseline. Configuration status accounting - Recording and reporting all the necessary information on the status of the development process. Configuration auditing - Ensuring that configurations contain all their intended parts and are sound with respect to their specifying documents, including requirements, architectural specifications and user manuals. Build management - Managing the process and tools used for builds. Process management - Ensuring adherence to the organization's development process. Environment management - Managing the software and hardware that host our system. Teamwork - Facilitate team interactions related to the process. Defect tracking - Making sure every defect has traceability back to the source. 16
Scaling Software Agility: Best Practices for Large Enterprises (The Agile Software Development Series) (Paperback) by Dean Leffingwell Addison-Wesley Professional 17
Let s do Agile 18
Managing Project Managers Manage by deliverable. Follow Management by Exception (MBE). Practice whereby only the information that indicates a significant deviation of actual results from the budgeted or planned results is brought to the management's notice. Its objective is to facilitate management's focus on really important tactical and strategic tasks. In MBE, the decision that cannot be made at one level of management is passed on to the next higher level. 19
Managing Project Managers Manage by deliverable. Follow Management by Exception. Review each project s dashboard. Review each project s risk list. Rely on feedback. Status checks CSc 171 & 233 Fall 2013 Program Gantt Chart (all Projects) Schedule of handoffs all interdependencies visible! Weekly status reports (each Project) Review risks list with each Project Manager 20
Features per Iteration Features 70 60 50 40 30 20 # Features Done # Features Left Tot Features For Agile Projects review: Velocity Charts Iteration Content Charts 10 0 29-Nov 18-Jan 9-Mar 28-Apr 17-Jun 6-Aug 25-Sep 14-Nov 3-Jan 9 Velocity Chart 8 7 Iteration Content Chart Defects Changes Features 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 Iteration 21
Program Dashboard Program Managers design their own Need to represent interdependencies of resources and deliverables. The author s storyboard-like mechanism to describe program s progress pictures on the wall????? 22
Testing Page 280 - last paragraph I ve use a template Page 286-8 lines from the bottom Your job is too look for obstacles 23