CCI ETL Estimate Guidelines v1 1
CCI ETL Estimate Guidelines v1 1
CCI ETL Estimate Guidelines v1 1
Version: http://etlcode.com/index.php/utility/etl_complexity_calculator
Updated By: cells that can be user entered ETL Estimation Tool
Date Updated: Constants http://etlcode.com/index.php/utility/etl_estimate
Hours/Day 8
4 Complex . Single or multiple sources, but not more than 4. . Type 2 mappings with or without error handling.
. Multiple paths in the mapping pipeline, but not more than 5 paths, and with up to . Type 2 mappings with both Type-1 and Type-2 change triggers using
10 lookups. Type 2 Plug-In Maplet.
Source to Integration:
10-20 days per table
Data Mart:
Average: 35 day (summaries, light derivations)
Complex: 70 days (complex derivations, multiple events)
Catalogue:
Average: 10 days
Cubes/Reports:
Average: 15 days
Estimates (phases)
Assessment 5%
Design 30%
Development 30%
Test 30%
Implementation 5%
NIVEL
# TAREA Facil Medio Complejo
1 Toma de Requerimientos
2 Mapeo de Datos
3 Diseno - Nivel Macro
4 Diseno - Nivel Tecnico
5 Desarrollo y Pruebas
6 Extraccion de Datos 0
6.1 Procesos de Traslado a Area Stage 0
6.1.1 Tablas Dimensionales
6.1.2 Tablas Fact
Totales
Numeros de Fuentes de Datos 1 1 1
Total de Esfuerzo (Horas) 0 0 0
Total Dias 0 0 0
Total Semanas 0 0 0
2 sem
2 sem
easy - 1 hour (simple import)
medium - 5 hours (plus transforms, multiple tables)
difficult - 15 hours (plus script tasks, data merge, lookups, loops, etc...)
Low volume
Medium volume
High volume
Very high volume
An expert (4+ years) would complete all jobs in 9.75 days. A novice would take 29.25 days with the x3 weighting.
1 day base
0.25 for rejection of rows with missing parents.
0.5 for output of augmentation requests for missing parents.
0.5 for any type of hierarchy validation.
1 day base
A job that extracts data, prepares it and loads it all in one is a combination of the
estimates from above. Just merge the times for the prepare and load jobs into one.
The fact job has a high base estimate and attracts a lot of general overheads such
as lookups and joins.
Very high volumes of data can take longer to develop: more time is spent making the
job as efficient as possible. Unit testing of large volumes takes more time.
Optimisation testing takes time.
Low volume = 1
Medium volume = 1.25
High volume = 1.5
Very high volume = 2
Examples
I extract a list of invoices from a system and load it to some relational data store
tables. An invoice is made up of invoice header records and invoice item records (an
invoice can have many items on it).
Prepare invoice header file: 1 (base) + 1 (four joins) + 0.5 (change data capture)
+ 0.5 (validate fields) = 3 days.
Prepare invoice item file: 1 (base) + 0.5 (two joins) + 0.25 (reject missing header)
+ 0.5 (change data capture) = 2.25 days.
Load invoice item data: 1 (base) + 0.5 (before-sql disable constraints, bulk load,
after-sql enable constraints) = 1.5.
An expert (4+ years) would complete all jobs in 9.75 days. A novice would take 29.25
days with the x3 weighting.
1
1.2
1.5
2
3 days base
0.25 per source table (adds to SQL select, lookup and change
capture complexity)
0.25 for calculations (this is a custom setting
Skill Weighting
The skill weighting alters the estimated time based on the
experience and confidence of the developer. For lack of an
alternative the skills is defined as the number of years of experience
with the tool. An experience consultant has the base weighting of 1
(no affect on estimates) with less experienced staff attracting more
time.
4+ years = 1
3-4 years = 1.25
1-2 years = 1.5
6 months to 1 year = 1.75
Up to 6 months = 2
Novice = 3
The total number of days estimated for each job is multiplied by the skill weighting to get a fin
a lot of source tables and validating against multiple dimensions. They also tend to have the most complex functions.
ch job is multiplied by the skill weighting to get a final estimate.