Floreth's Blog 2016-08-26 09:40:00

Agile software development 

After reading tons of definitions of what exactly is Agile, i think i finally came up with a simple and easy to comprehend definition: Agile development is a different way of managing IT development teams and projects, this movement seeks alternatives to traditional project management. 
Agile methodologies are an alternative to waterfall, or traditional sequential development.

Agile started of with the

The use of the word agile in this context derives from the agile manifesto. This declaration was formed because people were unsatisfied with the traditional approach to managing software development projects. The agile manifesto describes 4 important values:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan
Ever since then, the use of methods that support these values has become increasingly popular.
They are 12 main principles that are common between agile methods, and these principles are what make Agile different from other approaches to software development like Waterfall.

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and design enhances agility.
  10. Simplicity--the art of maximizing the amount of work not done--is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
They're various methodologies that promote the values of the agile manifesto and follow the 12 principles, the most popular are:
  • Scrum: It concentrates particularly on how to manage tasks within a team-based development environment, with the goal of delivering new software capability every 2-4 weeks. 
  • XP (Extreme Programming)
  • DSDM
Blog Partner:

Sources & Links: