BES Playbook

8.1 Project Planning and Discovery

In this section we discuss AAM project planning and discovery requirements. Project planning describes project goals, selects the appropriate personnel, creates project release plans, and establishes schedules and metrics for monitoring and controlling project execution. The Discovery phase sets the stage for successful delivery. During this phase, the PMO’s AAM contractor collaborates with the PMO’s application stakeholders and the government Engineering Support team to perform discovery of the application code base, as is system architecture and database architecture.

Project Planning

The primary objective of the project plan is to provide a roadmap to guide the overall application modernization effort. This includes managing the scope, activities and tasks, resource plan, schedule, issues and risks, coordination and communication to all stakeholders. Working on the project plan early can organize the project as multiple teams work on Discovery, Design, Transformation and Deployment of the applications and database migration. The project plan considers critical factors such as the transformation order for applications, when resources are needed, and tracking the progress of the application modernization. We recommend using agile methodologies, project control best practices, a robust business communication plan, and a well-defined delivery approach. Recommended project plan activities include:

1 Define Agile project management methods and tools to be used during the application modernization. 2 Define and create the Stakeholder Communication Plan, including reporting and escalation procedures. 3 Develop a project plan defining project phases, activities and tasks, timelines, cost estimates, resources and roles and responsibilities matrix (e.g., RACI) and risk/mitigation log to manage the risks that occur during the project. 4 Procure and deploy project management tools (e.g. Atlassian Jira) to support the delivery of the project. 5 Identify key resources and leads for each of the migration work streams defined in this section. 6 Facilitate the coordination of the activities and tasks outlined in the project plan.

Discovery

During the Discovery phase Sprint 0, AAM contractors perform tool ‘Set-Up’ by modifying the AAM toolset to ingest the legacy code, and model and analyze the legacy system to provide a detailed evaluation of the existing system’s design and application architecture. An Internal and External Dependency Analysis is performed to identify internal external interfaces and identify missing definitions. A baseline transformation specification is generated to identify gaps in the transformation rule sets for generating the source languages. The application architecture and baseline transformation specification enable BES PMO stakeholder and government Engineering Support team to review the AAM tool set-up to ensure it provides analytics and metrics for building a detailed understanding of the design and architecture of the target system which will guide subsequent AAM design and implementation sprints. The conclusion of this task is the generation of an inventory report.

Product Backlog

The product backlog of application code modules to be transformed and refactored is built by conducting a deep analysis of apps modules discovery data. The Transformation tool SME runs the discovery tool, analyzes and prioritizes the application modules and gathers information about the current architecture and database for each application module. The Transformation tool SME develops the future architecture and captures workload details to execute a streamlined transformation and data migration. It is not important to get through every application module before beginning execution of the plan. To be agile, do a deep analysis of the first two to three prioritized apps modules, and then begin the transformation. Continue deeper analyses of the next applications modules while the first applications modules are being refactored and integrated with other software components and the target relational database.