Introduction to Agile
Hi All, Today we will start our blog series about Agile Methodology, We will start this blog with Introduction to Agile and Why Agile?
Before Agile most development teams using the Waterfall approach, Waterfall is a development methodology that follows a set path in which teams:
- Gathering Requirements and setting the scope of work.
- System Design based on those requirements determined.
- Implementation of the system
- Test the system.
Waterfall teams stick to the requirements and scope of work determined at the beginning of the project and they can’t make any changes or additions along the way. The team must follow the fixed plan since Waterfall’s priority is to bring a complete product to market – this means it could take years before the teams finish the project at hand.
During these years, the nature of the problem would change (but the project requirements that were set in the early stage would not), and the planned solution was out of date by the time it finally got to market. On the client side, that delay means that critical problems would be unsolved for years at a time.
On the developer side, this method means bringing new products to market that don’t fit the market now. So development teams simply dropped the work along this way as it delivered an outdated product. As a result of these difficulties, we can consider that the Waterfall methodology is the adversary in Agile history.
What is Agile?
Agile is an iterative approach to software development methodology using short iterations of 1 to 4 weeks.
The Agile Manifesto, In 2001
Agile as a project management approach was introduced to the world in 2001 in the United States. At a ski resort in the Wasatch mountains of Utah, 17 self-proclaimed organizational anarchists came together and combined several lightweight processes to create what we know today as the Agile Manifesto.
The agile manifesto consists of 4 values and 12 principles, The values state that:
- Individuals and interactions.
- Working software.
- Customer collaboration.
- Responding to change.
The 12 principles of Agile state that:
- The highest priority is to meet the customer through early and continuous delivery of worthy software.
- Embrace the change of requirements anytime, even in the late development process.
- Deliver software that works well.
- The client-side people and the developers must work together daily throughout the project.
- Build projects through 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 information to and within a development is face-to-face conversation.
- The performance of the software is the main measure of the progress of the team.
- Agile processes promote sustainable development. The client, developers, and users should be able to maintain a continuous movement 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.
See you in the second blog, We will talk about Agile Frameworks, Don’t forget to follow up on our blog series.
IOS developer at Rabbit Technology