You are on page 1of 9

1.

Agile Project Management Approach & Methodology

The project team will follow a phased agile approach to solution delivery. Agile is an iterative
way of software development where its main characteristics include: short release,
collaborating with customers, receiving feedback from the customers and being responsive to
change.

1.1 Project Scheduling

The project will be broken down into four stages, being:

● Initiation
● Requirements Definition (Design)
● Development (Build and Test)
● Project Close-Out

Progression at all four stages will be subject to control by the Steering Committee/Project
Board appointed by the client. That is, all project management products produced at each
stage and progression from one stage to the next will be subject to Steering Committee (Project
Board) approval.
Figure 9 Agile software development process flow

 Initiation

Being the first step of the project development process, the project initiation is where the
project kicks off with the team, the stakeholders, and the clients, all in a closed-loop so that
there are no information gaps between the group, and everyone is on the same page.

To manage this widespread transmission of information among the masses, all of the
documents and attachments related to the project sourced from the client, stakeholders,
managers, and the team members should be gathered in one central hub, so that the project’s
scope, cost, and timings can be determined. After this information is gathered, it will be easy
to define the stakeholders, goals, teams, and deliverables.

 Requirements Definition (Design)

Once the project has been identified, the project team will work with stakeholders to define
requirements. User flow diagram or the high-level UML diagrams are used to show the work of
new features and show how it will apply to existing system.

 Development (Build and Testing)

The implementation phase of an agile project starts with a list of features to be implemented
and several iterations to implement those features. Our project manager will identify these
tasks, prioritise them with the help of the development team and input them into the schedule.
Each feature will have a timeframe to be mapped to an iteration. Each feature and sprint will
also require a status e.g. not started, in progress or completed.

The pivotal point is that this development process breaks a larger project down into smaller
cycles or sprints. At the end of each iteration (which normally happens over a consistent time
period, something of value is produced). The product that’s produced during each sprint should
be able to be placed into the world to receive stakeholder or user feedback. You repeat this
process with every sprint until the backlog is cleared.

Once all the iterations are completed giving rise to a successful product, it is displayed to the
customers and other stakeholders who will approve and accept the final product.
Concurrently, the project team (in collaboration with the client) will be consistently monitoring
business justification by identifying and constantly measuring benefits to be accrued by the
client through-out the project lifecycle.

 Project Close Out

Before handing a project over to a production or operations department or to an external


customer, effective agile teams conduct one last retrospective to officially close the project.
This final project retrospective allows the team to review the project as a whole and helps
team members resolve any remaining issues before moving on to new assignments.

The final review of the project will include a meeting with the stakeholders to review the final
scope that was complete, the budget, and the schedule. A final retrospective should be
completed as a team to focus on lessons learned, tidying up any loose ends and reviewing the
project.

To ensure the successful transfer of ownership from the agile team to the operations team, the
agile team will hand over the working code, build scripts, and associate test suite. Different
organisations will have different process, standards, and documentation for handing over to the
operations team.

1.2 Task Dependencies

Agile breaks the product into small incremental builds to deliver specific features for a release.
Each build is incremental in terms of features; the final build holds all the features required by
the customer.These builds are provided in iterations. Each iteration typically lasts from about
one to four weeks.

Every iteration involves cross functional teams working simultaneously on various areas. At the
end of the iteration, a working increment is displayed to the customer and important
stakeholders. Each Agile phase will contain numerous iterations as software developers repeat
their processes to refine their product and build the best software possible.

The workflow of an agile iteration will typically consist of five steps:


1. Iteration requirements (planning)
2. Iteration implementation (execution)
3. Iteration testing
4. Deliver iteration
5. Iteration evaluation

Figure 10 Agile iteration workflow

 Iteration Requirements

Identifying the requirements for the Sprint to help narrow focus and achieve the best results
and reach the most important goals. All team members collaborate to determine how much of
the team backlog they can commit to delivering during the upcoming iteration based on the
available team capacity. User flow diagrams and high-level UML diagrams are used to show the
work of new features and show how it will apply to the existing system.

 Iteration Implementation

Iteration implementation is the process of how the work takes place. The designers and
developers start working on the sprint tasks. The aim of designers and developers is to deploy
the working increment for the sprint within the estimated time. The increment will go into
various stages of improvement, so it includes simple, minimal functionality.
 Iteration Testing

Once the coding is over, it’s time to run the tests and make sure everything works as it is
supposed to. If applicable, the team would also check how the increment integrates with the
rest of the product or environment. In this step, the Quality Assurance team examines the
product's performance and look for bugs.

 Deliver Iteration

In this step, the team issues the iteration in the form of a working, tested increment of value
to relevant stakeholders.

 Iteration Evaluation

