Tailored Waterfall Embed with Agile Knowledge (TWEAK)

Abstract — For successful project execution, organizations and their team use multiple methodologies like Agile, PMBOK etc. Each methodology works in different kind of environment and has its own advantages and disadvantages.

In the current scenario few projects need a sustainable framework which can provide a platform where in the perfect blend of these methodologies would help them in achieving a greater success.

This Case study is intended to provide a methodology which could be ideal for projects like AWS migration. But the scope is not limited and can be used across any project which could fit in this methodology.

KeywordsHybrid, Agile, PMP, Agile Project Management, Collaboration, Success.

INTRODUCTION

In today’s world, we have observed that most of the companies are opting to migrate from their on-premise environment to AWS cloud platform in order to avail the benefits such as ease of use, flexibility, cost effective, secure, scalable, reliable and high performance. The companies are trying to follow different methodologies which would help them in achieving their goals.

In the below sections, we would be discussing about the characteristic and usage of each of the methodology and the suggestion which can yield better results.

1. Characteristics of Waterfall with PMP principles

a. Carefully oriented towards achieving the project goal.

b. Project mindset.

c. Fixed and separated stages.

d. No feedback until testing.

e. Importance for Product testing.

f. Fixed requirements.

g. Requires Extensive documentation.

h. Team work in turns.

i. Difficult to enable changes.

j. End product is defined.

k. Perfect for Long term projects.

2. Characteristics of Scrum

a. Changes oriented.

b. Product mindset.

c. Short Feedback Loop.

d. Unit testing.

e. Ambiguous requirements.

f. Minimal paperwork.

g. Collaboration.

h. Total transparency.

i. Easy to incorporate changes.

j. Supports changing requirements.

k. Perfect for IT software and Marketing.

3. Characteristics of Kanban

a. Flexibility in Planning.

b. Limits Work-In-Progress (WIP).

c. Pull Approach.

d. Minimize Cycle Time.

e. Continuous Delivery.

4. Characteristics of Agile Project Management

a. Customer Satisfaction.

b. Fast Delivery Times.

c. Continuous Adaptation.

d. Greater Transparency.

e. Test Early and Often.

f. One Step at a Time.

g. Efficient Communication.

The criteria for selection of the methodology can be based on the following:

· The level of confidence in the list of requirements,

· The level of Stakeholder engagement,

· The skills and experience of the team,

· The size and stability of the team.

· The technical complexity of the project

· The level of confidence in the list of requirements,

· The level of Stakeholder engagement.

When we carefully observe the characteristic and usage of these methodologies, we would choose the best of them for our AWS migration project.

Characteristics which we can select from PMP principles

a. Carefully oriented towards achieving the project goal

b. Project mindset

c. Product testing

d. Fixed requirements — in terms of Product

e. Extensive documentation — Tailored to limited documentation

Following are the characteristics which we can select from the Scrum:

a. Changes oriented

b. Iteration

c. Short Feedback Loop

d. Unit testing

e. Collaboration

f. Full transparency

g. Easy to incorporate changes

h. Perfect for IT software, Marketing

Following are the characteristics which we can select from the Kanban:

a. Flexibility in Planning

b. Limits Work-In-Progress (WIP)

Following are the characteristics which we can select from the Agile project management:

a. Customer Satisfaction

b. Continuous Adaptation

c. Greater Transparency

d. Test Early and frequently

e. One Step at a Time

f. Efficient Communication

As we have cherry picked the characteristics which we would like to incorporate in our project, we need to blend them together to have well defined workflow.

The diagram in the next page is the new framework which can be termed as TWEAK (Tailored Waterfall Embed with Agile Knowledge). We are building the process on a firm foundation wherein the planning is aligned to the waterfall model using the PMP principles. This includes

· High level scope,

· Scope decomposition through WBS,

· High level schedule and planning for concurrent release (release trains),

· Project milestones,

· Budgeting and estimating the costs,

· Quality management baselines,

· Resources planning,

· Identifying Risk areas and planning risk responses, planning Stakeholder engagement with pre agreed work performance data and reports in terms of Sprint velocity,

· Defect density,

· Capacity utilization

· Plan the communication channels.

The above-mentioned approach is oriented towards achieving the project goal, Project mindset, Product testing, and tailored documentation as per the need.

We shift our paradigm towards Agile methodologies (Agile Project Management, Scrum and Kanban) for Execution, Monitoring and Control process groups.

Here, we would perform the Sprint events like Sprint planning, Daily standup meetings, Sprint Demo and Sprint retrospective meetings along with Kanban framework which is famously known as scrum ban.

The approach would also cover

· Changes oriented,

· Iteration,

· Short Feedback Loop,

· Collaboration,

· transparency,

· Easy to incorporate changes,

· Flexibility in Planning, Limits Work-In-Progress (WIP),

· Customer Satisfaction,

· continuous Adaptation,

· Test Early and Often

Each sprint would involve development, build, test and collating the KPI’s. Then the project manager and scrum master would decide the health of the sprint and take appropriate actions.

The roles and responsibilities of each role is discussed in the further section.

Let us discuss about our case study wherein the application is migrated from on-premise to AWS cloud.

During the initiation stage, we would develop the project charter using the business needs and basic agreement which we can have with AWS. We identify the key stakeholders using expert judgement and meetings.

