Recent trends in estimation methodologies

Slides:



Advertisements
Similar presentations
Tridion 5.3 Templates.
Advertisements

Testing Relational Database
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Apache Struts Technology
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Quality and Experience 20 Years of Customer Business Analytics Successes.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
© Copyright Eliyahu Brutman Programming Techniques Course.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
UNIT-V The MVC architecture and Struts Framework.
The Design Discipline.
Web Based Applications
MVC pattern and implementation in java
Systems Analysis and Design in a Changing World, Fifth Edition
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Design Patterns Phil Smith 28 th November Design Patterns There are many ways to produce content via Servlets and JSPs Understanding the good, the.
Winrunner Usage - Best Practices S.A.Christopher.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Systems Analysis and Design in a Changing World, 3rd Edition
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Model View Controller Architecture of Java Web Applications Dr. M V S Peri Sastry, Ph.D.[BITS-Pilani]
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
ARCH-7: Integrate this! SonicMQ® and the OpenEdge® Reference Architecture Christian Stiller Technical Architect.
Sally McCallum Library of Congress
Apache Struts Technology A MVC Framework for Java Web Applications.
Introduction to OOAD and UML
MODEL VIEW CONTROLLER PATTERN. Model View Controller MVC is a time tested method of separating the user interface of an application from its Domain Logic.
Systems Analysis and Design in a Changing World, Fifth Edition
Database Systems: Design, Implementation, and Management Tenth Edition
WebSphere Diego Leone.
Chapter 1: Introduction to Systems Analysis and Design
PLM, Document and Workflow Management
THE COMPELLING NEED FOR DATA WAREHOUSING
Object-Oriented Analysis and Design
System Design.
Software Design and Architecture
Design and Maintenance of Web Applications in J2EE
Advanced Database Models
Value Proposition.
Database Fundamentals
Chapter 1 Database Systems
File Systems and Databases
Software life cycle models
The Model Layer What is Model?
Chapter 2 The Origins of Software
Chapter 5: Software effort estimation- part 2
Analysis models and design models
Software Design Lecture : 8
MGS 4020 Business Intelligence Ch 1 – Introduction to DSS Jun 7, 2018
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Chapter 1: Introduction to Systems Analysis and Design
Database Design Hacettepe University
AIMS Equipment & Automation monitoring solution
Chapter 15: Accounting and Enterprise Software
Convergence IT Services Pvt. Ltd
Enterprise Java Beans.
Chapter 3 Database Management
CAD DESK PRIMAVERA PRESENTATION.
Reportnet 3.0 Database Feasibility Study – Approach
Chapter 1: Introduction to Systems Analysis and Design
T-FLEX DOCs PLM, Document and Workflow Management.
Database management systems
Presentation transcript:

Recent trends in estimation methodologies - Sharing of experience Nagaraja Gundappa Head, Execution Excellence group Talent Transformation Wipro Technologies

Overview Experience with current methodologies for web applications Cocomo Function points Use case points New paradigm in effort estimation – open estimation methodologies Need for open methodologies Characteristics of open estimation methodologies Sample estimation methodologies Experience with MVC Points SPM ICON Recent trends in estimation methodologies

Current methodologies… Cocomo Focuses on estimating effort given the size of application in lines of code Does not offer any method to arrive at the size in lines of code For web applications, given the complexity of environments, it is extremely difficult to estimate the size in lines of code given high level requirements Usage level is almost zero for estimating for web applications SPM ICON Recent trends in estimation methodologies

…Current methodologies… Function points Views an application as consisting of a set of functionality defined by transactions. Size of transactions determines size of application Complexity of transaction is determined by amount of data involved in the transaction Visualization of application not in line with OOSE Not easy to bring in new complexity factors Not easy to validate size (FP) to effort conversion Not widely used for estimating web applications SPM ICON Recent trends in estimation methodologies

…Current methodologies… Use case points Views an application as consisting of a set of use cases. Complexity of use cases is determined by complexity of actor and number of transactions involved in the use case Visualization of application in line with OOSE; more relevant for web applications Writing use cases currently is very subjective. Having one use case with many transactions v/s having nested use cases Not easy to bring in new complexity factors Not easy to validate size (UP) to effort conversion Not widely used SPM ICON Recent trends in estimation methodologies

Current paradigm Summary of current estimation methodologies Generic – applicable for all technologies Because the sizing units are abstract and not specific to a technology, it is difficult to visualize the application in terms of the sizing units Because sizing units do not directly correspond to code units, it is cumbersome to validate the conversion of size to effort at a unit level. Closed – involves empirical equations in arriving at size Difficult to add new complexity factors by the users Difficult for organization to adapt and take it through continuous improvement with user level customization and optimization SPM ICON Recent trends in estimation methodologies

New paradigm Open estimation methodologies A new trend Standardize work break down elements into sizing units Define complexity factors for classifying sizing units Define effort norms of sizing units of various complexities Specific – applicable to specific technologies and application types Sizing units specific to technology / application type. Easy to visualize Sizing units correspond to code units Open – does not involve empirical equations in arriving at size Easy to add new complexity factors by end users Possible for organizations to adapt and take it through continuous improvement with user level customization and optimization SPM ICON Recent trends in estimation methodologies

New paradigm - methodologies Some methodologies in the new paradigm Template points Used for portal development by implementing content management packages Data points Used for data migration projects Interface points Used for Enterprise Application Integration projects MVC Points Used for J2EE and .Net development projects SPM ICON Recent trends in estimation methodologies

