Project anatomy

Last updated

A project anatomy (also integration anatomy or organic integration plan) is a tool for integration planning that visualizes dependencies between work items in development projects. It is mainly used in incremental development and Integration Driven Development projects.

Contents

Overview

The project anatomy has evolved from the system anatomy and in its purest form the work items (called work packages) reflect the development of system capabilities. Often a more pragmatic approach is taken, though, where work packages may contain other items with important dependencies as well, e.g. HW deliveries for embedded systems.

Benefits

Limitations

History

Project anatomies evolved from system anatomies at Ericsson since the late 1990s. Both the terminology and the methodology have differed between organizations and the difference between "system anatomy", "project anatomy", "delta anatomy" and "integration anatomy" is sometimes diffuse or non-existent. In 2004 FindOut Technologies presented a SW tool (Paipe) for managing anatomies with more properties. The company has, since then, worked to establish the term Project Anatomy.

Example

The project anatomy below is an example showing the work packages needed to develop a simple issue management system.

Work packages with many dependencies are called spiders and indicate a risk. The risk may be managed by splitting the work package or by moving dependants of it to later shipments (increments).

The colors indicate the current status of work packages, where green means "on track", yellow means "at risk" and red means "off track". Blue work packages are done.

Project Anatomy Example.png

Further reading

Related Research Articles

Project management is the practice of initiating, planning, executing, controlling, and closing the work of a team to achieve specific goals and meet specific success criteria at the specified time. The primary challenge of project management is to achieve all of the project goals within the given constraints. This information is usually described in project documentation, created at the beginning of the development process. The primary constraints are scope, time, quality and budget. The secondary—and more ambitious—challenge is to optimize the allocation of necessary inputs and apply them to meet pre-defined objectives.

Work breakdown structure deliverable oriented decomposition of a project into smaller components (in project management and systems engineering)

A work-breakdown structure (WBS) in project management and systems engineering, is a deliverable-oriented breakdown of a project into smaller components. A work breakdown structure is a key project deliverable that organizes the team's work into manageable sections. The Project Management Body of Knowledge defines the work-breakdown structure "A hierarchical decomposition of the total scope of work to be carried out by the project team to accomplish the project objectives and create the required deliverables."

Rapid-application development (RAD), also called rapid-application building (RAB), is both a general term, used to refer to adaptive software development approaches, as well as the name for James Martin's approach to rapid development. In general, RAD approaches to software development put less emphasis on planning and more emphasis on an adaptive process. Prototypes are often used in addition to or sometimes even in place of design specifications.

PRINCE2 project management method

PRINCE2 is a structured project management method and practitioner certification programme. PRINCE2 emphasises dividing projects into manageable and controllable stages.

Agile software development comprises various approaches to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change.

Dynamic systems development method

Dynamic systems development method (DSDM) is an agile project delivery framework, initially used as a software development method. First released in 1994, DSDM originally sought to provide some discipline to the rapid application development (RAD) method. In later versions the DSDM Agile Project Framework was revised and became a generic approach to project management and solution delivery rather than being focused specifically on software development and code creation and could be used for non-IT projects. The DSDM Agile Project Framework covers a wide range of activities across the whole project lifecycle and includes strong foundations and governance, which set it apart from some other Agile methods. The DSDM Agile Project Framework is an iterative and incremental approach that embraces principles of Agile development, including continuous user/customer involvement.

Open-source software development is the process by which open-source software, or similar software whose source code is publicly available, is developed by an open-source software project. These are software products available with its source code under an open-source license to study, change, and improve its design. Examples of some popular open-source software products are Mozilla Firefox, Google Chromium, Android, LibreOffice and the VLC media player. Open-source software development has been a large part of the creation of the World Wide Web as we know it, with Tim Berners-Lee contributing his HTML code development as the original platform upon which the internet is now built.

Adaptive software development (ASD) is a software development process that grew out of the work by Jim Highsmith and Sam Bayer on rapid application development (RAD). It embodies the principle that continuous adaptation of the process to the work at hand is the normal state of affairs.

The Enterprise Unified Process (EUP) is an extended variant of the Unified Process and was developed by Scott W. Ambler and Larry Constantine in 2000, eventually reworked in 2005 by Ambler, John Nalbone and Michael Vizdos. EUP was originally introduced to overcome some shortages of RUP, namely the lack of production and eventual retirement of a software system. So two phases and several new disciplines were added. EUP sees software development not as a standalone activity, but embedded in the lifecycle of the system, the IT lifecycle of the enterprise and the organization/business lifecycle of the enterprise itself. It deals with software development as seen from the customer's point of view.

Scrum is an agile process framework for managing complex knowledge work, with an initial emphasis on software development, although it has been used in other fields and is slowly starting to be explored for other complex work, research and advanced technologies. It is designed for teams of ten or fewer members, who break their work into goals that can be completed within timeboxed iterations, called sprints, no longer than one month and most commonly two weeks, then track progress and re-plan in 15-minute time-boxed daily meetings, called daily scrums. At the end of the sprint, the team holds sprint review and sprint retrospective to review the work done and the process of the sprint.

Follow-the-sun Type of workflow in software engineering

Follow the Sun (FTS), a sub-field of globally distributed software engineering (GDSE), is a type of global knowledge workflow designed in order to reduce the time to market, in which the knowledge product is owned and advanced by a production site in one time zone and handed off at the end of their work day to the next production site that is several time zones west to continue that work. Ideally, the work days in these time zones overlap such that when one site ends their day, the next one starts.

Business agility refers to the "ability of a business system to rapidly respond to change by adapting its initial stable configuration". It can be sustained by maintaining and adapting goods and services in meeting customer demands, adjusting to the changes in a business environment, and taking advantage of available human resources.

A glossary of terms relating to project management and consulting.

In software engineering, a software development process is the process of dividing software development work into distinct phases to improve design, product management, and project management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.

A system anatomy is simple visual description of a system, focusing on the dependencies between system capabilities.

The following outline is provided as an overview of and topical guide to project management:

Extreme programming Software development methodology

Extreme programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development, it advocates frequent "releases" in short development cycles, which is intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted.

Integration Driven Development (IDD) is an incremental approach to systems development where the contents of the increments are determined by the integration plan, rather than the opposite. The increments can be seen as defined system capability changes - "Deltas" . The advantages compared to other incremental development models still apply, such as short design cycles, early testing and managing late requirement changes, however IDD adds pull to the concept and also has the advantage of optimizing the contents of each increment to allow early integration and testing.

Agile Learning generally refers to the transfer of agile methods of project work, especially Scrum, to learning processes. Likewise, Agile Learning proceeds in incremental steps and through an Iterative design which alternates between phases of learning and doing. The tutors rather have the role of a learning attendant or supporter. In a narrower sense, it is intended to allow competence-oriented, media-based learning in the work process within companies. Beside this, the term can take several other meanings and is also often used within E-learning and Online Environments.

Distributed Agile Software Development is a research area that considers the effects of applying the principles of Agile software development to software development in a globally distributed development setting. The goal of applying these principles is overcoming challenges in projects which are geographically distributed.