Agile Development - A Brief Introduction

Agile is based upon a number of guiding principles thatframework is empowering because it enables
all Agile teams follow. For the purposes of thiscontinuous improvement, with testing/quality
discussion, three principles - or values - are ofassurance occurring as part of the iterative process,
particular interest:o Quality software developmentorather than only periodically or at the end of a long
Iterative flexibilityo Continuous improvementprocess when it is often difficult or not cost
Quality Software Developmenteffective to fix coding defects or to incorporate
The primary focus of Agile development is to enablelessons learned along the way. Agile also makes the
the development of quality software that satisfies atesting and QA process transparent to the
customer need - i.e. provides a functioning feature ordevelopers who originate the source or static code
capability - within a specific period of time (typicallyanalysis, further contributing to their learning and
no more than a few weeks) called an "iteration". Infacilitating future improvements and coding
theory, a product developed in an Agile environmentefficiencies.
could be market-ready after each iteration.Bug-Free Code Greases Agile's Wheels
Delivering a series of market-ready products, each inOne of the development principles put forth in the
just weeks, demands that a rigorous quality processAgile Manifesto (widely recognized as the de facto
be built into the Agile development cycle. Eachdefinition of Agile) states that, "Working software is
iteration must be fully developed: tested, defect-free,the primary measure of progress." Working software
and complete with documentation. Our expert teamimplies software that is free of issues that break
solve source code analysis problem easily with widebuilds, cause unexpected behaviour, or which do not
experience.meet the product's requirements, as well as mundane
Iterative Flexibilityprogramming defects (a.k.a. "bugs").
With a focus on speed and nimbleness, Agile is openThis principle is not unique to Agile - many software
to changes that inevitably arise throughout thedevelopment processes, including formal ones such as
development cycle. The iterative process is flexible,CMMI and Six Sigma, encourage the creation of
based on an understanding that original requirementsbug-free code as a fundamental principle. These
may (or will likely) need to change due to customerprocesses encourage in-phase bug containment - the
demand, market conditions, or other reasons.practise of preventing bugs from being passed
Because business users are involved throughout thedownstream from the phase in which they are
process, and because each iteration is short, newcreated. Agile also implicitly emphasizes in-phase bug
requirements can be introduced and prioritized verycontainment. Given its focus on short iterations, Agile
quickly.processes must ensure that any potential software
Continuous Improvementdegradations are quickly identified and corrected so
An Agile environment provides developers with anthat the whole team can move on to the next
opportunity to learn new skills and to exerciseiteration - all while creating functionally complete,
greater autonomy to do their jobs. The iterativeworking software.