New methodologies – closer look Template points Customization of content management products essentially involve customizing pre-built templates Complexity of each template is determined by difficulty involved in customizing it Templates classified into simple, medium and complex based on number of hooks and complexity of processing involved in each hook Data points A table / file is a sizing unit Complexity of structure such as if the data is nested or not determines complexity of unit Complexity of processing / transforming data while migrating SPM ICON Recent trends in estimation methodologies

Interface points Interface points Alternate names are integration points and message points One interface point is one link between a source system and a destination system to carry a set of related data (message) Ex:- an interface between works management system (Oracle application) and Customer management system (A CRM application on SAP) for booking appointments is one interface point. An interface can also be viewed as an object involving a specific group of fields and defined operations This is classified into simple, medium and complex based on Complexity of the data How many hierarchies? Complexity of the technology to establish connectivity / build adapters Processing (operation performed on data) Straight forward mapping between fields to fields Looping through data fields for mapping between source and destination Any processing / transformation to be done More than 250 applications have used this successfully SPM ICON Recent trends in estimation methodologies

MVC points Overview Based on the architecture pattern called Model-View-Controller (MVC) Most web applications, especially J2EE and .Net applications follow an MVC pattern An application is viewed to be consisting of a number of use cases each realized through a set of models, views and controllers The models, views and controllers (MVC Points) are classified into simple, medium and complex and have defined effort norms SPM ICON Recent trends in estimation methodologies

MVC pattern For those new to MVC patterns… Mapping of MVC pattern to J2EE technology Model View Controller JSPs Servlets EJBs DBMS User SPM ICON Recent trends in estimation methodologies

MVC Points - steps Step 1: Assume a Model-View-Controller (MVC) pattern for the application. Step 2: List all the Use Case titles Step 3: Identify the View Classes, Model Classes and Controller classes for all use cases Step 4: Categorize each view, model and controller class as Simple , Medium or Complex. Step 5: Add the Models, Views and Controllers in each category Step 6: Multiply the number of models, views and controllers by corresponding effort norms. This step provides the Coding and Unit Testing (CUT) effort in person days for each category of MVC points. SPM ICON Recent trends in estimation methodologies

…Steps Step 7:Add the effort of each category to arrive at the CUT effort for the whole application Step 8: Multiply the CUT effort by 2.5 to arrive at the life cycle effort Step 9:Check if any other miscellaneous tasks outside the purview of MVC that have to be estimated and carry out the estimate using WBS Step 10: Determine project management effort and Buffer Step 11: Add efforts of steps 8, 9 and 10 to arrive at the final effort estimate for the project SPM ICON Recent trends in estimation methodologies

MVC Points - Samples Complexity indicators A complete estimation sheet SPM ICON Recent trends in estimation methodologies

MVC points – Validation results Re estimations An application for a publishing industry company Effort originally estimated by the team = 11 person months Actual effort = 16 person months Effort re-estimated using the MVC Points methodology = 18 person months. 31% deviation in the original estimates and 12% deviation in re estimation using the MVC Points model SPM ICON Recent trends in estimation methodologies

… Validation results …Re estimations An application for a company in manufacturing industry Module 1: Effort originally estimated by the team = 120 person days Actual effort = 180 person days Effort re-estimated using the MVC Points methodology = 198 person days. 33% deviation in the original estimate and 10% in re estimate Module 2 Effort originally estimated by the team = 140 person days Effort re-estimated using the MVC Points methodology = 169 person days 22% deviation in original estimate and 6% in re estimate SPM ICON Recent trends in estimation methodologies

… Validation results Comparison of estimate v/s actual effort An application for a company in retail industry Estimation was prepared using MVC Points methodology and the estimate was compared with actual effort after project completion Estimated effort = 756 person days Actual effort = 786 person days The deviation between the estimation and actual effort is - 4% The effort under run was attributed to over skilled team SPM ICON Recent trends in estimation methodologies

MVC points – Merits and demerits Intuitive to use for web applications Sizing units are based on actual coding units that will be developed Maps well to the object oriented paradigm Possible for organizations to adopt, customize and optimize Complexity factors do not have empirical equations and hence end users can add new complexity factors easily Effort norms per sizing unit can be easily verified as sizing units are coding units. Demerits Limited applicability as methodologies are specific to technologies Yet to have any standard bodies supporting the methodology SPM ICON Recent trends in estimation methodologies

Conclusions ‘One size fits all’ paradigm seems to be inadequate. Most current methodologies belong to this paradigm We are witnessing the emergence of many open methodologies These are semi formal methodologies developed by practitioners Local to specific technology and application type User level customization and optimization is possible MVC Points is the first such open methodology to be articulated formally SPM ICON Recent trends in estimation methodologies

Thank You SPM ICON Recent trends in estimation methodologies

MVC Design Pattern MVC is an architectural pattern that is used when developing interactive application. Any interactive application can be categorized into: View Classes which handle the GUI Model Classes which can be entity classes interacting with the database tables of the application or the business logic classes Controller classes which communicate between the View and Model Classes. SPM ICON Recent trends in estimation methodologies

MVC and Internet applications Typically in internet applications User interfaces change often, look-and-feel being a competitive issue. The same information is presented in different ways. The core business logic and data is stable. So model classes would not change often but view classes would SPM ICON Recent trends in estimation methodologies

Advantages of MVC Pattern Separating Model from View (that is, separating data representation from presentation) - easy to add multiple data presentations for the same data. - facilitates adding new types of data presentation as technology develops. - Model and View components can vary independently enhancing maintainability, extensibility, and testability. SPM ICON Recent trends in estimation methodologies