310 likes | 523 Views
Demonstrating Early Value in Software System Projects Using Software and System Cost Models. Anca-Juliana Stoica, IT Dept, UU 26th International Forum on COCOMO and Systems/Software Cost Modeling University of Southern California, Los Angeles, CA November 2-4, 2011. Agenda.
E N D
Demonstrating Early Value in Software System ProjectsUsing Software and System Cost Models Anca-Juliana Stoica, IT Dept, UU 26th International Forum on COCOMO and Systems/Software Cost Modeling University of Southern California, Los Angeles, CA November 2-4, 2011
Agenda • Research Background • Value-Based Software Engineering • Software and System Cost Models • Balanced Scorecard Method • Algorithm for Applying VBSE • Collecting Project Information and Questionnaire • Experience Database • Case Study • Final Remarks and Future Work
What is value? • Value: worth in usefulness or importance to the possessor; utility or merit • Value of a system/software project: elicited by the project stakeholders’ values • Early value: value generated early in the project lifecycle
Value-Based Software Engineering • Traditional Software Engineering (SE) is not enough to make projects succeed • Value-Based Software Engineering (VBSE) is the integration a software system’s stakeholder value propositions into the system’s definition, design, development, deployment, evolution • Includes aspects not covered by SE that are critical to the system’s success • VBSE integrates value considerations into current and emerging software engineering principles and practices while developing an overall framework in which these techniques compatibly reinforce each other.
VBSE Key Elements Key components: • Benefits Realization Analysis • Stakeholder Value Proposition Elicitation and Reconciliation • Business Case Analysis • Continuous Risk and Opportunity Management • Concurrent Software and System Engineering • Value-Based Monitoring and Control • Change as Opportunity
Problem/Question/Goal • Validating VBSE compared to SE by demonstrating early value in software system projects • Can early value be demonstrated in software system projects, if so, how? • Demonstrate value • Using data collection and projects developed in academic environment for educational and commercial users
COCOMO II Model • Helps planning and reasoning about the cost and schedule implications of a software project • Software investment decisions • Project budgets and schedules • Cost/schedule/performance tradeoffs • Software improvement decisions • Reuse, tools, process maturity, outsourcing
COSYSMO Model • COnstructive SYStems engineering cost MOdel • COSYSMO helps plan the systems engineering costs of a project
Balanced Scorecard Method • How do customers see us? (Customer perspective) • What must we excel at? (Internal perspective) • Can we continue to improve and create value? (Innovation and learning perspective) • How do we look to shareholders? (Financial perspective)
Algorithm for Applying VBSE • Elaborate the Results Chain based on Benefit Realization Approach • Identify success-critical stakeholders, their roles and value propositions • Analyze the Model Clash Spider Web based on the previous two steps • 4. Verify that the project uses the prototyping techniques mentioned and/or a relevant process model • 5. Identify milestones according to the process model used ( like: iterative process model with: i) major and minor milestones; ii) objectives to be tested against at each milestone; iii) risk-driven). 6. Estimate costs using COCOMO II and/or COSYSMO models for software and/or systems 7. Make market projections for the next time horizon (ASA, APR) (years) 8. Calculate Expected Benefits (EB) • 9. Calculate Cumulative Expected Benefit (CEB) and Return On Investment (ROI) • 10. Compare expected and actual values using the measures presented above in steps 6-9 • 11. Identify the critical risks and try to figure out how much risk is enough by applying for example sweet points, utility functions and people factors • 12. Use the Results Chain and the milestones in order to monitor the project progress and see if the project is progressing according to plan. Goal-Question-Metrics (GQM) or the Balanced Scorecard Method (BSM) can also be used. Apply corrective actions in case value is not realized 13. Apply architecture-based and refactoring techniques can be used in order to validate Change as Opportunity
Experience Database • In the database all the information gathered from the projects in order to perform the analysis is stored • Online access via website
Database Model Deliverable_type Project Stakeholder Project metrics ID Name Location Description ID Name ID Name ID Name Project_id x x x x 1 x Role ID Name 1 x Deliverables Id, name, filename, project_id, deliverabletype_id, keyword 1 1
Case Study: Web-Based Time-Reporting System • Developed for a company that provides other companies with consultants • Online, anytime, from anywhere • Keeps track of consultants working with several customers at the same time • Security issues- no one could break it from outside
OUTCOME OUTCOME Implement an Online System for Consultants’ Time Reporting Saves time for all system users Saves operational costs ASSUMPTION INITIATIVE Contribution Contribution Implementing a new online IT System is an important efficiency criterion Reduces time to work Increased system efficiency Step 1 – Results Chain based on BRA
Step 2 – Stakeholders Step 4: Process Model Process Model: • The Rational Unified Process (RUP) • Iterative • Major and minor milestones • Formal objectives to be tested against • Risk-driven • Prototyping technique: HTML prototype of the system Stakeholders: • Acquirers (Users) - R2M • Mentors • Project Group • KTH
PC/PC PD/PD PD/PD PC/PC PP/S PP/PD PD/S PD/S PP/PD PP/S PD/PD PC: Process PD: Product PP: Property S: Success Mentors and KTH Development visibility and control Acquirers/Usersrs Limited development budget, schedule Applications compatibility RUP Process Many features Project group Early availability Freedom of choice process Project cost/effectiveness Ease of meeting budget and schedule Changeable requirements Freedom of choice COTS/reuse Stable requirements Step 3 – Model Clash Spider Web
Step 6 – Budget, COCOMO, COSYSMO • Overall estimated development budget: 22 PM (11 persons: 7 programmers, 4 networking engineers; 2 full-time months) • COCOMO II results for the project - COSYSMO results • System Engineering Person-Months Estimated: 26 • System Engineering Hours Estimated:3951 • Total Normalized SE Size (expressed as EREQ): 553
Step 10 – Expected and Actual Values • Expected and Actual Values are compared using the measures presented in steps 6-9 • System up and running • Analyses performed show good ROI, COSYSMO and COCOMO results • Future expansion has a lot of possibilities if they were exploited
Step 11 – Risks/Opportunities at Milestones Major risks: • Team member withdrawal • Inadequate resources, personnel • Personnel competence • Time management during exams
Steps 12 and 13 – Project progress and corrective actions To monitor project progress, the deadlines for milestones, their pass-fail criteria, and risk management are reviewed
Step 14 – Architecture Is only applicable if there is a high-level architectural design like patterns and views
Discussion • Algorithm and method for value-based software and system monitoring and control applied for a large number of commercial and educational applications developed in an academic environment • Projects data were collected in the Experience Database • Value-based questionnaire was designed and the results were analyzed • Questionnaire results not included, but were used for validation purposes • Projects developed for commercial applications like the presented case study showed larger ROI than those for educational applications • Applying the above approach helped demonstrating early value in software and system projects motivating the need for further research in the area.
Conclusion Our approach for demonstrating early value in software and system projects is based on: • Survey questionnaire • Real data collection via market research • Algorithm for applying VBSE • Software and system cost estimation models • Other models / metrics • Case studies • Experience database • Website
Future work • Monitoring value creation in modern software processes • Applying patterns and views • Extended metrics set • Strategic IT decision-making • Models and model integration • Use project follow-up • Further case studies • Education and communication of scientific and practical results
References Biffl, S., Aurum A., Boehm, B., Erdogmus, H., Gruenbacher P.(Eds.), “Value-Based Software Engineering”, Springer, 2006 Boehm, B.,“Value-Based Software Engineering”, ACM SIGSOFT Software Engineering Notes vol 28 no 2, 2003. Boehm, B., and Huang, L., “Value-Based Software Engineering: A Case Study”, IEEE Computer, March, 2003. Jacobson, I., Booch, G., and Rumbaugh, J., “The Unified Software Development Process”, Addison Wesley, 1999. “RUP 2000: Rational Unified Process”, Rational Software, 2000. Stoica, A.J., “IT Project Management, Methods and Tools”. Lecture Notes, KTH, Stockholm, Sweden, 2002. Stoica, A.J., “An Internet-Intranet Solution for Software System Estimation with Use Cases”, Proceedings of the 18th International Forum on COCOMO and Software Cost Modeling, 2003. Stoica, A.J., “Software Engineering and Security Architecture”. Lecture Notes, KTH-DSV, Stockholm, Sweden, 2004. Stoica, A.J., “Aspects of Value-Based and Strategic Software Engineering Research”. Invited technical presentation, SINTEF Research Institute, Oslo, Norway, Sept. 2005. Stoica, A.J., “Value-Based Software Engineering”. Lecture Notes, KTH-DSV Stockholm, Sweden, 2007.