Finalizing the project management approach

Should we go with agile or waterfall or hybrid is the major decision one should make before getting into detailed planning. There are construction projects which got great benefits by following agile during the engineering phases, which facilitated concurrent engineering by distributed teams. While that is the case with project management strategies / approach, project execution strategies are also equally important. For example, I know a construction project which could meet their tight deadline because they decided to go with pre-fabricated components in the project. Project strategies can also revolve around make or buy decisions, various contracting types, technologies used etc…

While the factors to be considered for developing the project’s strategy / approach are multidimensional , the rest of this article will discuss about the various project management strategies that can be adopted for successful execution of projects.

When to go with predictive or waterfall?

  • If the scope is very clear (Construction projects)
  • If the technology is well known
  • If the engineering discipline do not allow for change
  • If the contract type is fixed price, fixed duration

When to go with Agile?

  • If the scope is evolving
  • If the technology is new to the team
  • If the engineering discipline allows for change (Information technology, Engineering phase)

When to go with Hybrid?

  • When the team is moving from Waterfall to Agile
  • When some phases are ideal for agile and some phases are ideal for waterfall, within the same project some phases can follow agile where as some phases will follow waterfall (predictive) style. For example, in a construction project, the architecture, approvals, engineering, procurement, snags, punch lists are potential candidates for agile where as the actual construction phase will benefit by following predictive approaches.
  • Even in a predominantly predictive project management approach, adopting some of the agile ceremonies like daily meetings, short term planning, burn down charts etc can improve productivity.

Good project approaches / strategy will play a major role in meeting the timelines within cost with quality.

Sprint Zero

SPRINT 0: THE GOAL, ACTIVITIES AND THE TERM

What is SPRINT 0?

A Sprint 0 is the name often given to a short effort to create a vision and a rough product backlog which allows creating an estimation of a product release. Some organizations adopt the practice of having a Sprint 0 before the project actually kicks off for real. It is the foundation and most critical Sprint for any project. In my experience, it is well suited for the organizations who are in process of transitioning from Waterfall to Agile.

Sprint 0 is usually claimed as necessary because there are things that need to be done before a Scrum project can start. During Sprint 0, the Scrum team might be assembled, product backlog can be populated and any technical issues like hardware, software, architecture, infrastructure, procurement, resource and collocation issues can be sorted out.

The goal of Sprint 0 is “being ready and able to deliver business value that is usable and potentially releasable” through discovery process. It isn’t about planning the future items in detail but should be about setting the vision, creating an initial backlog to meet that vision and getting initial estimates against it.

Possible SPRINT 0 Deliverable:

Activities listed below will make the team ready for the upcoming Sprints and mainly Sprint 1 &2. This is just a checklist with all the possible items to start with in Sprint 0, which could be between 2-6 weeks, depending on the Project size. Nonetheless, every environment is different and may require specific actions tailored in the best way to address the specific needs of that environment.

  1. Product Backlog/Requirement:

Product owner, business analyst and technical architect should closely work to prepare the Product Backlog and create the release plan so that team can visualize the PO’s vision from the product perspective.

  • Should review and analyze User Stories in collaboration with PO’s and relevant stakeholders.
  • Should prepare a Product Backlog (or decision on Definition of Done) with the Acceptance Criteria for each User Story.
  • Should identify and document any non-functional requirements (authentication/security, performance, 508 requirements, scalability, etc.).
  • Should prepare for Sprint Planning, prioritize and freeze requirements at least for sprint 1 and 2.  
  • Infrastructure Readiness:

Without the infrastructure, team won’t be able to progress on anything. There is a high dependency on following items, and it should be worked out with the infra stakeholder:

  • Network Requirements
  • Environments readiness; to start with team at least need Dev and Test and later Pre-Prod (UAT) and Prod environments.
  • System readiness with all the software installed
  • Logistic requirements like phone, video conference etc.
  • All the tools up and running
  • Environment Specification:

Identify various tools to be used in the project, such as

  • Front-end Tool
  • Back-end Tool
  • Database Tool
  • Data Migration Tool
  • 508 Testing Compliance Tool
  • Team Readiness:

Create a resource plan or team structure:

  • How many full time and shared resources are required with their allocations
  • Identify skill sets needed for the required resources
  • Interview and hire resources (if required)
  • Create team On-boarding activities and tasks
  • Each resource should have all the required software
  • Each resource should have accounts and access to the required systems
  • Training:

Training will make team ready for the development/testing and is critical to project success. Training on following maybe be recorded for the future use/training of new associates:

  • Domain
  • Technical
  • Architecture
  • Development Framework and Process
  • Testing Framework and Process
  • Tools
  • Design/Architecture:
  • Initial draft of high-level architecture management plan that talks about the technical architecture of the future product from the technical architect.
  • Project Release Roadmap:

Work with PO’s on Product Vision and prepare Release Plan with following information:

  • Number of Sprints
  • Sprint Start and End dates
  • Epic or functionality planned to be covered in each Sprint
  • Project Management Plan (High Level):
  • Identify Project In-Scope and Out-of-Scope
  • Cost Estimation: Along with Project Cost, determine other costs (if any), such as My Access Cost, Certificates Cost, Environment Cost, Security Assessment / Authorization Cost, etc.
  • Assumptions
  • Dependencies
  • Any Risks
  • Create templates for various Status Reports
  • Create Test Management Plan (draft)
  • Create Data Migration Plan (draft) 

Dr. Harleen Flora

PhD in Computer Science, MS, PMP, MSP, PRINCE2, ITILv3, CSM, Agile PM, SAFe 5 Agilist, Lean Six Sigma Black Belt