Agile 101

Don€™t know jack about Agile?
Or just brushing up on your Agile knowledge?

Welcome to
VersionOne€™s Agile 101

DIVE IN

Agile 101 General Learnings

agile_icon01Agile Methodologies The various agile Scrum methodologies share much of the same…

agile_icon02Agile Benefits Agile methods grew out of the real-life project experiences of…

agile_icon03Agile Hallmarks Successful agile development projects seem to share several key…

Are You Agile? The most agile teams we know of are consistently delivering…

What is Scrum? Scrum is an agile project management methodology or framework…

Community Helpful reading materials, definitions, websites and more…

Agile Customers &
Management Best Practices

You can divide agile practices roughly into 1) customer and management practices, which address agile requirements analysis, planning and project management, and 2) programmer practices, which address how to work with the code in an agile way.

OVERVIEW

agile101_gery01Feature Estimation In agile development, a feature is a chunk of functionality that…

Release Planning Planning and estimating in the agile world depend on a single key…

Iteration Planning Iteration lengths typically range between 1 and 4 weeks. The team holds a…

Iteration Tracking As teams progress through an iteration, it is important to understand the…

Velocity Velocity is an extremely simple, powerful method for accurately measuring…

Charting Progress After a release has been defined, iterations have been scheduled, and…

Programmer Practices

After a release has been defined, iterations have been scheduled, and features to be created during the iteration have been turned into tasks and tests, the real work begins. The team can actually start working through their tasks and building the intended product.

OVERVIEW

Test-First Programming Agile teams often find that the closer the unit test coverage of their code…

Pair Programming Agile teams, committed to frequent, regular, high-quality production, find…

Refactoring Refactoring is the process of clarifying and simplifying…

Common Codebase A common codebase is, simply, shared by as many programmers on the team…

Continuous Integration Traditional software development methods don€™t dictate how frequently or…

Coding Standard If programmers all adhere to a single coding standard (including everything…

Simple Design Agile teams are under pressure to deliver working, tested code at the end…

Open Work Area During the Second World War, when England absolutely had to learn how to…

product-image

What Is Agile
Software Development?

“Agile Development” is an umbrella term for several iterative and incremental software development methodologies. The most popular agile methodologies include Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD).

While each of the agile methodologies is unique in its specific approach, they all share a common vision and core values (see the Agile Manifesto). They all fundamentally incorporate iteration and the continuous feedback that it provides to successively refine and deliver a software system. They all involve continuous planning, continuous testing, continuous integration, and other forms of continuous evolution of both the project and the software. They are all lightweight, especially compared to traditional waterfall-style processes, and inherently adaptable. What is more important about agile methods is that they all focus on empowering people to collaborate and make decisions together quickly and effectively.

The Evolution of the Agile
Development Methodology

Many of the individual principles and practices that are promoted by agile development have been around for years, even decades. As opposed to implementing these best practices piecemeal, agile methodologies have “packaged” various customer, management, and in some cases, engineering practices and principles together in a way that helps guide teams through the process of rapidly planning and delivering working, tested software. Each of the agile methodologies combines both old and new ideas into refinements that are certainly greater than the sums of their parts.

While it is true that many of the practices associated with agile development have been around for quite some time, the average software development team has yet to embrace many of the principles and practices. Even today, the average software team does not iterate, does not deliver software incrementally, and does not practice continuous planning nor automate testing. Now that these practices have been combined in a manner that can more easily be understood and adopted, the trend appears to be rapidly changing for the better, especially during the last several years.

As with any new way of doing business though, Agile methods have generated quite a bit of controversy within the software community. Yet since their emergence, in project after project, they have continued to deliver higher quality software systems in less time than traditional processes. If you are a software development professional, you definitely owe it to yourself to become familiar with the theory and practice of agile development. Hopefully the information presented on this site can assist you in learning what agile is all about.

Looking for Agile Development Platform
and Tools to Support Your
Agile Development Methodology?

VersionOne is designed from the ground up to support today€™s leading-edge agile development methodologies such as Scrum, XP, Lean/Kanban and hybrid. Learn more about how VersionOne€™s agile project management tools help teams of all sizes, from single teams to distributed enterprises, scale agile faster, easier and smarter.

VERSIONONE€™S AGILE PROJECT MANAGEMENT TOOL