Overview of Agile Methodology

What Is Agile?

The Agile movement proposes alternatives to traditional project management and software development .  Agile approaches are typically used in software development to help businesses respond to unpredictability.

What is Scrum?

Scrum is the most popular way of introducing Agility. Scrum has garnered increasing popularity in the software community due to its simplicity. Because of this popularity, many organizations claim to be “doing Scrum” but aren’t doing anything close to Scrum’s actual definition. Scrum emphasizes empirical feedback, team self management, and striving to build properly tested product increments within short iterations.

Where Did Agile Come From?

In 1970, Dr. Winston Royce presented a paper entitled “Managing the Development of Large Software Systems,” which criticized sequential development. He asserted that software should not be developed like an automobile on an assembly line, in which each piece is added in sequential phases. In such sequential phases, every phase of the project must be completed before the next phase can begin. Dr. Royce recommended against the phase based approach in which developers first gather all of a project’s requirements, then complete all of its architecture and design, then write all of the code, and so on. Royce specifically objected to this approach due to the lack of communication between the specialized groups that complete each phase of work.

Why Agile?

Agile development methodology provides opportunities to assess the direction of a project throughout the development lifecycle. This is achieved through regular cadences of work, known as sprints or iterations, at the end of which teams must present a potentially shippable product increment. By focusing on the repetition of abbreviated work cycles as well as the functional product they yield, agile methodology is described as “iterative” and “incremental.” In waterfall, development teams only have one chance to get each aspect of a project right. In an agile paradigm, every aspect of development — requirements, design, etc. — is continually revisited throughout the lifecycle. When a team stops and re-evaluates the direction of a project every two weeks, there’s always time to steer it in another direction.

Advantages of Agile:

  • Transparency
  • Early and Predictable Delivery
  • Predictable Costs and Schedule
  • Allows for Change
  • Focusing on Business Value
  • Focusing on Customers
  • Improving Quality

Disadvantages of Agile:

  • If a task is not well defined, estimating project costs and time will not be accurate. In that case, the task can be spread over several sprints.
  • If the team members are not committed, the project will either never complete or fail.
  • It is good for small, fast moving projects as it works well only with small team.
  • This methodology needs experienced team members only. Otherwise the project cannot be completed in time.
Gopal Das
Follow me

Leave a Reply

Your email address will not be published. Required fields are marked *