Principles of Agile

Agile is an umbrella term for a family of methodologies such as Extreme Programming (XP), Scrum, Crystal, Feature-Driven Development (FDD), DSDM, and others. Agile offers several paradigm-shifting concepts, including a project management approach based on frequent inspection and adaptation, teamwork, self-organization and accountability; a business approach that aligns development more closely with customer needs; and a set of software engineering practices for rapid delivery of high-quality code.

Agile focuses on providing a continuous flow of value to the business, thus minimizing project risks and increasing ROI

Agile methods aim to address systemic challenges that have long plagued software development projects, such as late delivery, scope creep, endemic cost overruns, cumbersome and expensive change management process (especially late into the project), insufficient quality and low customer satisfaction. Successful implementations of Agile processes also challenge the immutability of the ‘iron triangle’ – cost, schedule, and scope – without sacrificing software quality.

All Agile methods are based on a set of fundamental principles that set them apart from the traditional (waterfall) approach to software development:

  • Software is delivered incrementally and iteratively
  • This incremental development is organized and prioritized around business value
  • Only tested, working software is considered the real measure of progress
  • Changes in requirements are welcomed, even late in development
  • Delivery iterations are kept short (weeks rather than months)
  • Customers/business users and developers interact and cooperate closely (if possible, daily)
  • Simplicity is emphasized in design and implementation
  • Projects are built around motivated, competent, self-organizing cross-functional teams
  • Continuous attention is paid to technical excellence and good design
  • Teams reflect regularly and adapt the process to new circumstances

Unlike waterfall, where all of the software is only delivered at the end of the project, Agile’s incremental, iterative approach focuses on providing a continuous flow of value to the customer, thus minimizing project risks and increasing return on investment. Agile is designed to manage the inherent uncertainty of software development and to keep the cost of change as low as possible.

Get in touch

Have a specific question or want to learn more about our capabilities?

Send us as note, and we will get back to you directly.

Contact us

Give us a call

Sales inquiries: +1 (855) 442-4453

Send us a message

© 2010 – 2018 First Line Software, Inc. All rights reserved.