Académique Documents
Professionnel Documents
Culture Documents
• 1 Introduction
• 2 ϑο β Χο µ π λ ε ξ ι τ ψ Εσ τ ι µ α τ ι ο ν
• 2.2 ∆ α τ α Σ τ α γ ε ϑο β Πα τ τ ε ρ ν σ
• 2.3 Σ κ ι λ λ Ωε ι γ η τ ι ν γ
2.4 ∆ α τ α ςολ υ µ ε Ωε ι γ η τ ι ν γ
• 3 Examples
4 Χο ν χ λ υ σ ι ο ν
[edit]Introduction
This HowTo attempts to define a method for estimating ETL job development for
DataStage jobs by calculating job complexity based on the job pattern and specific
challenges within the job.
This estimation model covers the developer only - the design and development of the job,
unit testing to ensure the job is in a running state and fulfilling the specification, defect
fix support for the job through other testing phases.
Feel free to modify this entry with your own thoughts or add to the entry discussion.
If you have an alternative estimating technique you can add it to this entry as an
additional section or add a new HowTo topic.
• 1 day base
• 1 day base
• 3 days base
• 0.25 per source table (adds to SQL select, lookup and change capture complexity)
[edit]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
• 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 final estimate.
• Low volume = 1
[edit]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.
• Load invoice header data: 1 day.
• 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.
[edit]Conclusion
These are just guidelines. Happy for people to jump in and add their own estimates for
difficult stages or tasks in a job. These guidelines could then go into a modelling
spreadsheet that estimates all ETL jobs on a project.
This does not take into account complexity of business rules: having to write a lot of
transformation custom code or custom stages. It does not take into account a large
number of columns for change capture and validation jobs.
Related White Papers and Webcasts
Build a Business Case for Simplification
Parallel Build Visualization
Build and Release Management