At its core, agile is an iterative project management methodology. Agile works by breaking projects down into short duration milestones of user functionality, prioritizing them, and then continuously delivering iterations, usually, in short two week cycles.
While I’m no longer a formal Project Manager, from time to time I still have the need to create a project Plan or to help someone else to organize a project plan. Usually. I find that it is easier to get to a more holistic plan faster, if I have a pattern of essential tasks and milestone to work with. So, I usually go to a template which I have assembled across time use as an accelerator and/or job aide. The attached project plan templates are for a common data warehouse project pattern, but by no means is intended to be the end all of project plans; it is just a starter kick, sort of speak.
There are several reasons why projects plan patterns may vary, other than the experience and knowledge of project planner, among them are:
The environment migration pattern in use
The application stack of the of the environment
The tools use to manage the project plan (MS Project, JIRA, OpenProj, etc.)
The size and complexity of the project team
Here is project plan mockup around Infosphere Datastage, but should be adaptable to any other ETL application.
Rapid Application Development (RAD) is a type of incremental software development methodology, which emphasizes rapid prototyping and iterative delivery, rather than planning. In RAD model the components or major functions are developed in parallel as if they were small relatively independent projects, until integration.
RAD projects are iterative and incremental
RAD projects follow the SDLC iterative and incremental model:
During which more than one iteration of the software development cycle may be in progress at the same time
In RAD model the functional application modules are developed in parallel, as prototypes, and are integrated to complete the product for faster product delivery.
RAD teams are small and comprised of developers, domain experts, customer representatives and other information technology resources working progressively on their component and/or prototype.
Over the years I have seen a lot of patterns for Information integration testing process and these patterns will not be an exhaustive list of patterns a consultant will encounter over the course of a career.
However, the two most common patterns in the testing process are:
The Three Test Phase Pattern
In the three test phase pattern, normally, the environment and testing activities of SIT and SWIT are combined.
The Four Test Phase Pattern
In the four test phase pattern, normally, the environment and testing activities of SIT and SWIT are performed separately and, frequently, will have separate environments in the migration path.
Testing of individual software components or modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. may require developing test driver modules or test harnesses.
System Integration Testing (SIT):
Integration testing – Testing of integrated modules to verify combined functionality after integration. Modules are typically code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems. Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems. See also component integration testing, system integration testing.
Software Integration Test (SWIT)
Similar to system testing, involves testing of a complete application environment, including scheduling, in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.
User Acceptance Testing (UAT):
Normally, this type of testing is done to verify if the system meets the customer specified requirements. Users or customers do this testing to determine whether to accept the application. Formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system.
Data modeling is the documenting of data relationships, characteristics, and standards based on its intended use of the data. Data modeling techniques and tools capture and translate complex system designs into easily understood representations of the data creating a blueprint and foundation for information technology development and reengineering.
A data model can be thought of as a diagram that illustrates the relationships between data. Although capturing all the possible relationships in a data model can be very time-intensive, well-documented models allow stakeholders to identify errors and make changes before any programming code has been written.
Data modelers often use multiple models to view the same data and ensure that all processes, entities, relationships, and data flows have been identified.
There are several different approaches to data modeling, including:
Concept Data Model (CDM)
The Concept Data Model (CDM) identifies the high-level information entities, their relationships, and organized in the Entity Relationship Diagram (ERD).
Logical Data Model (LDM)
The Logical Data Model (LDM) defines detail business information (in business terms) within each of the Concept Data Model and is a refinement of the information entities of the Concept Data Model. Logical data models are a non-RDBMS specific business definition of tables, fields, and attributes contained within each information entity from which the Physical Data Model (PDM) and Entity Relationship Diagram (ERD) is produced.
Physical Data Model (PDM)
The Physical Data Model (PDM) provides the actual technical details of the model and database object (e.g. table names, field names, etc.) to facilitate the creation of accurate detail technical designs and actual database creation. Physical Data Models are RDBMS specific definition of the logical model used build database, create deployable DDL statements, and to produce the Entity Relationship Diagram (ERD).
In the classic Software Development Life Cycle (SDLC) process, Data Models are typically initiated, by model type, at key process steps and are maintained as data model detail is added and refinement occurs.
The Concept Data Model (CDM) is, usually, created in the Planning phase. However, creation the Concept Data Model can slide forwarded or backward, somewhat, within the System Concept Development, Planning, and Requirements Analysis phases, depending upon whether the application being modeled is a custom development effort or a modification of a Commercial-Off-The-Shelf (COTS) application. The CDM is maintained, as necessary, through the remainder of the SDLC process.
The Logical Data Model (LDM) is created in the Requirement Analysis phase and is a refinement of the information entities of the Concept Data Model. The LDM is maintained, as necessary, through the remainder of the SDLC process.
The Physical Data Model (PDM) is created in the Design phase to facilitate the creation of accurate detail technical designs and actual database creation. The PDM is maintained, as necessary, through the remainder of the SDLC process.