The planning stage involves identifying the different components on the existing system and mapping them against the AWS components. We need to collect the requirements using data gathering and data representations for different components, 3rd party applications, security, performance etc.

We define the scope for the current project wherein a DB with highly sensitive data can be hosted in-house and all other components can be migrated. This is achieved using product analysis.

Once the scope is finalized, we split them into Epics (WBS) and add them to product backlog. This helps us in T-shirt estimation.

Parallelly, the schedule management activities like defining the activities using decomposition and rolling wave planning would be in place. We then sequence them accordingly and estimate their duration using parametric, analogous or bottom up estimation techniques and develop the schedules which include release planning and project calendar.

For the planning of cost, as we have the agreement with AWS and then components identified, we estimate using parametric, analogous or bottom up estimation techniques and include the reserve costs and arrive at the budget.

Quality is one of the key aspects of the project and we must plan it early by involving the right stakeholders at the right time. We follow multiple quality theories like Shewhart (PDCA), TQM (total quality management) and Kaizen (Continuous improvement) and define the quality of the product. We further have the definition of done at sprint level which acts as quality gate keeper.

We plan the resources based on the organizational theory and pre-assignment based on the knowledge and skills required for the project. If there are any gaps, they are addressed during the trainings and Knowledge Transfer sessions before the start of the sprints. Further, learning is a continuous process and it continues during the sprint as well.

We would have multiple stakeholders for this project. Project manager and Scrum Master acts as the bridge between external stakeholder and development team. Product owner finds his position between Project manager and Scrum master and interacts with both.

As the project involves multiple applications and interactions, identifying risks is importance to the success of the project.

Project risk is based on the roles and responsibilities, budgeting, type of the project. We then assign risk probability and impact and assign rating to each one of them. We prepare risk responses and document them for further monitoring purpose.

Communication methods are planned and documented early to cater to multiple stakeholders. This reduces the miscommunication, improves co-ordination and thus productivity.

Moving on to execution part, we acquire the resources and try to build the team using agile principles where we focus on developing self-sustained teams. Techniques like colocation, SWOT analysis, interpersonal skills are used. Scrum master plays a major role is this phase along with project manager.

As we are in Sprints and its feature is iterative and incremental, the team must ensure that the quality is uphold after each sprint. Thus, automation plays a key role. The defect density, defect slippage, code covered techniques can be used along with sprint velocity to increase the quality sprint on sprint.

Daily standup meetings are conducted which helps us in monitoring the progress and health of the sprint. If there are more impediments, scrum master and project manager must have active involvement and help the team to get them resolved in a timely manner for the sprint commitments (goals) to be completed. This covers the aspects of risk management.

Monitoring and Control is through the deliverables produced on the timely manner. Sprint demos and sprint refinement meetings helps the team to understand more about the work.

As mentioned earlier, the project is complex and thus would involve multiple scrum teams working parallelly to achieve the project objective. It becomes important that all the teams are aligned and working towards a common goal. Each team would ideally have individual goals which is mapped to the project goal.

There might be scenarios where one of the teams which is working on an application is completing the sprint deliverables before time but another team with complex application might not be able to achieve the sprint commitments on time. Project manager and Scrum masters can discuss on a strategy to resolve this issue where-in a few deliverables can be picked up by scrum team from the other team.

We can run scrum of scrums and with the help of information radiators, it is the responsibility of scrum master and project manager to get the best of the team and deliver the project.

Let us define few of the responsibilities of each of the roles we have

Project Manager:

· Planning the activities

· Organizing a project team to perform their assignment

· Managing deliverables

· Monitor progress

· Communicate project vision with the team

· Managing reports and necessary documentation

· Analyzing and managing project risk

· Communicating with key stakeholders

· Team-building

· Applying change control and configuration management processes

· Liaison with appointed project assurance representatives to assure the overall direction and integrity of the project

Scrum Master:

· Formulating techniques for effective Product Backlog Management

· Ensuring that goals, scope and product domain etc. are understood by every member in the Scrum Team clearly

· Helping the team understand the need for clear and concise product backlog items

· Imparting the understanding of product planning in an empirical environment

· Ensuring that the Product Owner has clarity on arranging the product backlog to yield maximized value

· Understanding and practicing agility and facilitating scrum events as requested or as needed.

· The Scrum Master removes project impediments that stand in the way of team productivity and performance

· Helps the development team to create high-quality products

· Facilitates scrum events as requested or as needed and Coach the development team in organizational environments in which scrum is not yet fully adopted and understood.

Product Owner:

· Define the project vision

· Product backlog management

· Prioritize product needs

· Collecting customer feedback

· Harmonizing business goals with user needs

· Bridge between customer and development team

· Plan workload around short iteration

Development Team:

· Perform sprint assignments as per the requirements provided by the Product Owner and coordinated by the Scrum Master.

· A regular standup meeting called the Daily Scrum is followed to communicate progress of the project with the peers and the Scrum Master.

· Ensures transparency and allows the development team to incorporate the changes as necessary in future sprints based on feedback from the Product Owner.

Conclusion:

This methodology is aimed to provide a solution for projects needs a stable and dynamic approach. Stable in terms of what applications need to be migrated or worked on, but dynamic approach based on the findings and dependency we come across in the project.

References:

· PMBOK from PMI

· Scrum guide from Scrum.org

· Agile Project Management from APMG