Why Agile?

To survive and thrive in this competitive world, one must adapt to new technologies and reforms. Its easy for an individual to adapt the change, but, what if we want an organization to adapt that change? One must agree with the statement that the struggle is real!

One of the key metrics for any organization to be successful is customer satisfaction and retention. But, will the customer would ever be satisfied with the output we provide? Definitely not! If we focus only on output but not the outcome. But, if we want to be in the race, we must be on sustainable pace with everything by adapting to New in the tech world. If you are into development and testing business, you should have heard of or tasted the essence of Agile in your organizations. So, what exactly is Agile and why has it become so popular so quickly? Let’s explore.

It is common to have comprehensive understanding towards Agile, because of its different methodologies that are part of development. That’s not an easy job to understand, as Agile is constantly evolving. Now a days companies are choosing Agile, leaving legacy tools (Waterfall) behind.

Let’s see why.

In Waterfall, we have structured software development methodology and it’s rigid. It considers project as a whole and divides into different phases with in the single unit which is considered as the life cycle of the project. If we want to follow Waterfall, we have to be very clear with requirements as there is no scope for change of requirements in the near future. And the focus of Waterfall is to complete the project development. Whereas, Agile is flexible for every aspect discussed.

The main aim of Agile is to provide Customer satisfaction by accepting the change requests at every point and time of the project. By accepting the features and requirements at every stage of project, how we will move further and reach the timelines?

Agile methodologies are rooted in adaptive planning and continuous improvement. Every software team has a process they use to complete the work. In Agile, it takes an iterative approach to workflow management because it helps us meet our goals faster and improve our team culture. Iterative approach over Structured? Yes, we must follow iterative approach to achieve our motto.

To put in simple words, it will be easy for a Team if a smaller time in the future is predicted than predicting the entire life cycle of a project. Agile is a Project Management Methodology which helps us to predict the very near future and make our assumptions more probable.

We have different methodologies in Agile. They are Scrum, KANBAN board, Test Driven development (TDD), Behavioral Driven Development (BDD), Acceptance Test Driven Development (ATDD). It depends on individual organizations to start or to choose which methodology to follow for practicing Agile.

We may feel challenged or confused when we are stacked with requirements and change requests. But Agile is all about Sustainable pace, we achieve that with good estimations, effective strategies for development and testing to protect quality in queue. So, now we have understood that Agile is a team work. Every member in the team should develop good communication with every other team member. It relies on more frequent touch points between developers and testers, testers and BAs, and BAs and Developers, to make sure any changes are properly communicated.

Let’s see a case study of an organization before Agile and after Agile. There is an Organization which works for Metro railways. The three core challenges they have faced is, each member in a team working on different modules of the project where they have lack of track of work who is working on which. Second, we know testing comes at last phase in the project life cycle. So, it’s difficult for testers to carry out the testing on a whole which could lead to test failure due to something trivial which can affect the quality and timelines. Third, as developers code rolls up into one big release this setup makes it difficult to inform stake holders about product quality though out each sprint.

Is it possible to overcome these issues in the project management? It’s possible by following one of the Agile methodologies – Scrum. The 30 mins meetings are called Scrums and the tasks listed for next 30 mins are called Sprints. Scrum involves breaking down each project into prioritized requirements and delivering each within an iterative cycle. Iterative events are called Sprints. Sprints are fixed length of iterations in which Team decides on what to complete in the coming sprint, what have done in the last sprint and a review of what did and didn’t go well with actions to make next sprint better. Also, we have a 15miutes meeting called Stand up for the software team to sync on the daily basis.

So how come metro railways sorted out their problem with Scrum…? In Scrum we have different roles like a Project Manager, a Scrum Master, Developers and QA Team. Successfully initiate a scrum project with the team. Now in daily stand up meetings they can have a track of every team member on what they are working, and Scrum master helps team to estimate time for user stories for which they have to work upon in that sprint for the first few iterations. At each phase they release the new build with the functionality of user stories they decided to work upon in that sprint. And to develop further they should know the existing is working fine for which they need testing. Like this testing involves in each release which helps testing team to maintain quality. For better maintenance of project, team can use any Test Management tool for better tracking of requirements, sprints, test cases and defects which helps team to connect and work together in pace. Customer had more control over the course of project as they need to help the team with detailed requirements for every sprint planning.

By following Agile we can have following advantages:

  1. High customer satisfaction and reduced risks of failure.
  2. Developers will build strong relationships with product management, design, QA, and operations
  3. Strong connections means strong product.
  4. Culture of the teams will improve.
  5. Transparency of the work.
  6. Timelines are predictable and accurate.
  7. Cost of the project is predictable.

Everything in the world has other side and so Agile, it has its joys and pains.

  1. The major struggle in making Agile work is getting teams to work together.
  2. Totally undocumented software on a more frequent basis.

Jeevan

Related posts

Challenges bring the best out of us. What about you?

We love what we do so much and we're always looking for the next big challenge, the next problem to be solved, the next idea that simply needs the breath of life to become a reality. What's your challenge?