About the author
Hi, I'm Kelly, a hiking addict, ramen eater, drummer, vintage furniture lover and holistic wordsmith. I love learning!
Visit profileAgile Development is a type of software design methodology that emphasizes customer satisfaction by optimizing the development process through various strategies. There are many types of Agile Development, including:
- Scrum
- Lean Software Development
- The Kanban Method
- Extreme Programming (XP)
- Crystal
- Dynamic Systems Development Method (DSDM)
- Feature Driven Development
All Agile methodologies have certain principles in common that contribute to their popularity and success in the development sphere.
Iterative Development
In Agile Development, planning, designing, coding, and testing repeat many times throughout the project. Different parts of the project occur in sprints, which are short periods of time in which rapid development will occur. This allows developers to make changes quickly and effectively.
Effective and Frequent Communication
Throughout the entire process, an Agile team will seek input from the client. Client representatives, business analysts, project managers, and developers have frequent meetings and communication to make sure everyone knows what the current priorities are. Client satisfaction is essential, and by offering frequent deliverables (working parts of the project), clients can request changes at any point in the process.
Consistent Progress and Quality
Working software components are the main measure of progress for an Agile Development team. Developers create high-quality components, and consistent progress becomes sustainable through effective team organization and management. Two programmers often will code together in pair programming to ensure quality. Additionally, unit testing, continuous integration, and frequent refactoring are strategies that optimize quality.
Simplicity…
…is an important principle that optimizes progress and quality. By eliminating unnecessary work and only focusing on the essentials for a given part of the project, development occurs faster and meets client expectations.
This post is part of a series about Agile Development and how we use agile approaches at the IC. Get updates to this series and more new ideas by signing up to our newsletter.