The iteration evaluation provides the opportunity to assess progress as well as make any
adjustments ahead of the next iteration. This is the ‘adjust’ step for the overall iteration. Here,
the team evaluates its process and reviews any improvement stories it had from the previous
iteration. This regular reflection is one of the ways to ensure relentless improvement is
happening within each team.

1.3 Agile Project Management

Agile is a development methodology which is more suitable for highly dynamic environments
and allows developers to build systems more quickly with better response to the change of
development and business requirements in terms of budget, schedule, resources, team, and
technology

Features of Agile development include high levels of communication and collaboration, fast and
effective responses to change, adaptive planning, and continuous improvement. Customer
Interaction is the backbone of the agile methodology, and open communication with minimum
documentation are the typical features of agile development environment.
An agile framework incorporates elements of continuous planning, testing, integration, and
other forms of continuous development. The following are the agile manifesto principles:

1) Individuals and interactions − In agile development, self-organization and motivation


are important, as are interactions like co-location and pair programming.
2) Working software − Demo working software is considered the best means of
communication with the customers to understand their requirements, instead of just
depending on documentation.
3) Customer collaboration − As the requirements cannot be gathered completely in the
beginning of the project due to various factors, continuous customer interaction is very
important to get proper product requirements.
4) Responding to change − Agile development is focused on quick responses to change and
continuous development.

Agile teams build applications in small increments rather than delivering the finished product
all at once at the end of the development lifecycle. This allows for frequent testing while giving
end users, stakeholders, and the business the chance to provide feedback on the work in
progress. Customer Interaction is the backbone of the agile methodology, and open
communication with minimum documentation are the typical features of agile development
environment. It’s common for business requirements and user needs to evolve during
development, and agile keeps teams flexible and responsive to change.

Figure 11 Iterative execution lifecycle


The following table gives an overview of the inputs and expected outputs at each stage of the
project schedule.

Phase Inputs Outputs

Initiation • Client Expectations • Requirements and Traceability


• Solution Blueprint • Packaged – Fit/Gap Analysis
• Solution Plan • Application Architecture
• Solution Scope Definition Specification
• Technical Architecture
Specification
• Test Approach
• Deployment Plan
• “Definition of Done” Document

Requirements • Product Backlog • Refined Packaged – Fit/Gap


Definition • Packaged – Fit/Gap Analysis Analysis
• Test Approaches • Packaged – Configuration
• Management Plan Design
• High Level Technical Design
• Application Functional Design
• Requirements & Traceability
• Sprint Plan & Scope

Sprint • Sprint Backlog • Sprint Backlog


Management • Sprint Estimate • Updated Product Backlog
• Impediments Log • Agile Metrics, Burn down charts
• Impediments Log
• Process Improvement Action
Log

Technical • High-level Technical Design • Integration Technical Design


Architecture • Product Backlog • Source Code / Executable
Sprint • Requirements & Traceability • Sprint Backlog
• Technical Architecture Specification

Application Sprint • Packaged – Fit/Gap Analysis • User Interface Prototype


1….n • Packaged – Configuration Design • Source Code / Executable
• High Level Technical Design • Sprint Backlog
• Product Backlog • Sprint Metrics
• Test Plan • Application Technical Design
• Interface Agreement • Application Functional Design
• Common Test Data
• Assembly, Product Test,
Automation Test Scripts & Test
Results
• Defect Log
• Update to Deployment Plan
Hardening Sprint • Product Backlog • Source Code/Executable
• Defect Log • Defect Log
• Assembly, Product Test,
Automation Test Scripts & Test
Results

Test • Product Backlog • Product Integration Test


• Packaged – Fit/Gap Analysis Scripts & Results
• Test Plan • Performance Test Scripts &
Results
• User Acceptance Test Scripts
& Results
• Defect Log

Deploy • Project Delivery Plan • Deployment Plan


• Requirements and Traceability • Contingency Plan
• Technology Policies & Procedures • Go-Live Plan
• Deployment Plan • Handover Documents

1.3.1 Project Management Software

Scrum is a framework that helps teams adhere to agile principles. The framework generally
works with three categories: work to be done, work in progress and work that has been
completed. This is where agile management software can be a real asset for project scheduling.
Agile management software can help project managers and their teams view the tasks to be
completed and mark them as ‘done’ when they’re ready. Applications like Jira, Trello, Monday
and Zoho Sprints are just a few examples of Agile management software.

Link: https://www.atlassian.com/software/jira

JIRA is a proprietary project management and support software developed by Atlassian. It


provides bug tracking, issue tracking, and project management functions on a single platform.
Its main features are:

1. Plan: Create user stories and issues, plan sprints, and distribute tasks across a software
team.
2. Track: Prioritize and discuss in full context with complete visibility.
3. Release: Information is always current.
4. Report: Improve team performance based on real-time, visual data.
5. Compatible with Scrum methodology which will be utilized during development

You might also like