240 likes | 396 Views
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
E N D
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
View Controller Model Servlets EJBs DBMS User JSPs MVC pattern • For those new to MVC patterns… • Mapping of MVC pattern to J2EE technology 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 • Actual effort = 180 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 • Merits • 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