SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
G. Nagaraja
General Manager,
Talent Transformation,
Wipro Technologies
Estimating for web
applications
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
SEC2006 Wipro Technologies Estimating Web applications 3
Overview
MVC Points methodology
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
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?
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
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
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
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
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
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
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
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
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
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.
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.
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
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
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
SEC2006 Wipro Technologies Estimating Web applications 20
Completing the MVC Estimation
 A sample MVC Points estimation work sheet…
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
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.
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
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
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
SEC2006 Wipro Technologies Estimating Web applications 26
Thank you

Weitere ähnliche Inhalte

Was ist angesagt?

Microsoft Viva Essential in 45 minutes - Collabdays Bletchley 2022
Microsoft Viva Essential in 45 minutes - Collabdays Bletchley 2022Microsoft Viva Essential in 45 minutes - Collabdays Bletchley 2022
Microsoft Viva Essential in 45 minutes - Collabdays Bletchley 2022Chirag Patel
 
Contract Authoring: Preparing a Main Agreement
Contract Authoring: Preparing a Main AgreementContract Authoring: Preparing a Main Agreement
Contract Authoring: Preparing a Main AgreementSAP Ariba
 
Sap system copy
Sap system copySap system copy
Sap system copyRaj p
 
Srs course managment system
Srs course managment systemSrs course managment system
Srs course managment systemUbaid Rehman
 
Implementação SAP S/4 HANA Finance
Implementação SAP S/4 HANA FinanceImplementação SAP S/4 HANA Finance
Implementação SAP S/4 HANA FinanceJose Nunes
 
MuleSoft RPA for Beginners.pptx
MuleSoft RPA for Beginners.pptxMuleSoft RPA for Beginners.pptx
MuleSoft RPA for Beginners.pptxSravan Lingam
 
How to successfully manage OneDrive
How to successfully manage OneDriveHow to successfully manage OneDrive
How to successfully manage OneDriveDrew Madelung
 
Mule Common Logging & Error Handling Framework
Mule Common Logging & Error Handling FrameworkMule Common Logging & Error Handling Framework
Mule Common Logging & Error Handling FrameworkVijay Reddy
 
OutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems
 
SAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoftSAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoftMuleSoft
 
SharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-PremisesSharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-PremisesLior Zamir
 
PeopleSoft Campus Solutions
PeopleSoft Campus SolutionsPeopleSoft Campus Solutions
PeopleSoft Campus SolutionsCIMA IT
 
Learning Management System
Learning Management SystemLearning Management System
Learning Management Systemfatimaesolpk
 
SAP BusinessObjects Private Cloud Edition (PCE)
SAP BusinessObjects Private Cloud Edition (PCE)SAP BusinessObjects Private Cloud Edition (PCE)
SAP BusinessObjects Private Cloud Edition (PCE)Wiiisdom
 
Scottish Summit 2022 - Secure and manage your data in Microsoft Teams
Scottish Summit 2022 - Secure and manage your data in Microsoft TeamsScottish Summit 2022 - Secure and manage your data in Microsoft Teams
Scottish Summit 2022 - Secure and manage your data in Microsoft TeamsJasper Oosterveld
 
Logging best practice in mule using logger component
Logging best practice in mule using logger componentLogging best practice in mule using logger component
Logging best practice in mule using logger componentGovind Mulinti
 
Student management system analysis document
Student management system analysis documentStudent management system analysis document
Student management system analysis documentHojamuradowa
 
SAP Roll Out - An Introduction and Advantages
SAP Roll Out - An Introduction and AdvantagesSAP Roll Out - An Introduction and Advantages
SAP Roll Out - An Introduction and Advantagesanjalirao366
 

Was ist angesagt? (20)

Sharepoint
SharepointSharepoint
Sharepoint
 
Microsoft teams
Microsoft teamsMicrosoft teams
Microsoft teams
 
