Agile Software Development and Scrum

4 minute read Modified:

2015 Koenigsegg Agera N
Koenigsegg Agera sounds like Agile
Edvvc

Hi! This time on the PPL series of posts I will explain about Agile. As I have previously mentioned on my other post, in this course we are required to implement an agile software development methodology, Scrum. As of now, I dont think we have pulled this of to the level where I want it to be. Hopefully, I will add more updates and improvements about our process.

What is Agile?

First, Agile is a not a software development methodology, SDLC (Waterfall, Prototyping, Spiral, etc.) or the likes. Unlike them, Agile doesnt have a set of some hard rules to follow. Instead, Agile provides values and principles to guide us when working with software and client/customer.

These value and principles changes slighly as time passes, but they are more less the same. There are no exact time when Agile is invented or found. But there are a points in time where Agile is talked about and published by major publication to gain enough influence. One such source is Manifesto for Agile Software Development, or Agile Manifesto for short.

Agile Manifesto is by no means the first ever publication of Agile software Development, or the most complete one out there. The manifesto itself is formulated on 2001 by a group of 17 people, representatives ranging from Extreme Programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming, and vice versa. However, the manifesto has came up time and time again. I think this can be attributed to how concise, simple and easy to follow the manifesto is. Even the word manifesto is bound to ring a bell to some people.

Agile Values

These values is written on their website, but I will stil list them below for completeness's sake:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

Agile Principles

There are also Agile Principles. It consists of 12 loose principles around Agile Software Development. These principles expand from the previous values to include more concrete guides not mentioned before such as how face-to-face conversation is the most effective form of communication.

Scrum

Here is the textbook definition of Scrum:

Scrum is a lightweight, iterative and incremental framework for managing complex work. The framework challenges assumptions of the traditional, sequential approach to product development, and enables teams to self-organize by encouraging physical co-location or close online collaboration of all team members, as well as daily face-to-face communication among all team members and disciplines involved.

en.wikipedia.org/wiki/Scrum_(software_development)#Key_ideas

While there are also many resources for Scrum as Agile, I will try to explain in reference to the Scrum Guide since it has been a great learning material for me.

Now, what we did on PPL course is not Scrum. It's Scrum, but... hoho. Someone advice me not to use "but" when I try to explain modification to existing ideas since it gives of the impression that the original is crippled to make compromises. Let's give it a redo. It's Scrum, with additional grading metrics. Yea, thats what I think. Some flow is modified so they are easy to grade.

Scrum on Our Team 14/04/2019

Individuals and Interactions over processes and tools

We're trying.

Working Software over comprehensive documentation

Yup, our staging environment is working.

Customer Collaboration over contract negotiation

Ouch!

Responding to Change over following a plan

Can't change plan if you dont have any in the first place, lol.

Scrum on Our Team 28/04/2019

Individuals and Interactions over processes and tools

WA Group Mantan Aab
WA Group Mantan Aab
Giovan Isa Musthofa

Now this really looks like we are actually throwing out our tools (GitLab Issue and Boards) in exchange for tighter collaboration.

Working Software over comprehensive documentation

Yup, our staging environment is working.

Customer Collaboration over contract negotiation

Final UAT with Product owner before Sprint Review.

Responding to Change over following a plan

Client complaints are addresses soon after "warmfix".