Agile is now the default approach for software development projects. Agile encompasses both principles, values, methods, approaches, and frameworks to enable working in an agile way.

Knowledge Train | Agile

More about agile

Agile Manifesto

Agile refers to the set of methodologies, practices, processes and techniques that take their inspiration from the Manifesto for Agile Software Development, first published in 2001.

The Agile Manifesto described a number of principles and values that together guide every agile methodology, practice, or process. The manifesto was a response to the traditional software development methodologies at the time. These were usually based upon a waterfall approach to software development and often led to late delivery of low quality software.

In recent years, many organisations have sought greater agility by adopting a variety of agile methodologies, practices and processes. In particular, companies have sought to deliver greater value to their customers by adopting agile processes and practices.

Agile software development

Agile practices and methods are aimed mainly at people on development teams – software developers, product owners. Agile is actually a mindset. It is better to ask a software development team how agile they are, rather than a binary ‘we are agile, or not agile’.

Contrary to what some members of the agile community believe, agile practices generally do not enable practitioners to manage projects, but they do enable a team of developers to collaborate with a product owner to build products that meet the changing requirements of the customer.

Benefits of agile methodologies

Applying agile practices and methods sensibly on projects does have enormous benefits – primarily the ability to deliver products early, on a regular basis, and thereby enable the customer to realise benefits (or value) early in the product life cycle.

Team members on agile teams can also benefit from agile methods and working in agile organisations because agile empowers the team members themselves. Agile therefore differs from traditional management approaches that favour top-down decision-making and planning. Agile planning is bottom-up.

Agile tools and practices

Some of the most common agile development tools and methods include Scrum and Extreme Programming.

Led by a Scrum Master, a Scrum development team take user stories which describe the customer needs, or requirements, and turn them into working software in a repeated cycle of fixed time intervals, known as Sprints. The user stories are prioritised by the Product Owner and placed into a Product Backlog, which forms a list of the customers’ requirements.

In Scrum the recommendation is to have cross-functional teams involved in the development process. In other words, each team member can do a bit of testing, some coding, some analysis, and some design. Specialists are frowned upon in favour or T-shaped developers who have a broad range of knowledge and skills.

Agile Alliance

Some of the signatories to the Agile Manifesto such as Martin Fowler and Jeff Sutherland later went on to form their own agile framework or agile organisation, promoting a variety of agile methods. Probably the most successful has been the Agile Alliance which promotes Scrum methodology training and certification to a wide audience.

DevOps

Recently, other areas (most notably DevOps) have adopted key agile concepts to speed up time to market. DevOps focuses on automation tools to help deliver software releases more quickly to the customer.

This website use cookies.