Microsoft Viva Essential in 45 minutes - Collabdays Bletchley 2022
Microsoft Viva Essential in 45 minutes - Collabdays Bletchley 2022Microsoft Viva Essential in 45 minutes - Collabdays Bletchley 2022
Microsoft Viva Essential in 45 minutes - Collabdays Bletchley 2022
 
Contract Authoring: Preparing a Main Agreement
Contract Authoring: Preparing a Main AgreementContract Authoring: Preparing a Main Agreement
Contract Authoring: Preparing a Main Agreement
 
Sap system copy
Sap system copySap system copy
Sap system copy
 
Srs course managment system
Srs course managment systemSrs course managment system
Srs course managment system
 
Implementação SAP S/4 HANA Finance
Implementação SAP S/4 HANA FinanceImplementação SAP S/4 HANA Finance
Implementação SAP S/4 HANA Finance
 
MuleSoft RPA for Beginners.pptx
MuleSoft RPA for Beginners.pptxMuleSoft RPA for Beginners.pptx
MuleSoft RPA for Beginners.pptx
 
How to successfully manage OneDrive
How to successfully manage OneDriveHow to successfully manage OneDrive
How to successfully manage OneDrive
 
Mule Common Logging & Error Handling Framework
Mule Common Logging & Error Handling FrameworkMule Common Logging & Error Handling Framework
Mule Common Logging & Error Handling Framework
 
OutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems Tips and Tricks
OutSystems Tips and Tricks
 
SAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoftSAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoft
 
SharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-PremisesSharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-Premises
 
PeopleSoft Campus Solutions
PeopleSoft Campus SolutionsPeopleSoft Campus Solutions
PeopleSoft Campus Solutions
 
Learning Management System
Learning Management SystemLearning Management System
Learning Management System
 
SAP BusinessObjects Private Cloud Edition (PCE)
SAP BusinessObjects Private Cloud Edition (PCE)SAP BusinessObjects Private Cloud Edition (PCE)
SAP BusinessObjects Private Cloud Edition (PCE)
 
Scottish Summit 2022 - Secure and manage your data in Microsoft Teams
Scottish Summit 2022 - Secure and manage your data in Microsoft TeamsScottish Summit 2022 - Secure and manage your data in Microsoft Teams
Scottish Summit 2022 - Secure and manage your data in Microsoft Teams
 
Logging best practice in mule using logger component
Logging best practice in mule using logger componentLogging best practice in mule using logger component
Logging best practice in mule using logger component
 
Student management system analysis document
Student management system analysis documentStudent management system analysis document
Student management system analysis document
 
SAP Roll Out - An Introduction and Advantages
SAP Roll Out - An Introduction and AdvantagesSAP Roll Out - An Introduction and Advantages
SAP Roll Out - An Introduction and Advantages
 

Ähnlich wie Effort estimation for web applications

Mvc presentation
Mvc presentationMvc presentation
Mvc presentationMaslowB
 
sagitec-neospin-pension-admin-software
sagitec-neospin-pension-admin-softwaresagitec-neospin-pension-admin-software
sagitec-neospin-pension-admin-softwareAndrew DiMola
 
Sagitec Neospin Pension Admin Software
Sagitec Neospin Pension Admin SoftwareSagitec Neospin Pension Admin Software
Sagitec Neospin Pension Admin SoftwareSagitec Solutions
 
4. Introduction to ASP.NET MVC - Part I
4. Introduction to ASP.NET MVC - Part I4. Introduction to ASP.NET MVC - Part I
4. Introduction to ASP.NET MVC - Part IRohit Rao
 
Khushali Patel-resume-
Khushali Patel-resume-Khushali Patel-resume-
Khushali Patel-resume-Khushali11
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...Edureka!
 
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET Journal
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Dakiry
 
Network Automation Journey, A systems engineer NetOps perspective
Network Automation Journey, A systems engineer NetOps perspectiveNetwork Automation Journey, A systems engineer NetOps perspective
Network Automation Journey, A systems engineer NetOps perspectiveWalid Shaari
 
