Adherence Enterprise Project Gating Governance With Agile DevOps
This article will discuss approaches to leverage Agile methodology, CI/CD, and DevOps with the enterprise Project Stage-Gate processes.
Join the DZone community and get the full member experience.Join For Free
Enterprise Project Stage Gating
In the current IT project management, many organizations adopt the Project Gating process to manage projects' life cycles. Project Gates and Checkpoint Reviews provide key communication opportunities for projects to move through from each phase or specific elaboration steps. Gates and Checkpoint reviews also provide a formal means of controlling the quality of deliverables, reducing project risk, monitoring change requests, and maintaining stakeholder interest.
The gateway process consists of gates that align with each phase of the project life-Cycle, where the project sponsor can review progress and ensure that the project is ready to move forward. In general, there are six gates in a project lifecycle:
- Gate 0: Feasibility
- Gate 1: Approval
- Gate 2: Definition
- Gate 3: Planning
- Gate 4: Implementation
- Gate 5: Close-Out
Diagram of Project Stage-Gate:
While the Checkpoint view process is separate from the Gateway process, the checkpoint intersects the Gateway process. Projects are required to pass these checkpoints before completing each specific gate.
Challenges With Stage-Gate Process
The Stage-Gate process manages project release phases sequentially. It is good for the management team to make strong control in the project release life cycle. However, there are many challenges in the Stage-Gate process when the project is facing fairly large volume change requests and a short release schedule. It will be great that the project can be chopped down with a smaller set of release cycles, simplify the complexity more agilely, and reduce risks and release management difficulties.
Major challenges considered in Stage-Gate methodology:
- Tendency to over-elaborate the gate processes.
- Project plan timeline control with many stage gates.
- Resource allocated delays project schedule.
- Project response on urgent business needs.
- Difficulty to handle massive change requests during the project release cycle.
- Project documentation is too bureaucratic.
- Client customer not actively involved.
- Life-cycle model vs evolutionary-delivery-oriented model.
- Heavy process for small or straightforward projects, which need a lightweight process.
- Lack of collaborating to make sure that the project is on the right track.
Leverage DevOps, CI/CD, and Agile With Stage-Gate
There are many discussions on DevOps, CI/CD, and Agile project delivery methodologies. DevOps is the streamlining of the activities surrounding IT solution development (Dev) and IT operations. Agile methodology focuses on the constancy of change, using limited resources, cohesion in key stakeholders, collaboration in fast software delivery cycles. Continuous integration (CI) and Continuous Delivery (CD) are aiming at software engineering practice, build, and deployment processes. It keeps team members integrating their work continuously, building, and deploying software packages/builds to production in a timely manner.
In general, DevOps focuses on an organization's culture, participates' roles, and emphasizes roles' responsiveness. CI/CD focuses on software-defined life cycle, and delivery and deployment cycles. Agile focuses on software development processes, and project changes management processes. So we will discuss approaches to melt with Agile and Stage-Gate processes for software development.
The Agile method brings a lot of effort to continuous development and delivery practices so as to streamline the regular deployment of value into production. How to leverage the Stage-Gate process with the Agile process will be a challenge for any IT organization.
However, there are many factors to the lack of agreement within our industry on DevOps practices. The DevOps process needs to apply to each organization by considering the strategy, scope, and environment assets.
Depending on the project size and delivery cycles, leveraging Stage-Gate processes with DevOps, CI/CD, and Agile processes can be considered into the following three approaches:
1. Integrate Agile Process With Stage-Gate Phases — Small Projects
In this approach, the application gating resource will participate in the application Agile process after the application intake's approval. the agile development approach will manage the project development, deployment, change control, and release cycles. Business analysts, architects, project managers, developers, quality assurance resources will work together on the project delivery. Lessons learned sessions will be conducted within each release cycle. DevOps can be applied to this project development cycle as well as adopting Agile development methodology.
2. Develop Agile Process Inside Stage-Gate Logical and Physical Checkpoint Phases — Medium Projects
In this approach, the Agile process is adopted within the Stage-Gate logical and physical phase, the project initiation and close-out will still have a separate gate process. The check-point will be set before project intake, go-live, and post-go-live lessons learned. The Agile process will mainly be adopted during the project development and deploy phases. Business analysts, architects, project managers, developers, quality assurance resources will work on the project delivery. Lessons learned sessions will be conducted after the project is finally released. DevOps can be applied to this project development cycle, however, it will focus on the development more than operation. Agile development methodology will be adopted during the project planning, development, and deployment phases.
3. Project CAB Governance and Agile Processes — Large Scale
For the large-scale project or program, the organization will process project gatings in each step to reduce the risk of project delivery and make sure the project is following the corporate standards and guidelines. The agile methodology will be majorly used during the development and quality assurance phases. The project needs to report back to the organization review board for the project staging status. In this case, the project will usually be a multi-year project and will have major milestones delivered sequentially.
In the modern project development life-cycle, being Agile is the key. The organization development culture helps DevOps IT development and operations. DevOps, CI/CD, and Agile methodology increases project adaptivity and helps projects be more successful to meet customer's needs. However, for large-scale projects, the Stage-Gate processes are still required for the project intake, funding approval, enterprise assets reuse, implementation standards, and security concerns. To leverage Stage-Gating and Agile methodology and implement DevOps are challenges for every organization.
Nevertheless, there are multi-factors and a lack of agreement in our industry as to what DevOps means in practice. The proposed approaches need to be considered the existing infrastructure environment, what the business scenario is, and what scope can be used. How it will apply them to your organization is to explore the various gating strategies and practices available to you.
I hope you found this article helpful!
Opinions expressed by DZone contributors are their own.