Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Effort estimation for web applications

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 26 Publicité

Effort estimation for web applications

Télécharger pour lire hors ligne

I have been working on a new breed of estimation methodologies called "Open estimation methodologies". They can be called "Deliverable based estimation methodologies" also. This presentation is about this family of methodologies.

I have been working on a new breed of estimation methodologies called "Open estimation methodologies". They can be called "Deliverable based estimation methodologies" also. This presentation is about this family of methodologies.

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à Effort estimation for web applications (20)

Publicité

Plus récents (20)

Effort estimation for web applications

  1. 1. G. Nagaraja General Manager, Talent Transformation, Wipro Technologies Estimating for web applications
  2. 2. SEC2006 Wipro Technologies Estimating Web applications 2 The updated contact details of the author are as follows: Chief consultant, Akshaya Centre of Excellence (ACE), Bangalore Ph: 99002 49348 Email: nagaraja.gundappa@acoe.in Web: www.acoe.in
  3. 3. SEC2006 Wipro Technologies Estimating Web applications 3 Overview MVC Points methodology
  4. 4. SEC2006 Wipro Technologies Estimating Web applications 4 Formal methodologies and web applications  Formal methodologies not widely used to estimate web applications – Cocomo • Mainly a costing model and cannot be used for arriving at size – Function Points • Visualization of application not in line with web application • Not easy to bring in new complexity factors – Use case points • The way use case is written is highly subjective. • Not easy to bring in new complexity factors
  5. 5. SEC2006 Wipro Technologies Estimating Web applications 5 Current trend  The expert estimation methodology has evolved over a period of time – A typical estimation sheet done 7 years back – A typical estimation sheet done 5 years back – A typical estimation sheet done 3 years back • Can we call this a semi structured methodology? – What is the scenario now?
  6. 6. SEC2006 Wipro Technologies Estimating Web applications 6 Current trend–Semi structured methodologies  What are semi-structured methodologies? – Evolves out of practice • 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
  7. 7. SEC2006 Wipro Technologies Estimating Web applications 7 …Semi structured methodologies  Few semi structured methodologies – 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
  8. 8. SEC2006 Wipro Technologies Estimating Web applications 8 Semi structured 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
  9. 9. SEC2006 Wipro Technologies Estimating Web applications 9 Interface points  Alternate names - 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. – Can also be viewed as an object involving a fields & operations – Complexity of an interface is defined based on • Complexity of the data o How many hierarchies? o Complexity of the technology to establish connectivity / build adapters • Processing (operation performed on data) o Straight forward mapping between fields to fields o Looping through data fields for mapping between source and destination o Any processing / transformation to be done – More than 250 applications have used this successfully
  10. 10. SEC2006 Wipro Technologies Estimating Web applications 10 Formal v/s semi structured methodologies  What stops a semi structured methodology from being a formal methodology? – Some variability in the sizing units – not completely standardized and followed uniformly – No clearly agreed upon guidelines to define complexity – Norms are ad hoc  How to take a semi structured methodology forward and make it a formal methodology? – Involve multiple user groups in the organization and standardize on the sizing units – Standardize complexity classification guidelines • Can be open ended – Get inputs from groups across the organization and define norms
  11. 11. SEC2006 Wipro Technologies Estimating Web applications 11 A formal methodology for web applications Let us look at one formal methodology evolved out of a semi-structured methodology
  12. 12. SEC2006 Wipro Technologies Estimating Web applications 12 MVC pattern for J2EE  For those new to MVC patterns… – Mapping of MVC pattern to J2EE technology ModelView Controller JSPs Servlets EJBs DBMS User
  13. 13. SEC2006 Wipro Technologies Estimating Web applications 13 Components of MVC Points methodology Simple Medium UC1 UC2 UCn Classified MVCs V C M V C M V C MComplex Life cycle effort for MVCs Effort for coding and unit testing Total Development Effort Other non- MVC EffortMiscellaneous requirements MVC Points Estimation – work flow view MVC Points Methodology - Elements Guidelines to identify Models, View and Controllers from Use cases Guidelines to classify M,V and Cs into simple, medium and complex categories Effort norms for coding and unit testing the Models, Views and Controllers Guidelines to arrive at overall effort U S E C A S E S
  14. 14. SEC2006 Wipro Technologies Estimating Web applications 14 Gather inputsRFP Q & A Step 2 - Identify Ms, Vs and Cs Step 3 - Classify complexities Step 4 - Multiply CUT effort norms Step 5 - Determine Life cycle effort Step 6 - Add PM effort, buffer Estimated Effort End of MVCP Estimation Complexity guidelines CUT norms Step 1a - Identify Use case titles 1b - Identify Misc. requirements 2b - Identify WBS 5b – Estimate for Misc Reqmts MVC points – Flow chart
  15. 15. SEC2006 Wipro Technologies Estimating Web applications 15 …Complexity factors for view  …Factors influencing complexity… – View • Page Splits and continuations – For data entry, batched search results etc, and data to be stored across these pages (in the Session or as hidden elements or even as Session beans as the case might be.) • Continuous screens • Discontinuous screens with other processes in between them. (Like Login, registration etc.) • Input Screens to be navigated back and forth (with the same logical set of information). • Data Display Logic – Display of elements based on multiple conditions, Display of a collection, global lists, Entry point from different processes, role based display of information (personalization?) etc.
  16. 16. SEC2006 Wipro Technologies Estimating Web applications 16 …Complexity factors for model  …Factors influencing complexity… – Model • Simplicity of the interface with a number of methods and parameters that the methods take. • Processing Logic. • Number of data sources and type of data source • Asynchronous processing – JMS • Entity beans – Whether CMP is being used with tools; • Entity Beans – If BMP is used, whether multiple tables are being accessed, whether any partial caching is taking place; Whether the data update logic is complicated.
  17. 17. SEC2006 Wipro Technologies Estimating Web applications 17 …Complexity factors for controller  …Factors influencing complexity… – controller • Number of operations to be done per request. • Whether the request is to be routed across modules based on the output of intermediate operations (Like completion of pending operations after login). • Data elements to be retrieved from the request and formatted into holders to be passed on to the beans • Servlet Session information to be updated. • Operations to be done based on Servlet session information. • Keeping track of processes across page sequences
  18. 18. SEC2006 Wipro Technologies Estimating Web applications 18 Complexity classification - Summary MVC Unit Simple Medium Complex JSP (View) Few Data entry and display elements and submit points (< 10) More data entry, display elements and submit points ( < 20 ) Page breaks, display logic, Simple usage of DHTML Complex Validations, Complex Formatting, Complex page layout, Complex display logic Servlet (Controller) 1-2 operations / request. Retrieval and passing of data elements More operations per request, Session information storing Operations based on servlet session information Keeping track of processes across pages Request routing based on intermediate operations EJB (Model) Simple Interface (Few methods and parameters) Simple data access, data logic (no caching) Multiple data sources Complex data retrieval and up dation logic Caching Multiple data sources; involves tables and other sources For more detailed guidelines, please refer attached document
  19. 19. SEC2006 Wipro Technologies Estimating Web applications 19 Norms for coding and unit testing effort CUT Effort norm in person days MVC Unit Simple Medium Complex View (JSP) 2 4 8 Controller (Servlet) 2 4 6 Model (EJB) 3 7 14
  20. 20. SEC2006 Wipro Technologies Estimating Web applications 20 Completing the MVC Estimation  A sample MVC Points estimation work sheet…
  21. 21. SEC2006 Wipro Technologies Estimating Web applications 21 Validation of MVC Points methodology  Re estimations – 3 application modules in acceptance phase chosen and re-estimated – The initial RFP / RS documentation was given to a person joining the team during acceptance phase and he was asked to prepare an estimate. – The re-estimated effort is compared with actual effort and WBS estimate Application (Dev. by Wipro) Original estimate (WBS) Re-estimate (MVCP) Actual effort % deviation (WBS) % deviation (MVCP) Publishing 11 18 16 31% 12% Manufacturing 1 6 9.9 9 33% 10% Manufacturing 2 7 8.45 9 22% 6% Note: All efforts in person months
  22. 22. SEC2006 Wipro Technologies Estimating Web applications 22 … Validation results  Other validations – Norms were formulated after consulting architects from multiple business units – Many proposals won by Wipro have been estimated using MVCP – Many new applications developed for existing customers have also been estimated using MVCP and customers have generally found the estimates acceptable • In one case, we did a follow up with the project and found that the actual effort was very close to the effort estimate.
  23. 23. SEC2006 Wipro Technologies Estimating Web applications 23 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 body supporting the methodology
  24. 24. SEC2006 Wipro Technologies Estimating Web applications 24 Comparison of estimation methodologies Inputs Breakdown units Complexity classification Sizing units Estimation steps Well documented RFP Functionality / Ad hoc units Ad hoc / None No sizing. Direct effort WBS Well documented RFP ILF, EIF, EI EO and EQ DETs RETs, FTRs Function Points FP Well documented RFP 1. Use cases 2. MVCs Flexible guidelines MVC Points MVCP Well documented RFP Use cases Transactions, Actors Use case points UCP Estimation methodologies Adjustment factors Nothing specific 14 GSCs Built into Complexity guidelines 13 TCFs & 8 ECFs
  25. 25. SEC2006 Wipro Technologies Estimating Web applications 25 Summary  So, how are web applications estimated today? – Isolated instances of usage of formal methodologies such as function points and use case points – Most estimations carried out by semi structured methodologies – Semi structured methodologies have several advantages • Open – Users can customize complexity guidelines • Easy to break down application into the sizing units • Possible for organizations to make them into formal methodologies and take them through continuous improvement – MVC Points is a formal methodology for estimating J2EE and .Net applications
  26. 26. SEC2006 Wipro Technologies Estimating Web applications 26 Thank you

×