The Essential Guide for Automating CMDB population and maintenance
The Essential Guide for Automating CMDB population and maintenanceThe Essential Guide for Automating CMDB population and maintenance
The Essential Guide for Automating CMDB population and maintenanceStefan Bergstein
 
SCQAA-SF Meeting on May 21 2014
SCQAA-SF Meeting on May 21 2014 SCQAA-SF Meeting on May 21 2014
SCQAA-SF Meeting on May 21 2014 Sujit Ghosh
 
IRJET- Recommendation System based on Graph Database Techniques
IRJET- Recommendation System based on Graph Database TechniquesIRJET- Recommendation System based on Graph Database Techniques
IRJET- Recommendation System based on Graph Database TechniquesIRJET Journal
 

Ähnlich wie Effort estimation for web applications (20)

Mvc presentation
Mvc presentationMvc presentation
Mvc presentation
 
L13 Presentation Layer Design
L13 Presentation Layer DesignL13 Presentation Layer Design
L13 Presentation Layer Design
 
MVC Framework
MVC FrameworkMVC Framework
MVC Framework
 
L17 Presentation Layer Design
L17 Presentation Layer DesignL17 Presentation Layer Design
L17 Presentation Layer Design
 
sagitec-neospin-pension-admin-software
sagitec-neospin-pension-admin-softwaresagitec-neospin-pension-admin-software
sagitec-neospin-pension-admin-software
 
Sagitec Neospin Pension Admin Software
Sagitec Neospin Pension Admin SoftwareSagitec Neospin Pension Admin Software
Sagitec Neospin Pension Admin Software
 
4. Introduction to ASP.NET MVC - Part I
4. Introduction to ASP.NET MVC - Part I4. Introduction to ASP.NET MVC - Part I
4. Introduction to ASP.NET MVC - Part I
 
Khushali Patel-resume-
Khushali Patel-resume-Khushali Patel-resume-
Khushali Patel-resume-
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
 
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
 
L10 Web Programming
L10 Web ProgrammingL10 Web Programming
L10 Web Programming
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
 
SantiSagarMedisetty_Resume
SantiSagarMedisetty_ResumeSantiSagarMedisetty_Resume
SantiSagarMedisetty_Resume
 
Trinada pabolu profile
Trinada pabolu profileTrinada pabolu profile
Trinada pabolu profile
 
Network Automation Journey, A systems engineer NetOps perspective
Network Automation Journey, A systems engineer NetOps perspectiveNetwork Automation Journey, A systems engineer NetOps perspective
Network Automation Journey, A systems engineer NetOps perspective
 
The Essential Guide for Automating CMDB population and maintenance
The Essential Guide for Automating CMDB population and maintenanceThe Essential Guide for Automating CMDB population and maintenance
The Essential Guide for Automating CMDB population and maintenance
 
Mvc Brief Overview
Mvc Brief OverviewMvc Brief Overview
Mvc Brief Overview
 
SCQAA-SF Meeting on May 21 2014
SCQAA-SF Meeting on May 21 2014 SCQAA-SF Meeting on May 21 2014
SCQAA-SF Meeting on May 21 2014
 
IRJET- Recommendation System based on Graph Database Techniques
IRJET- Recommendation System based on Graph Database TechniquesIRJET- Recommendation System based on Graph Database Techniques
IRJET- Recommendation System based on Graph Database Techniques
 

Kürzlich hochgeladen

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Kürzlich hochgeladen (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Effort estimation for web applications

  • 1. G. Nagaraja General Manager, Talent Transformation, Wipro Technologies Estimating for web applications
  • 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. SEC2006 Wipro Technologies Estimating Web applications 3 Overview MVC Points methodology
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. SEC2006 Wipro Technologies Estimating Web applications 20 Completing the MVC Estimation  A sample MVC Points estimation work sheet…
  • 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. 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. 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. 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. 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. SEC2006 Wipro Technologies Estimating Web applications 26 Thank you