Agile – starting in a new team

Ever been in a team without any structure or processes? Well, the experience is something that we all might have had at some stage or the other.

If not, imagine coming in to work one day and having to start in a new team. There’s a lot of excitement because you have a chance to begin from scratch and essentially make a new start. However, it is not always as easy as it looks upon first glance.

The biggest challenge is finding common ground and building a working process/es around it to accommodate and suit the needs of the team.

For many years, the IT market was based on waterfall approach to software development projects. Then from nowhere, the agile methodology entered the scene and quickly dominated and capsized it. This happened more than 15 years ago and whilst it has been this long, it is still a new concept for many and often misunderstood.

Not to bombard you with terminology and long descriptions explaining the waterfall approach as everything in life as we know it can be “summed up”. It is a sequenced development process which usually consists of 8 phases. It is a step-by-step, continuous process, that’s why once a step is completed, it is really difficult to go back to the previous step. Also, there is not much support for changes, so the project plan must be extensive and detailed from the beginning and then followed carefully.

The phenomenon of Agile came as a solution for traditional waterfall limitations. Its incremental approach completely has changed the way of handling projects. The main characteristic is the idea of sprints – short iterations that usually last a week, two weeks or a month and consist of planning, coding and summarising, which resembles a tiny waterfall project. At the end of each sprint, the project is tested, deployed and future plans and priorities are re-evaluated. Agile approach gives a greater value for money because of the tasks prioritisation and incremental delivery.

Agile methods or processes generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.

There are 4 ceremonies which are the main players in the agile world:

  1. Sprint Planning – used to flesh out intimate details of the work that needs to get done
  2. Daily Stand-up – In rugby, the team huddles before each play. The huddle is strategic: it keeps the team informed, connected, and calibrated throughout the game. For software teams, the stand-up is like the team’s huddle.
  3. Iteration review/Demo – provides a way to gather immediate, contextual feedback from the team’s stakeholders on a regular cadence.
  4. Retrospective – held at the end of a sprint to provide ongoing guidance for the team to keep things going well.

In a nutshell, it’s an organised and structured way of working designed to accommodate and facilitate change and mitigate risk at an early stage in a project life cycle. Is it the best way forward…. In my opinion YES!

Author: Sutasha Dookhi – Lead .NET Developer