/ General Work Instructions
/ Estimating Development Times
Estimating Programming Times For Website Development
HTML Developemnt Times
This page helps you calculate the times required to fill out your schedule at Yart.
The times below allow for the job to be briefed, programmed, checked and delivered. The actual programming time would be about 0.7 of the totals you will get below.
The schedule can be found here http://www.yart.com.au/schedule/table.aspx
These times put together should be the total time a job takes at Yart
1. Create a CMS DataContent table and suck the data from a form into that table : 1 hour + 15 minutes per field
Back to top
The above shows 4 elements so this should take 1 + 4 X 0.25 = 2 hours.
2. HTML: 0.25 hours per element plus 0.25 hours per repetitive element. What is an element? If it will need a HTML tag that wasn't counted in a previous element then it's an element. For instance, a border, which has 4 sides, is one element. But a line plus a button is two elements.
3. Occasionally, you will simply want to display fields from a database table that are not CMS managed. Allow half the time for this:
0.5 + 4 X 0.125 = 1 hour
Note that items 7, 12, 15 and 16 are repeater elements.
The time to CSS code this page is 19 x 0.33 = 6.27 hours
3. Business Rules are 1.25 hour each eg:
a) If a users username is already in the database an error message is displayed.
b) If the user is not in the database, an email of the form:
- From: firstname.lastname@example.org
Subject: NWHN membership registration
Body: Welcome to the North & West Homelessness Network.
Your membership to http://nwhn.net.au has been approved. You details are:
Please log on at http://nwhn.net.au/login to see your registration details.
Item a) is 1 rule.
But how many is item b)? The email is an item of fixed text plus a username and password looked up in the database so make it two rules.
Thus there are 3 rules in total.
CRUD from scatch
Sometimes you will need to write your own Create/Read/Update/Delete functionality from scratch. This section tells you how to estimate times for these operations. The first part of CRUD is a grid (could be a DataGrid in ASP.NET) that shows all elements in a table with paging, filtering and searching.
To write this from scratch allow:
1 hour for the specification (if not already written)
0.5 hour overhead
1 hour to show all elements
1 hour for paging
0.5 hours per field you are sorting on
0.5 hours per field you are searching on
So for the below the time would be
1 + 0.5 + 1 + 1 + 0.5x2 + 0.5x2 = 5.5 with paging
Personally, this author does not like RAD tools such as the ASP.NET DataGrid or third party tools with lots of fancy AJAX. Generally, the time saved using these tools initially is lost when you try to add complex functionality later in your CRUD. Rather, use a ASP.NET Table server control and add TableRows dynamcially in the code behind to create the table below:
For updating, including validation, allow:
0.75 hours per simple element eg text, textarea, radio. This includes validation.
1.25 hour per complex element eg checkbox, tinyMce, image. This includes validation.
1.25 for business rules in addition to validation
Thus the below would be: 0.5 + 0.75x3 + 1.25 = 4 assuming no business rules.
Realistically, it is impossible that there will be no busniess rules in a custom CRUD. Usually, the business rules take longer to program than the CRUD itself.