Skip to main content

What is Agile?

                             


Recently I did a presentation after almost 20 years at a Bootcamp showcase on Agile. As Agile celebrated its 20th anniversary this year I decided to talk on what Agile is? Below are the few drops from Agile's ocean which I managed to pour during my showcase.


What is Agile Software Development?


Agile is a time boxed, iterative approach to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end.

It works by breaking projects down into little bits of user functionality called user stories, prioritizing them, and then continuously delivering them in short time cycles called iterations.


              



In iterative development, feature code is designed, developed and tested in repeated cycles. With each iteration, additional features can be designed, developed and tested until there is a fully functional software application ready to be deployed to customers.



Agile Manifesto


We know about Agile Software Development. We often hear  terms like Agile Tester & Agile Testing But what exactly does being Agile mean ? Let’s start with an exploration of this term. Agile is not a methodology but  its a set of values and principles which collectively known as “Agile Manifesto”. You have to follow these values &  principles if you want to work in an agile manner. 



         


                            


Agile Values 

In the next four slides you can see there are values written on the right  side and left side. Agile Manifesto states that while there is value in the items on the right, we value the items on the left more.

  1.  Individuals & Interactions over Processes and tools


Getting the right people on the team (individuals) and helping them work together (interactions) are much more important than following any specific process and or using a particular tool. 


  1. Working Software over comprehensive documentation



while documentation isn’t a bad thing But The Agile Manifesto places delivering software to your customers as one of the highest priorities.


  1. Customer collaboration over contract negotiation


Agile principles require customers to be involved in all phases of the project.If the customers are kept in the loop during the development process, the team can ensure that the final product meets all the requirements of the client.


  1. Responding to change over following a plan



Traditional software development considered change as an expense. It was to be avoided. According to Agile, the shortness of an iteration means priorities can be shifted from iteration to iteration and new features can be added into the next iteration. Changes always improve a project and provide additional value.


Agile Principles




  1. Satisfy the customer through early and continuous delivery of working versions of products.

  2. Welcome changing requirements even late in development.

  3. Deliver working software frequently.

  4. Business people and developers must work together daily throughout the project.

  5. Build projects around motivated individuals who are supported and trusted to get the job done.

  6. Use face-to-face conversation whenever possible.

  7. Working software is the primary measure of progress.

  8. Maintain a constant pace indefinitely.

  9. Give constant attention to technical excellence and good design.

  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. Reflect on how to become more effective, then tune and adjust accordingly at regular intervals.


Agile Framework 


Agile is an umbrella term for several iterative and incremental software development approaches, based on the agile values and principles set out in the Agile Manifesto. The most popular Agile frameworks include Scrum, Kanban, Crystal, Extreme programming (XP) Dynamic Systems Development Method(DSDM), and Feature-Driven Development(FDD) & Rational Unified Process (RUP). 


                       



While each Agile methodology type has its own unique qualities, they all incorporate elements of iterative development and continuous feedback when creating an application. Any Agile development project involves continuous planning, continuous testing, continuous integration, and other forms of continuous development of both the project and the application resulting from the Agile framework.

Each Agile framework is considered lightweight. Rules and practices are kept to a minimum, are designed to be adaptable to all kinds of circumstances. This process assures quality is “built” into the product, versus inspecting for quality later.



Comments

Popular posts from this blog

Day 7 Name five examples of an ecommerce platform?

  An ecommerce platform is a software application that allows online businesses to manage their website, marketing, sales and operations. Following are the examples of 5 best ecommerce platforms in 2020. Shopify (www.shopify.com) Woo Commerce (woocommerce.com) Big Commerce (www.bigcommerce.com) Magento (magento.com) Wix eCommerce (www.wix.c om/ecommerce/ )

Day 15 Name five different online payment methods.

Most modern online payment services offer easy-to-use, fast and secure ways to pay Here’s a list of some of the most popular online payment services: Digital Wallet ( E wallet) A digital wallet refers to software, an electronic device, or an online service that enables individuals or businesses to make transactions electronically. It stores the payment information of users for different payment modes on various websites.                           PayPal PayPal is one of the most dominant payment methods available today. over 20 million UK shoppers use PayPal each year in the UK and  7 million businesses worldwide use their platform to accept payments. PayPal is an eCommerce payment processing company that allows users to set up a PayPal account and pay a fee for each cash transaction. Many customers prefer to checkout with PayPal because it’s so simple and quick to use. Amazon Pay Amazon Pay is another ...

Why I believe I love software testing.

  “Find out what you like doing best and get someone to pay you for doing it. " —Katherine Whitehorn I was introduced to the world of Software Development in my last company(2012)  when my company decided to develop software to manage inventory & I got a chance to participate in User Acceptance Testing. I really enjoyed those tasks & that triggered my interest in Software Testing. After almost 8 years of a break when I decided to start my career again, my first choice was Software Testing. Here are some reasons why I wanted to work as a Software Tester. To be successful in a job, you should love and enjoy what you do.  These are the reason why I enjoy being a tester Challenging job: I always enjoy taking up challenges.  It can be really challenging to find a bug no one thought existed in software and assumed to be working correctly. It takes especially critical eyes and thought processes to find these kinds of problems and solve them. No repetition of work: ...