Datasheet
Chapter 1: SSIS Solution Architecture
14
Project Planning and Team Development
This is not a project methodology book, but you should give some thought to your solution approach.
Whether your overall objective is system integration or warehouse ETL, you should give consideration
to using an agile development methodology. An agile methodology is an iterative approach to
development. You add features of the solution through smaller development cycles, and refine
requirements as the solution progresses.
Agile Benefits
Even if your solution does not involve a user interface (such as a system integration), an agile approach
enables you to tackle aspects of the solution in smaller development cycles, and to troubleshoot data
issues along the way. Following are some the general benefits of this approach:
Project and task definition — The agile approach requires definition of the tasks in a project and
the prioritization of the tasks, which are set and known by the technology team and the business
or project owners. Tasks can change as a better understanding of the requirements is defined.
Scope management — Given the clear definition of the activities in an iteration, the scope is set,
and any deviation is known to the parties involved, and agreed upon. In essence, project
communication is clearer for all parties — developer, management, and ownership.
Addressing of issues and obstacles — Part of the ongoing process involves identifying the areas in
the project that can impede progress. These are highlighted and addressed soon in the process.
Roles and responsibility clarity — Roles are clearly defined and tasks are assigned, which limits the
possibility of team members spinning their wheels in the process.
Agile Cautions and Planning
However, you must exercise some caution. Do not use an agile methodology to foster bad architecture
practices. In other words, if you are just using the agile approach and you or your developers ’ ultimate
goal is to meet the tasks and deadlines in whatever way possible, you are going to fall into the trap of
compounding the problems of your overall data nervous system (that is, those problems outlined in the
earlier “ Problem ” section).
You must ensure that you have an overall solution architecture, and your agile tasks must fit in that plan
and support the cause.
Therefore, whatever project methodology you use, be sure to push for an upfront plan and architecture.
If you don ’ t, you will likely run into the tyranny - of - the - urgent problem — that means that you will get
overwhelmed with the tasks and, as you throw them together, your solution gets out of control, code is
messy, and your stress will be compounded over time.
Following are a few things to consider in your development process:
Plan for an early - on proof - of - concept, and use the proof - of - concept to iron out your data process
architecture.
Set your SSIS package and database conventions upfront, including your auditing structure (as
discussed in Chapter 2).
❑
❑
❑
❑
❑
❑
c01.indd 14c01.indd 14 9/24/09 11:26:34 AM9/24/09 11:26:34 AM