Every one, everywhere is talking about agile now a days…….
Are we all aware of what exactly agile methodology is.?
Even I don’t know much about it, but surely can revise some basic concepts and then try to dive deep into it.
When I heard word “Agile” for the first time, I tried to find the synonym from my dictionary and understood that Agile means “Able to move quickly, characterized by quickness, nimble”.
Now how this word is related to project management.
Today, the pace of project management moves faster. Project management needs to become more flexible and far more responsive to customers. Whenever any hurdle appears during the project implementation, quick and flexible move/ decision without affecting the quality of the product and achieving all these goals without compromising value, quality, or business discipline is Agile Pro
- The agile model emphasizes on the fact that entire team should be a tightly integrated unit. This includes the developers, quality assurance, project management, and the customer.
- Frequent communication is one of the key factors that makes this integration possible. Therefore, daily meetings are held in order to determine the day’s work and dependencies.
- Deliveries are short-term. Usually a delivery cycle ranges from one week to four weeks. These are commonly known as sprints.
- Agile project teams follow open communication techniques and tools which enable the team members (including the customer) to express their views and feedback openly and quickly. These comments are then taken into consideration when shaping the requirements and implementation of the software.
ject Management (APM) is what I understood.
In late 90’s several methodologies began to get increasingly public attention. Each had a different combination of old and new ideas and emphasized close collaboration between the programmer team and business experts, face to face communication, self-organizing teams
Various methodologies are collectively known as agile such as Rational Unified process (1994), Dynamic Systems
ethod-DSDM (1995), Scrum (1995), XP (Extreme Programming) (1996), Adaptive Software development, FDD- Feature Driven Develop
The various agile methodologies share much of the same philosophy, as well as many of the same characteristics and practices. But from an implementation standpoint, each has its own recipe of practices, terminology, and tactics.
There are many differences in agile development model when compared to traditional models:
- ‘Agile’ is an umbrella term used for identifying various models used for agile development, such as Scrum. Since agile development model is different from conventional models, agile project management is a specialized area in project management.
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. Thus agile development is a different way of managing IT development teams and projects.
Agile is not a magic method for all software development issues. The real trick is to know lots of techniques from various waterfall and agile development methods, and to select a mixture of the best approaches that are appropriate for any situation.
Agile model believes that every project needs to be handled differently and the existing methods need to be tailored to best suit the project requirements.
Agile Methods break the product into small incremental builds. These builds are provided in iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves cross functional teams working simultaneously on various areas like planning, requirements analysis, design, coding, unit testing, and acceptance testing.
At the end of the iteration a working product is displayed to the customer and important stakeholders.
Let’s dive into Agile Methodologies value for more clarification
- Individuals and interactions– in agile development, self-organization and motivation are important, as are interactions like co-location and pair programming.
- Working software– Demo working software is considered the best means of communication with the customer to understand their requirement, instead of just depending on documentation.
- Customer collaboration– As the requirements cannot be gathered completely in the beginning of the project due to various factors, continuous customer interaction is very important to get proper product requirements.
- Responding to change– agile development is focused on quick responses to change and continuous development.
We always talk about agile methodology but forget about 12 Principles behind Agile manifesto, so let’s have a sneak peek on these principles:
- Our highest priority is to satisfy the customer through early and continuous delivery
of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around 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 conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace 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.
One of the methodology that I have implemented in my projects is Scrum. Scrum is an iterative and incremental agile software development framework for managing software projects and product or application development.
Now a days many agile tools are available in market to follow and implement these principle and methodology while executing projects, one of the tool that I have used and like most is Scrum Total ” www.scrumtotal.com“.
For more details about Scrum Total visit: “https://www.youtube.com/embed/AN9IraZxPdg”