The agile methodology is a process for designing, delivering and testing high-quality software at the lowest cost and in the shortest possible time. The heart of the process centers around iterative development — namely, enabling teams to deliver faster with a greater ability to respond to change.
While agile methods are also used in project management as well as software development, they originated from an ‘Agile Manifesto’ created in 2001 by a group of 14 leading figures in the software industry.
What are the different types of agile methodology?
- Agile Scrum – Similar to an assembly-line approach, each team works on delivering “potentially shippable increments” of a software project during successive sprints, each one typically lasting 30 days. Priorities are established beforehand in a ‘product backlog,’ which can include things like bug fixes, adding features, etc.
- Lean Software Development – The goal of lean development is to eliminate waste by asking users to select only the truly valuable features of the system and then work to deliver them in small batches. Emphasizes a quick go-to-market strategy through the concept of “failing quickly” to get user input as fast as possible and then reiterating.
- Kanban – A visual workflow management method aimed at helping teams visualize the tasks at hand without looking too far ahead and causing overwhelm. When something is finished, the next highest priority from the backlog is pulled into play.
- Extreme Programming (XP) – This is the most user-centric software development method, where the customer works closely with the development team to define/prioritize user stories. Software is developed and tested on an iteration-by-iteration basis with a continuous feedback loop from the customer.
- Dynamic Systems Development Method (DSDM) – Unlike XP, DSDM focuses on “fitness for business purpose” as a prioritization framework, focusing on the useful 80% of the system that can be delivered 20% of the time. System requirements are planned and delivered in sprints, and all development changes must be reversible in case rework is needed.
- Feature Driven Development – Focuses on developing one specific feature at a time deemed most “useful in the eyes of the client.” If a feature takes more than two weeks to build, it will have to be broken down into smaller projects.
Which agile methodology is best?
Scrum and Kanban are two of the most widely used agile methods, but companies favor different methods based on their company culture, leadership and the industry in which they operate.
Why do I need to know about agile methodology?
Hiring managers often ask candidates to describe the software development life cycle and agile methodology during the interview process for a software engineering job. Demonstrating that you understand the agile method conceptually — even if you’ve never worked with it before — shows the interviewer that you’re production-minded, and not just fixated on coding.
Hiring managers tell us that a key skill new grads lack is production, which is very different from simply working on projects on your own as it involves software testing, iterating based on user feedback, and navigating the “downstream effects” of changing the source code.
What are the objectives of the agile methodology?
- The agile methodology anticipates change and allows for more flexibility than traditional methods.
- This flexibility enables the company to prioritize people over processes. Ensures the customer is heavily involved in production while also allowing internal teams to have more say in the final product than in a top-down approach.
- Continuous iteration allows for greater responsiveness to changing market tastes/consumer feedback while controlling for costs.
- It keeps each project transparent by having consistent meetings with the client or customer and allows everyone involved to access project data and progress.
What companies use the agile methodology?
While startups are more likely to use “lean” methods for going to market quickly, many legacy companies have adopted agile methods to keep up with the pace of tech innovation. IBM is one of the most high-profile companies that openly uses the agile method.
In fact, IBM even incorporates this approach into its hiring methods (emphasizing diverse teams) and workplace design (“tearing down walls and building collaborative spaces”) to make it not just a project management philosophy but the core of its company culture.
Other Fortune 500s that use the agile methodology include Microsoft, Cisco, AT&T and Apple.