Dale Stephenson

Journal #Three [DES501] - The Agile Process

Journal #Three [DES501] - The Agile Process

The Agile Process

JOURNAL #THREE [DES501]

The Agile Process

Agile for Teams

The agile methodology is a set of values and principles that help teams work more efficiently. Deploying an agile framework for software development can mean following different practices and using various tools that help teams make decisions. This allows the decision-making process to result in better software development.

The agile concept seeks to assign value to certain items over others to help developers to carry out the development, these values are listed with a right and left side, valuing:

  • Individuals and the interaction between individuals more than the tools and processes used to achieve a task or set of tasks
  • Working software over comprehensive documentation
  • Collaborating with customers over negotiating contracts
  • An ability to respond to change over following a plan

This is not to suggest there is no value to the items on the right, only that items on the left are considered to be more valuable.

There are 12 principles in agile that give teams the ability to make positive decisions in development situations:

  1. Satisfying the customer is the highest priority, achieved by early and continuous software delivery
  2. Invite change throughout the development particularly when advantageous customer competitiveness
  3. Deliver working software quickly, in as little as a few weeks or months
  4. Work with business users and stakeholder daily
  5. Develop the project around people that are motivated, providing the support and environment to accomplish the job
  6. Communicate information efficiently and effectively through face-to-face interactions
  7. The best way to measure progress is through software that works
  8. Stakeholders, developers, and users should be able to maintain a constant pace throughout the development
  9. Strive for a high degree of good design and technical excellence
  10. Maximise the amount of work not done for greater simplicity
  11. Creating teams that can self organise produce the best requirements, designs, and architecture
  12. Through reflection, regularly adjust behaviour to become more effective

It’s important to understand that the agile approach is not the practices a team use, the practices are a result of the team’s values and principles - what works for one team won’t necessarily work for another - why a team uses a practice is more important than what practices they use, and a good agile team will change and refine practices as the development progresses.

Story Point & Planning Poker

Planning poker is a technique used by teams deploying the agile method to estimate:

  • The efforts required for a given task
  • Commonly expressed in terms of duration

Once the tasks have been aggregated an indication can be obtained for the overall project that includes both effort and duration, but also the likely cost.

Estimates are determined by the consensus of the team, and in reference to agile are used to estimate the backlog of a product. Story points are a unit measurement that estimates the effort and duration of a task, commonly the Fibonacci scale is used which helps to achieve better results by reducing the complexity. The Fibonacci sequence consists of numbers that are made up of the two numbers that precede it, as follows:

1- 1- 2- 3- 5- 8- 13- 21- 34- 55 and so on


When used for planning poker each team is given a set of cards with each card containing a value from the sequence. A user story or feature is then described to the team who then discuss it so they understand the aspects before making individual estimations.

The team reveals their estimations at the same time, if there is consensus then the value becomes the estimate for the story. If there is no consensus then it goes to further discussion. All members of the team can be involved in the discussion, however, emphasis is placed on those at each end of the value scale to understand the reasons.

After the discussion, each member of the team selects a card again until a consensus is reached. If the results are split down the middle then the higher of the two is chosen to save time. If the team all choose a number, say an 8, and one chooses a 55 then the task has some uncertainty either surrounding the product to the technical requirements, in these cases it is often better to put the case story aside and come back to it in the next meet up following further research.

There are clear benefits to the development team adopting the agile approach. Having experienced both agile and waterfall methodologies in the workplace I have found that often more traditional businesses operating a waterfall approach tend to slip into agile without realising, although this is often undesired and the default position is to revert to the plan established as a waterfall approach.

The agile approach is best for teams that want to deliver flexibility and speed with an ability to adapt to change, important qualities in today’s highly competitive market.

References

Matthew McConaughey. (2016, June 1). What is Agile? https://www.youtube.com/watch?v=Z9QbYZh1YXY

Matthew McConaughey. (2019, February 11). Planning Poker - Story Point Estimation in Agile - Agile Estimation Techniques. https://www.youtube.com/watch?v=TxSzo3lwwWQ&list=PLNsfkWfsIoV7sg04yrBzVvP22K8gommTo&index=1