Agile Methodology

Agile: Do Fast, Do Together

 
“We are doing Agile Methodology (Agile) because we only have 6 months to deliver the project”. “We are doing agile because it will be cheaper”. “We are doing agile because my boss says so”.

Using agile seems to be the silver bullet to deliver IT projects. When something promises cheaper, better, and faster, it is probably too good to be true. While agile is a useful methodology that is adopted by many well-known software companies, there are also horror stories of agile projects that went terribly wrong.

So what is agile software development, and why do organisations adopt agile?

 

What is Agile Methodology

 
Agile is a software development approach that builds the software incrementally from the start, with small iterations. It results in fast and frequent delivery as compared to the long release cycles of the waterfall method.

The method breaks down the project into bits of user functionalities known as user stories. The user stories are prioritised and continuously developed in an iteration, across a time frame of 2 weeks. Each iteration consists of the planning, designing, building, testing, acceptance and deployment of the user stories.
 

Agile vs Waterfall

 

Agile Waterfall
Development Approach Iterative – planning, development, prototyping and other software development phases may appear more than once Sequential – project development phases like designing, development, testing, etc. are done sequentially and completed once
Scope Flexible – allows requirement changes even if the initial planning has been completed Structured – caters for limited scope change once the project development starts
Phases Short and Incremental – separated into sprints (typically 2 weeks) Long and Sequential – distinct phases (typically 6 months)
Resources Non-fixed funding, time and resources Fixed funding and timeline
Customer Involvement Every sprint – responsible for product backlog and prioritisation During project milestones – responsible for providing requirement and doing user testing

 

Why Agile Methodology?

 

Greater predictability

User stories are defined and planned ahead of the project. With each iteration spanning across 2 weeks, it gives a gauge of the project’s progress.

Rapid and frequent delivery

Each iteration spans across 2 weeks. In that 2 weeks, the agile team focuses on the specific user stories, from design to user acceptance and deployment. Beyond a method of deployment, agile builds a culture where the responsibility of deployment is shared amongst the entire cross-function, even when each member is focus on their specific role.

Customer-Centric design

Agile puts the focus on the user stories and prioritises the functionalities that are important to users. It is highly collaborative across cross-functional teams to provide thorough understanding of the requirements.
 

Considerations for Agile Projects
in Government Sector

 

  1. Understand the culture change required in agile development
  2. Train key personnel for their new role
  3. Engage cross-department stakeholders to define user stories
  4. Implement agile development on small-scale projects first
  5. Ensure that the agile partner understands the current government policies and constraints

Read more about agile projects in the government sector here.

 

Agile Methodology Projects

Gov.sg Portal – Ministry of Communications and Information (MCI) of Singapore

SSG eCerts – SkillsFuture Singapore