How to Prepare Estimate
How to Prepare Estimate
Contents Page No
1. PURPOSE 2
2. SCOPE 2
3. ENTRY CRITERIA 2
4. INPUTS 2
5. ROLES AND RESPONSIBILITIES 2
6. TASKS 3
7. ESTIMATION TECHNIQUES 4
8. ESTIMATE HR PLAN 21
9. OUTPUT 21
10. EXIT CRITERIA 21
11. REFERENCES 21
12. FORMATS AND GUIDELINES 22
13. GLOSSARY 22
1.
-1-
Estimation Process
Purpose
Software estimation for Projects includes estimation of effort. The aim of doing estimation is to
produce a ‘likely’ ballpark figure that is as close as possible to the final actual figure. This
becomes an input to Business development for Proposal purpose and after Project Acquisition it
is the basis for Project Planning.
2. Scope
This estimation process outlines the general methodology by which BGM/EsT/SA/PI develops
realistic estimates of the effort, for respective stage of a project. Estimation is done to determine
the following, which may be needed to complete a project/task.
Resources (eg. computers, software licenses, etc)
Manpower
Schedule / Timeline
The followed methods for this estimation have been described in the following process.
3. Entry Criteria
When there is a need to estimate effort at any stage in the development methodology and the
appropriate input documents are available for the estimation process.
Estimation effort may be needed when preparing a proposal, get budgetary approval, end of a
phase is reached or when scope change occurs.
4. Inputs
Inputs can be either of these:
Statement of Work
RFP
Task Details
SPDB containing Historical data on productivity, size and effort
EsT/SA/PI - The EsT/SA/PI or any other Team Member authorized by the PI/MD will be
responsible for helping the BGM in estimating the task once the project has been acquired.
6.
Estimation Process
Tasks
6.1 BGM/SA/EsT is responsible to study all the necessary input documents.
6.2 BGM/SA/EsT uses the Task Based/ Size based estimation technique.
6.3 BGM/SA/EsT uses the Effort Estimation Sheet or a client specified template as guidance in
estimating the effort involved.
6.4 BGM/PI/SA/EsT is responsible to record the effort involved in the Estimation sheet/Any
tailored document or client specified template.
6.5 The estimate is reviewed/approved by competent authority.
6.6 BGM is responsible to inform the client about the estimate.
6.7 Based on the estimate, number of human resources allocated for the project and specific
hardware and software requirements for the project will be worked out and the broad schedule
will be derived.
6.8 Re-estimation shall be carried out during the life cycle of the project as and when required.
6.9 The re-estimation, if required, is carried out by the Project Incharge and tracked against the
original. Escalations reported to Business Development Manager and taken up with Customer if
found significant.
6.10 Monthly Project Reviews are planned and executed by the Project Incharge to compare the
actual project schedule against initial estimated schedule.
6.11 SEPG does a quarterly review to compare project estimates against actual data.
Estimation Process
7. Estimation Techniques
CMS Matrix Analysis system is the new form of estimation that we have opted now. This is based
on the logical model where we can measure defined estimation against set of below rules. As per this
model we use screen analysis as the basis of estimation which is actually a more refined version of
LOC (line of code) used previously. The following are few of the key points:
1. As per CMS screens matrix the projects are categorized based on their complexity levels as
given below: -
a) Complex
b) Medium
c) Simple
2. Further each category is divided into 3 types of screes. All these types of screens have a
defined set of hours under each project category. The screens are as Complex, Medium and
Simple.
3. A project of any category will have these types of screens. For example, project “A” is of
Medium category and has 4 complex screes, 8 medium screens and 11 simple screens. So
we match our estimates with the CMS matrix and confirm that we have estimated correctly.
Below is the CMS matrix
Web CMS
C M S
C 64 48 18
M 48 18 12
S 18 12 4
Mobile CMS
C M S
C 48 36 16
M 36 16 8
S 16 8 4
4. The horizontal column contains the three values as C, M and S which denote the project
category as Complex, Medium and Simple respectively.
5. The vertical column also consist three values as C, M and S and categorize the screens of
the project.
6. Criteria for classification for Project Categories.
Complex Medium Simple
New framework. Routine Websites Static or Business Sites
3rd Party tools Integration. falling under the with already built CMS
Maintenance Projects. category of Social
Data import applications. Networks, infotainment,
Cloud applications. Ecommerce.
SAAS applications
Estimation Process
b. Medium Project:
Complex Page Medium Page Simple Page
Page with more than 8 Form pages with >5 and Form Pages with <5
functional points. <8 functional points. Functional Points
Integrate 3rd party APIs.
c. Complex Project:
Complex Page Medium Page Simple Page
Page with more than 12 Form pages with >8 and Form Pages with <8
functional points. <12 functional points. Functional Points
Integrate 3rd party APIs.
8. In a Complex Project, the breakdown of each page sometime treated as a project itself e.g. a
complex project consists of 4 Complex pages only. We will treat the complex page as a
complex project and will break it down further.
9. So as per example taken above, the project was of medium category with 4 Complex, 8
medium and 11 simple screens. As per the matrix, following estimates will be calculated.
Medium Category Project
Complex screens = 4*48 = 192
Medium screens = 8*18 = 144
Simple screens = 11*12 = 132
Total = 468
10. The major role of this CMS system is to develop quick estimation and more accurate results
in comparison to previous methods. Also it is best way to measure efforts as one can easily
visualize the development efforts.
Break down the project into different phases (eg: analysis, design, coding, testing,
implementation).
Whenever possible, break down each phase into smaller constituents (eg: number of pages to
write as per above process)
Include also the effort taken for Project planning/monitoring & control, configuration
Management, Reviews, Quality Assurance, rework, etc
Budget for perceived risk factors (could be based on previous experience with the same client
/ user), requirements instability, and any buffers.
Document all assumptions and the basis of the estimate in the estimation sheet.
Estimation Process
Some projects may not require modular estimation and just a ballpark estimate in terms of
man-month or hours or weeks can be given to the client.
In some cases, only the estimation for the analysis phase can be given so as to analyze and
estimate the entire scope of the project.
11. Estimates are defined for pre-built components that are used while creating estimate sheets.
Following are pre-built components and their respective estimates defined after using pre-
built component.
a. PHP – Backend component
Please Note:
o The hours mentioned against the functionality does not include Web Services hours as
given separately.
o Database creation hours has been added for the above functionalities but for the rest of
the application funcationlity, database hours needs to be added.
o QC efforts for Backend Testing has been added (kindly consider if QC is aligned on the
project)
Estimation Process
FRONT END
Consumer Registration
- User Registration system with e-mail verification 3
- Login/Logout/Forgot Password 2
- Session management 1
- Change Password 1
Special Login Options
- Special login options using Facebook and twitter 2
Consumer Section
Profile
Create Profile based on user location 2
Add / Edit / Delete delivery addresses 2
Add / Edit / Delete payment information 2
View & Update Profile 2
My Favorite items
List favorites 2
List all my favorite meals 2
Remove from favorite list 1
My Orders
List all my previous orders 2
View details of order 2
Submit order feedback 2
Re-order from past order 2
Account Settings
Set alerts & notifications 2
delete account (Only by admin or request to admin) 1
Coupons
Estimation Process
Others
Payment System
- Integration of payment gateways for online payments (credit card & 6
Estimation Process
PayPal payments)
Text Messages
- Integration of SMS gateway for sending text messaging on user's mobile
10
phones for delivering orders & to restaurants
Others
Meta tags 4
SEO-friendly page and section titles 3
Customized URLs 3
Static pages
About us, Testimonials, Site Map, Terms of service 2
Contact us, Advertiser, Jobs 2
Help/FAQ, Privacy Policy 2
Other static pages 4
Restaurant Section
Profile & Dashboard
Create Restaurant Profile (comprehensive profile info, order methods,
payment options, open date & time, services, cuisines, about, photos, 4
reviews, delivery info, delivery conditions, etc.)
View & Update Profile 2
Set restaurant location on Google Map 2
Restaurant Dashboard (With permissions based on defined roles) 4
Early closing button 2
Menu Builder
Categories
Create categories for menu items 2
List & view categories 1
Update & delete categories 1
Menu
Create Menu - (with spell check ) 4
Add menu items based on categories (item details, prices) 2
Add multiple options for items (such as sizes, quantities etc.) 1
Add sub-items or extras to customized orders select base, dressing, meat,
2
ingredients etc.,
Manage multiple options for sub-items 2
Highlight special items 1
Option to manage complementary items 2
Promotional schemes or special for menu items 2
Create special offer 2
Modify special offer 1
Time based settings for menu items 2
Estimation Process
Login Module
Login Form 1
Authorization and authentication 1
Forgot password (with email notification) 1
Remember me (with email notification) 1
Session & Cookies handling 1
Others
Manage Orders
View list of orders 3
Sorting & filters options 2
View order details 2
Mailing
Set alerts & notifications 2
E-mail Template management 4
Send Newsletters 2
Manage Coupons
Generate discount codes for coupons 3
Manage codes 1
Content Management
Admin CMS
Manage Contents for site static pages 2
- it includes a WYSIWYG editor for editing a page
FAQ's/ Help Management
Adding a new record 2
Managing the FAQ's (Edit, Delete, list / search topics) 2
- it includes a WYSIWYG editor for editing a page
Reports
Customer reporting - Who orders the most and what they order the most 3
Resteraunt reporting - What items are being ordered the most in quantity and
3
pounds.
SYSTEM INTEGRATION
Estimation Process
System Integration
System Integration 20
TOTAL 340
d. Android Application
e. MS – Health Care
f. MS – Basics
Payment Gateway
Cron Jobs
Fare Calculation
Total 180 400 400
Category Name of Technology Project New dev Integration Forum Link/Github link
Component efforts efforts
UI Rich IOS - http://forums.smartdatainc.com/viewtopi
Controls Notifications c.php?t=3982&sid=25947a7491ab02ca3b
4f8178af4255ed
SuperPower Android/iOS 8Stem https://github.com/superpoweredSDK/Lo
ed SDK 8 5 w-Latency-Android-iOS-Linux-Windows-
tvOS-macOS-Interactive-Audio-Platform
Estimation Process
8. Estimate HR Plan
EO along with HR Head is responsible to prepare/ update the organization wide resource plan
with estimation regarding number of resources required in different projects/function.
9. Output
Estimates of task for effort, size, schedule, resource requirements (human, computer, etc) –
all recorded in Estimation Sheet or Client specified template.
11. References
ISO 9001:2000 clauses 7.2.1/7.2.2
S/W CMMI Ver 1.3, Level-3, Process Area (PP)- Project Monitoring & Control
S/W CMMI Ver 1.3, Level-3, Process Area (PA) – Project Planning
13. Glossary
Abbreviation Description
PI Project Incharge
SA Software Associate
TM Team Member
BGM Business Group Members
MD Manager Delivery (or Director Delivery)
EO Engineering Operations (Sr. Director Operations)
EsT Enggineering Estimation Team