Skip to main content

GSA Tech Guides

All guides » Agile guides

Agile FAQs

  • Agile is considered an alternative approach to traditional project management or product development. It is a value-based, iterative approach under which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams. Agile advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change.

    Although it rose out of software development practices, Agile is not a software-development framework. It is neither methodological nor prescriptive; there is no exact way to become Agile. Also, Agile is not synonymous with Scrum (or Kanban, TDD, etc.) or a specific tool (i.e. JIRA, Rally, etc.).

    The term agile was first coined for this in 2001, in the Manifesto for Agile Software Development (Agile Manifesto) and although originally written as Agile (with a capital A) this is progressively becoming deprecated.

    Success in Agile is based on an attitude of “servant leadership” and focuses on the team, not just developers. Agile encourages and does not lack in accountability or ownership. As a solution for complex problems, teams must “be” Agile, not just “do” Agile.

    More information and associated documents can be found in our Agile guides.

  • The Agile Manifesto was written in February of 2001 by seventeen independent-minded software practitioners . The participants found consensus around four main values [below] that makeup the Agile manifesto.

    Individuals and interactions over processes and tools. Agile is more about transparent interactions than technology.

    Working software over comprehensive documentation. Create something usable quickly to enable faster customer feedback.

    Customer collaboration over contract negotiation. Ensure customer buy-in between Business and IT, with marketable visibility.

    Responding to change over following a plan. Leave room for emergent solutions and better respond to change

    More information and associated documents can be found in our Agile guides.


  • 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

    2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

    3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

    4. Business people and developers must work together daily throughout the project.

    5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

    6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

    7. Working software is the primary measure of progress.

    8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

    9. Continuous attention to technical excellence and good design enhances agility.

    10. Simplicity — the art of maximizing the amount of work not done — is essential.

    11. The best architectures, requirements, and designs emerge from self-organizing teams.

    12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

    More information and associated documents can be found in our Agile guides.


  • Scrum

    A framework for the iterative development of complex products, particularly software. Scrum is the most widely recognized Agile framework, and is compatible with other Agile practices like Extreme Programming. Scrum is comprised of a series of short iterations – called sprints – each of which ends with the delivery of an increment of working software.

    The framework is comprised of three roles:

    Product Owner

    ScrumMaster

    (Scrum) Team

    Four Ceremonies:

    Daily Standup Meeting

    Sprint Planning Meeting

    Sprint Review

    Retrospective

    Three artifacts:

    Burndown charts

    Product backlog

    Sprint backlog

    Scrum should not be used interchangeably with the term Agile. Agile is not a framework, but a broader set of values and practices, while Scrum is a specific framework that fits comfortably under the Agile umbrella.

    Kanban

    Kanban is a tool derived from Lean manufacturing and is associated with the branch of agile practices loosely referred to as Lean software development. Like a task board, Kanban board visually represents the state of work in process. Unlike a task board, the Kanban constrains how much work in process is permitted to occur at the same time with the purpose to reduce bottlenecks and increase throughput by optimizing that segment of the value stream that is the subject of the Kanban.

    A principle difference between Kanban and Scrum is that Scrum limits work in process through timeboxing (i.e. the sprint) and Kanban limits work in process by limiting how much work may occur at one time (e.g. N tasks or N stories).

    Extreme Programming (XP)

    A software development methodology adhering to a very iterative and incremental approach, Extreme Programming is intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development, it advocates frequent releases in short development cycles (timeboxing), which is intended to improve productivity and introduce checkpoints where new customer requirements can be adopted. XP consists of a number of integrated practices for developers and management – the original twelve practices of XP include Small Releases, On-site Customer, Sustainable Pace, Simple Design, Continuous Integration, Unit Testing, Coding Conventions, Refactoring Mercilessly, Test-Driven Development, System Metaphor, Collective Code Ownership, and Pair Programming. Most successful Agile practitioners adopt some subset of XP practices, often in conjunction with Scrum.

    More information and associated documents can be found in our Agile guides.


  • Traditional “Waterfall” Project Management

    - Requirements and design decisions are made up front

    - Months of planning before development begins

    - The customer sees the product for the first time when the final product is done/delivered

    Challenges

    - Months before customers are interacting with what was developed

    - No time to change course along the way. By the time people provide feedback, it is too late.

    'Waterfall' Project Management

    “Agile” Project Management

    An agile approach enables rapid incrementally shippable deliverables and collaborative decision-making between the parties. In software, Agile is a method of software development that is based on iterative and incremental delivery approach that anticipates the need for flexibility into the delivery of the finished product.

    'Agile' Project Management

    The noteworthy differences for Agile development is the common delivery cycle and milestones in delivery cycle that include:

    - Time boxed and iterative/incremental product development/delivery

    - Intermediate milestones: deliver a deployable system with useful features, it may have insufficient functionality

    - Definition of Done/Releasability: each iteration/sprint delivery is done, programmed, tested, and so on, and is in theory releasable.


  • One benefit of agile is to reduce a product’s time to market by delivering a product increment frequently. Through this process, customers and users are engaged throughout the delivery cycle to regularly review the product increment and provide feedback. By creating feedback loops with every increment, the product created value working with customers rather than for them. As a result, excess time and resources are not spent creating something customers do not want.

    Being Agile also promotes innovation in product teams. Taking an iterative, incremental approach promotes experiential learning, and short release cycles encourage teams to experiment to find relevant, simple solutions.

    Agile Benefits

    VersionOne: 10th State of Agile Survey


  • Various data indicate that the top most common challenges to a successful Agile in organizations is mostly related to all or one of the following:

    - Company philosophy at odds with core agile values

    - Lack of experience with agile methods

    - Lack of management support

    - Changing the development culture

    - Team work using traditional development methods

    - Lacking consistent practices

    Source: VersionOne: 10th State of Agile Survey and Gartner


  • Although it arose out of software development practices, Agile is not just a software development framework.

    Many other areas outside of Technology have found success in developing an Agile culture, including Manufacturing , Marketing , Legal , Cutomer Support , and more recently, Learning Design , and Human Resources . The benefits of an Agile culture provide more customer-focused efforts, increase communication, enable change, improve quality of delivery, provide a more responsive environment, and increase both transparency and visibility.


  • Not necessarily. Depending on the nature of the project and the product in question, there are times where plan-driven project management methodologies (like the waterfall method) provide a higher likelihood of project success.

    According to Mike Cohn, one of the contributors to the invention of the Scrum software development, the most appropriate projects suitable for Agile (Scrum, Kanban, etc.) are ones with aggressive deadlines, a high degree of complexity, and a high degree of novelty (uniqueness) to the organization or at least new to the team building it. For instance, developing a new phone application.

    If the project/product is very familiar to the team and if the team continues building the same thing everyday, there is an element of predictability that may not require an Agile approach to succeed. For instance, a fast food restaurant producing fries or burger with set recipes.

    If the project/product is very familiar to the team and if the team continues building the same thing everyday, there is an element of predictability that may not require an Agile approach to succeed. For instance, a fast food restaurant producing fries or burger with set recipes.

    There are various ways that can be used to decide whether the project team tasked with completing should be handled using an Agile framework or traditional plan-driven project management method, and it starts by taking a look at the information the team already has. Below is an example analysis based on risk and complexity.

    'Agile' Suitable Project Management

  • According to the State of Agile Report: Agile Trends - 2015 Agile Survey, agile software development has grown increasingly popular over the last decade. The number of large enterprises that are embracing agile continues to increase each year.

    Agile Demographics

    Agile Organizations Locations

    In addition, 2 out of 3 IT organizations are either pure agile or or leaning toward agile (Source: PMI Pulse of the Profession, 2016).

    How often Agile project management is used

    Agile approaches are also being used for teams outside of IT such as Marketing and Human Resources. The top three industries adopting Agile are Software Development, Financial and Professional Services (Source: State of Agile Report 2015).

    Agile Industries

  • The most popular Agile methodology is Scrum (Sources: Gartner 2015, VersionOne 2015).

    Most Popular Agile Methods Used

    - 80% of organizations now have distributed agile teams, up from 35% two years ago (Source: VersionOne)

    - Scaling agile is increasing: 57% of organizations use Agile for program management;

    - 51% use Agile for portfolio management (Source: PMI, 2016)


  • Although Agile does not require a specific set of tools for a successful adoption, not all traditional project management and other tools work well with Agile. Some companies configure existing tools in an Agile way while others use index cards and sticky notes to follow the frameworks. Some development group use JIRA software to help with things like requirements management, collaboration and testing.

    According to the 10th State of Agile Survey (2015), out of the many software management solutions on the market, over two-thirds of survey respondents use Microsoft® Excel (60%) to manage agile projects. Other commonly used tools were Atlassian / JIRA (51%), Microsoft Project (33%), and VersionOne (28%).

    Tools for Agile

  • Project Management Institute - Agile Certified Practitioner (PMI-ACP)

    The Agile Certified Practitioner (ACP) from the Project Management Institute (PMI), is for project management professionals whose organizations currently use or are moving to agile practices. The PMI-ACP proves certification holders have real-world experience managing agile projects and familiarity with many subsets of the agile methodology including Scrum, Kanban, Lean and others. Those who achieve the certification must earn 30 professional development units (PDUs) every three years to maintain their status.

    Scrum Alliance

    Scrum is the leading framework of the agile methodology, especially for software development. The Scrum Alliance is the leading membership organization for Scrum professionals, with the mission of supporting widespread adoption and effective practice of Scrum. The Scrum Alliance offers six Scrum certifications for IT and software development professionals: Certified Scrum Master, Certified Scrum Product Owner, Certified Scrum Developer, Certified Scrum Trainer, Certified Scrum Coach and Certified Scrum Professional.

    International Consortium for Agile (ICAgile)

    The International Consortium for Agile is an independent accrediting agency offering comprehensive agile certifications that provide role expertise across all agile 'flavors,' including Scrum, eXtreme Programming (XP), Kanban and more. There are three certification levels: Professional, Expert and Master, to test and evaluate candidate's knowledge acquisition and competency within Agile.