ACKNOWLEDGING THE COMMON GOOD OF AGILE

Praising the good of Agile and abrogating the negativity it brings

BY LOGAPPS LLC

With software development cycles getting shorter and shorter due to the demand for faster time-to-market, Agile offers a project management style suited to the ever-changing software development environment.

It’s a common misconception that Agile development methodology is a no-documentation-little-planning-and gun-ho-developers-on-the-loose Google style of project management compared to the traditional Waterfall methodology. Critics say Agile promises solutions it cannot deliver promotes sloppy requirements, hides the true cost of development, prevents effective management, and only works when products are in proof-of-concept phase. They argue that the latter leads to long-running projects, dissatisfied customers, and overall IT ineffectiveness.

Advocates for Agile know it can ensure customers’ expectations are met, products are delivered on time, and a motivated environment is created that can quickly adapt to change.

BACKGROUND

Agile is a quick and efficient process of software development using frequent and complete releases of software, allowing the stakeholders to test the product and provide feedback through an iterative and incremental process.

Organizations like The Project Management Institute (PMI) are gradually adopting Agile as a valid project management methodology with its new certification, PMI-ACP, PMI Agile Certified Practitioner.

FLEXIBILITY

Agile provides more flexibility compared to a traditional waterfall methodology. Waterfall has scope as a constant, not willing to be moved or negotiated with, the other aspects of the project management triad –schedule and cost – must be adjusted accordingly. With Agile, schedule and cost are the major determining factors, and it is scope that changes to accommodate acceptable business demands…the client’s needs. For mature Agile teams, this level of flexibility is brought about by years of experience working together. Traditional Waterfall does not allow this level of flexibility. Once a stage/process has ended there is no going back to adjust.

INSTANTANEOUS FEEDBACK

Agile’s interaction provides immediate feedback to the client and management. Agile Scrum methodology calls for smaller release cycles known as interactions with other nomenclatures having similar meanings such as story points, sprints, drops, demos, etc., in which the product is always in a ready-release state. This ready-release state is made possible by continuous feedback from all stakeholders from product owners and end users to the development and quality assurance teams. Comments, corrections, and suggestions are immediately passed on to the developers and testers, who in turn judge if such changes can be accomplished without negatively affecting the schedule, cost, and current/future delivery of features. Standard iteration cycles usually span 1-2 weeks; thus, end users see progress in a shorter amount of time compared to the Waterfall methodology with cycles spanning 1-2 months.

PROACTIVELY HUNTING DEFECTS

Agile gives organizations the capability to present the final product with few defects because quality assurance testing is done on each cycle. In a CIO article by Lajos Moczar, he argued that focusing on the continuous delivery of software value creates an “unmanageable defect backlog while developers work to put something in front of the customer”. Since QA cannot stamp a release as “client ready” if it is not working properly, and the Agile methodology requires that each iteration be a virtually finished product, defects are detected very early. Thus, Agile does not promote the practice of ignoring defects but simply prioritizes and takes corrective actions on the fly. The continuous process of “develop, build, and test” also cuts down on the number of defects as the cycles go on. Combine manual and automated testing and you drastically increase test coverage before the final product is released. Agile team composition should consist of at least 1 person who spends between 80-90% of their time taking on the roles and responsibilities of the quality assurance analyst or engineer and 1 person dedicated to testing activities. This will help reduce the defect rate while improving awareness and mitigation practices, thus cultivating a quality software product.

Agile may not be for everyone and the same goes for Waterfall but that begs the question – what is the right project management methodology for your organization and what software development approach should we use for any given software project? Well … it depends!

WANT TO LEARN MORE? CONTACT US TODAY