What is Agile?

When the requirements are very clear and when the technology is familiar, we can use Predictive or Waterfall models. Then there are projects where requirements are continuously evolving and technology is also very new. AI projects is a classical example. For most, technology and requirements of AI projects are new, hence it is very difficult to estimate things upfront. High level and detailed design phases of EPC projects are no exception. In these projects, waterfall models will not hold good. In such projects, agile is a better choice.

What is really Agile?

Agile is principle centered not rule based. Hence it makes it easy to understand but difficult to practise. Agile project management is well suited for projects where;

  • Requirements are not very clear
  • Technology is not very clear

Most of the new product development falls into this category.

Agile Manifesto Values:
  1. Individuals and interactions over processes and tools: This value prioritizes the importance of people and their interactions in software development over relying solely on tools and processes. It emphasizes the significance of communication and collaboration within development teams.
  2. Working software over comprehensive documentation: Agile emphasizes the delivery of functional software over extensive documentation. While documentation is important, the primary measure of progress is working software that meets the needs of the customer.
  3. Customer collaboration over contract negotiation: Agile encourages active involvement and collaboration with the customer throughout the development process. This ensures that the software being developed aligns with the customer’s needs and expectations.
  4. Responding to change over following a plan: Agile recognizes that change is inevitable in software development. Instead of rigidly adhering to a fixed plan, Agile methodologies advocate for embracing change and adjusting plans and priorities accordingly to deliver the most value.

Agile principles and values are the foundation of Agile methodologies. Here they are:

  • Customer satisfaction through early and continuous delivery of valuable software
  • Welcome changing requirements, even late in development.
  • Agile processes harness change for the customer’s competitive advantage.
  • Deliver working software frequently, with a preference for shorter timescales.
  • Business people and developers must work together daily throughout the project.
  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • Working software is the primary measure of progress.
  • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  • Continuous attention to technical excellence and good design enhances agility.
  • Simplicity–the art of maximizing the amount of work not done–is essential.
  • The best architectures, requirements, and designs emerge from self-organizing teams.
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

These principles and values guide Agile teams in delivering high-quality software that meets customer needs while adapting to change efficiently.

The best way to understand Agile is to master Scrum framework in detail

Click here to download the Scrum Guide