Agile

February 18, 2019

Agile Methodology Tutorial – Principles & Agile Project Management

Agile methodology and agile principles are increasingly being used for software development projects to promote teamwork, self-organization, and accountability.

In this post, you will find the basics of agile methodology, the 12 agile principles as indicated in the Agile Manifesto and some critical elements of agile project management.

What is Agile Methodology?

A methodology consists of methods, procedures, and rules for a particular discipline. The Agile Methodology provides guidance on how to choose methods and procedures to achieve agility. Agility is the ability to continuously adapt to changes and make improvements to the way you work.

Agile methodology rather than providing directives on what to do, it gives certain values and agile principles based on which a team can decide on what they should do.

In a software development project, the agile methodology can be used to achieve agility by performing continuous iterations of development and testing throughout the software development life-cycle. The development and testing go hand in hand in agile software development. In the traditional Waterfall Model of software development, testing is performed after the development phase.

Agile methodology tutorial

The core of agile methodology can be found in the Agile Manifesto of Software Development. Here are the 12 agile principles an agile development team should follow:

12 Principles in the Manifesto for Agile Software Development:

Here are the agile development principles as indicated in the agile manifesto:

  1. There should be continuous delivery of valuable software to achieve higher levels of customer satisfaction as it is the top priority.
  2. It is possible to accommodate changes in the requirements even in the later phases of development.
  3. Deliver working software more frequently in a shorter time span.
  4. Daily collaboration among the business team and developers is must for the success of the project.
  5. Team members should have greater autonomy with greater support and trust.
  6. For conveying information to the development team, face-to-face interaction is a must.
  7. The working software can be the measure of the project’s progress.
  8. There should be a constant pace of development indefinitely to promote sustainable development.
  9. The main focus is on good design and technical excellence.
  10. Progress is dependent on simplicity.
  11. To achieve the best possible architecture and designs, self-organizing teams are required.
  12. The teams should focus on continuous improvement and should be able to adapt to changes for greater effectiveness.

Agile Project Management

Agile project management is a project management technique that uses an iterative approach to plan and guide project processes.

This project management technique can be applied for building software when the client(s) may not know what they exactly want; there might be constant changes in priorities and availability of a cross-functional team that can collaborate on building the software.

Agile project management methodology helps software development teams to increase their speed, collaboration and ability to respond to market changes.  In agile project management, the agile values and principles are followed.

(Interesting to read: 10 Common Misconceptions about Agile Project Management)

The work that needs to be done in an agile project can be organized and classified as Stories, Epics, Initiatives, and Themes.

Stories

Stories are also referred to as “User Stories” are requirements or requests that are drafted from the perspective of the end user.

User stories emphasize the needs of end users. A user story outlines the context of a requirement to the development team in non-technical language. By reading the user story, a team will be able to identify what they are building, why they are building it and the value it will create.

User stories define the end-goals of the users but not the features.

Agile story examples:

A Smartphone user wants to access a vertical view of the live feed when using the mobile app.

Epics

Epics are the body of work that can be broken down into smaller tasks (user stories). They help to organize work and create hierarchies. Epics break down large projects into shippable chunks.

As the shippable pieces of software are developed and the customer gives feedback, user stories are added or removed from the epic. The epics are usually delivered over a set of sprints.

Epic example:

Improve the streaming service of the mobile application for the launch

This epic could be broken down into multiple user stories.

Initiatives

These are a collection of epics which are set to achieve a common goal.

Example of an initiative

A manufacturing unit wants to reduce its operational cost by 5% this year.

This initiative can be made of different epics such as “reduce the cost incurred due to wastage by 10%”, “reduce the cost of procurement by 15%”, etc.

Themes

Themes are large focus areas across an organization.  They inspire to create epics and initiatives but they don’t have a rigid relationship with them.

Example of theme

A theme for an automobile company can be “Safety First”

ReQtest is a tool specially designed for agile project management. Users can create user stories and epics in ReQtest’s Requirements Management module to structure & organize their workloads of agile projects. ReQtest simplifies sprint planning and task management through its Agile Board.

Explore the benefits of ReQtest, sign-up for a free trial today!

Summary

Agile Methodology outlines certain values & principles that can be used to achieve agility.  Agile project management is putting the agile methodology in practice by following the agile principles. ReQtest is a tool that can be used for agile project management based on the principles outlined in agile methodology.

(Interesting to read: Agile Software Development- 5 Trends to Watch Out For In 2019)

Share article