logo for information-management-architect.com
leftimage for information-management-architect.com

Software Development Life Cycle

Need a software development life cycle for an information management project and want practical suggestions to ensure rapid project delivery?

ObjectivesSoftware Development Life Cycle

The objective of the systems development or software development life cycle phase is to build and test all of the code and processes required to satisfy the architecture and design specifications.

This phase will deliver:
  • Data storage structures;
  • Operational infrastructure components, which will satisfy backup and recovery requirements;
  • Data Movement code to extract, transform and load (ETL) data into the data storage structures;
  • An automated process that will initiate the ETL process, extract data from source systems and load it into temporary staging areas;
  • System processes needed to manage the warehouse load and ensure that it can recover in the event of failure with minimal or no human intervention;
  • Data quality code that will validate and cleanse data in the staging area before making it ready for loading into the data warehouse;
  • A query manager and all pre-defined queries, and reports; and
  • A fully tested technical solution that is ready for quality assurance, user acceptance testing and transition to production
Prerequisites

This phase should not start without an:
  • Approved business case;
  • Approved requirements specification; and
  • Approved architecture document
Development tasks

This phase requires a team of highly specialized data architects, data base administrators, data movement designer/developers and business intelligence designer/developers who will build:
  • Database structures and database environment;
  • Operational infrastructure;
  • Extract, transform and load code;
  • Load manager process;
  • Warehouse manager processes;
  • Data quality validation and cleaning routines;
  • Query manager process;
  • Business intelligence reporting including pre-defined queries and reports; and
  • Test data
Technical testing tasks include:
  • Unit testing and unit test results;
  • System testing;
  • Integration testing;
  • Reconciliation testing;
  • Performance testing; and
  • Data load testing
How long should this take?

This is dependent upon the complexity of the design, the number of source systems and interfaces, the quality of data and data profile, and the number of pre-defined queries and reports.

The systems development phase is a good candidate for agile development methodologies such as iterative development or prototype development.

The prototype development is an excellent way to show end users how the business intelligence tools will work.

The iterative development approach is also an excellent way to maintain focus on development tasks and can dramatically reduce development time including code review.

Software development life cycle deliverables
  • Database Storage Deliverables include: 
    • Physical database design in a modeling tool;
    • Physical database instance and schema’s
    • Data definition language to create data structures, generate
    • indexes, views and synonyms; and
    • Programs to create data aggregation tables.
  • Data Movement deliverables include, for each source system: 
    • Programs to extract data;
    • Programs or scripts to transfer flat files to the data warehouse environment; and
    • Fast load scripts that will load the files into the staging area and/or copy management tools configured to perform the transfer of data. 
  • Business Intelligence deliverables include: 
    • Screens/reports that access data; and
    • Query access tool configured to operate against the data warehouse data base design.
Summary...

The systems development phase or software development life cycle builds and tests all of the code and processes required to satisfy the architecture and design specifications.

It is a highly complex task that should be completed by a team of highly specialized data architects, data base administrators, data movement designer/developers and business intelligence designer/developers.



footer for Information management page