GSA/christopher

View on GitHub
_guides/Agile_FAQs.md

Summary

Maintainability
Test Coverage
---
title: Agile FAQs
category: Agile
audiences:
  - Developers
  - Designers
  - Project Managers
---

<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-expanded="false" aria-controls="question-1">
            What is Agile?
          </button>
          <div id="question-1" class="usa-accordion-content">
            <p>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. </p>

<p> 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.).</p>

<p>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.</p>

<p> 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.</p>
            <p>More information and associated documents can be found in our <a {{ site.baseurl }} href="https://tech.gsa.gov/guides/0_a_guide_newtoagile/">Agile guides</a>.</p>
        </div>
        </li>
        <li>
          <button class="usa-button-unstyled" aria-controls="question-2">
            What is the Agile Manifesto?
          </button>
          <div id="question-2" class="usa-accordion-content">
            <p> 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.</p>
<p><b>Individuals and interactions</b> over <b>processes and tools</b>. Agile is more about transparent interactions than technology.</p>

<p><b>Working software</b> over <b>comprehensive documentation</b>. Create something usable quickly to enable faster customer feedback.</p>

<p><b>Customer collaboration</b> over <b>contract negotiation</b>. Ensure customer buy-in between Business and IT, with marketable visibility.</p>

<p><b>Responding to change</b> over <b>following a plan</b>. Leave room for emergent solutions and better respond to change</p>
            <p>More information and associated documents can be found in our <a {{ site.baseurl }} href="https://tech.gsa.gov/guides/0_a_guide_newtoagile/">Agile guides</a>.</p>
          </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
 <div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-3">
           What are the Principles of Agile?
          </button>
          <div id="question-3" class="usa-accordion-content">
            <p> 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.</p>
            <p> 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.</p>
            <p> 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.</p>
            <p> 4. Business people and developers must work together daily throughout the project.</p>
            <p> 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.</p>
            <p> 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.</p>
            <p> 7. Working software is the primary measure of progress. </p>
            <p> 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.</p>
            <p> 9. Continuous attention to technical excellence and good design enhances agility.</p>
            <p> 10. Simplicity — the art of maximizing the amount of work not done — is essential.</p>
            <p> 11. The best architectures, requirements, and designs emerge from self-organizing teams.</p>
            <p> 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.</p>
            <p>More information and associated documents can be found in our <a {{ site.baseurl }} href="https://tech.gsa.gov/guides/0_a_guide_newtoagile/">Agile guides</a>.</p>
          </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-4">
          What are the most common Agile methodologies?
          </button>
        <div id="question-4" class="usa-accordion-content">
         <p><b> Scrum </b></p>
            <p> 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.</p>
            <p> <u> The framework is comprised of three roles: </u> </p>
<p>Product Owner </p>
<p>ScrumMaster </p>
<p>(Scrum) Team</p>
<p><u>Four Ceremonies:</u></p>
<p>Daily Standup Meeting </p>
<p> Sprint Planning Meeting </p>
<p> Sprint Review </p>
<p> Retrospective</p>
<p><u>Three artifacts: </u> </p>
<p> Burndown charts </p>
<p> Product backlog </p>
<p> Sprint backlog </p>

<p> 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. </p>
            <p><b> Kanban </b></p>
<p> 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. </p>

<p> 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).</p>

           <p><b> Extreme Programming (XP)</b></p>
<p> 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.</p>
            <p>More information and associated documents can be found in our <a {{ site.baseurl }} href="https://tech.gsa.gov/guides/0_a_guide_newtoagile/">Agile guides</a>.</p>        
         </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-5">
           What is the difference between Agile and Traditional Project Management?
          </button>
        <div id="question-5" class="usa-accordion-content">        
 <p> <b> Traditional “Waterfall” Project Management </b> </p>
         <p> - Requirements and design decisions are made up front </p>
         <p> - Months of planning before development begins </p>
         <p> - The customer sees the product for the first time when the final product is done/delivered </p>
<p><u> Challenges </u></p>
<p> - Months before customers are interacting with what was developed </p>
<p> - No time to change course along the way.  By the time people provide feedback, it is too late.</p>
<img src="{{ site.baseurl }}/assets/img/guides/EK_Waterfall.png"
  alt="'Waterfall' Project Management"
  class="guide-image">

<p> <b> “Agile” Project Management </b> </p>
<p> 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 <b> iterative and incremental delivery </b> approach that anticipates the need for flexibility into the delivery of the finished product.</p>

<img src="{{ site.baseurl }}/assets/img/guides/EK_Agile.png"
  alt="'Agile' Project Management"
  class="guide-image">

  <p> The noteworthy differences for Agile development is the common delivery cycle and milestones in delivery cycle that include: </p>
<p> - Time boxed and iterative/incremental product development/delivery </p>
<p> - Intermediate milestones: deliver a deployable system with useful features,  it may have insufficient functionality </p>
<p> - Definition of Done/Releasability: each iteration/sprint delivery is done, programmed, tested, and so on, and is in theory releasable. </p>
         </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-6">
           How do organizations benefit from being Agile?
          </button>
        <div id="question-6" class="usa-accordion-content">        
 <p> 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.</p>
         <p> 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. </p>
         <img src="{{ site.baseurl }}/assets/img/guides/Agile_Benefits.png"
  alt="Agile Benefits"
  class="guide-image">
  <p> <a href="https://versionone.com/pdf/VersionOne-10th-Annual-State-of-Agile-Report.pdf"> VersionOne: 10th State of Agile Survey </a></p>
         </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-7">
           What are the common challenges to adopting Agile?
          </button>
        <div id="question-7" class="usa-accordion-content">        
 <p>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: </p>
         <p> -  Company philosophy at odds with core agile values </p>
         <p> -  Lack of experience with agile methods </p>
         <p> -  Lack of management support </p>
         <p> -  Changing the development culture </p>
         <p> -  Team work using traditional development methods </p>
         <p> -  Lacking consistent practices </p>
  <p> Source: <a href="https://versionone.com/pdf/VersionOne-10th-Annual-State-of-Agile-Report.pdf"> VersionOne: 10th State of Agile Survey </a> and <a href="http://www.gartner.com/technology/topics/trends.jsp"> Gartner </a> </p>
         </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-8">
           Do Agile approaches only work in the Software Development Industry?
          </button>
        <div id="question-8" class="usa-accordion-content">        
        <p> Although it arose out of software development practices, Agile is <b> not </b> just a software development framework. </p>
         <p> Many other areas outside of Technology have found success in developing an Agile culture, including <a href="http://www.fujitsu.com/global/documents/about/resources/publications/fstj/archives/vol43-1/paper16.pdf"> Manufacturing </a>, <a href="http://agilemarketingmanifesto.org/"> Marketing </a>, <a href="http://www.abajournal.com/legalrebels/article/the_rise_of_the_agile_lawyer/"> Legal </a>, <a href="http://www.award-entry.nl/2014/cases/klm/happy-to-help/"> Cutomer Support </a>, and more recently, <a href="http://www.bottomlineperformance.com/what-is-agile-learning-design/"> Learning Design </a>, and <a href="http://hr-gazette.com/hr-agile-manifesto/"> Human Resources </a>. 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.
 </p>
         </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-9">
           Is Agile suitable for all projects?
          </button>
        <div id="question-9" class="usa-accordion-content">        
        <p> 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. </p>
         <p> According to Mike Cohn, one of the contributors to the invention of the Scrum software development, the most <a href="https://www.mountaingoatsoftware.com/blog/deciding-what-kind-of-projects-are-most-suited-for-agile"> appropriate projects suitable for Agile </a> (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.</p>  

<p> 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.</p>
<p> 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. </p>
<p> 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. </p>

       <img src="{{ site.baseurl }}/assets/img/guides/Agile_Projects.png"
  alt="'Agile' Suitable Project Management"
  class="guide-image">  

         </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-10">
           Who is practicing Agile?
          </button>
        <div id="question-10" class="usa-accordion-content">        
 <p> According to the <a href="https://versionone.com/pdf/VersionOne-10th-Annual-State-of-Agile-Report.pdf">State of Agile Report: Agile Trends - 2015 Agile Survey</a>, 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.</p>
 <p> <b> Agile Demographics </b> </p>       
<img src="{{ site.baseurl }}/assets/img/guides/AgileOrgs_Location.PNG"
  alt="Agile Organizations Locations"
  class="guide-image">

<p> In addition, 2 out of 3 IT organizations are either pure agile or or leaning toward agile (Source: <a href="http://www.pmi.org/-/media/pmi/documents/public/pdf/learning/thought-leadership/pulse/pulse-of-the-profession-2016.pdf">PMI Pulse of the Profession, 2016</a>). </p>

<img src="{{ site.baseurl }}/assets/img/guides/Agile_In_PM.png"
  alt="How often Agile project management is used"
  class="guide-image">

  <p> 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). </p>

  <img src="{{ site.baseurl }}/assets/img/guides/Agile_Industries.PNG"
  alt="Agile Industries"
  class="guide-image">
         </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-11">
           What are the trends in Agile?
          </button>
        <div id="question-11" class="usa-accordion-content">      

<p> The most popular Agile methodology is Scrum (Sources: Gartner 2015, VersionOne 2015). </p>

  <img src="{{ site.baseurl }}/assets/img/guides/Agile_Methods_Used.PNG"
  alt="Most Popular Agile Methods Used"
  class="guide-image">

  <p> - <b> 80% </b> of organizations now have distributed agile teams, up from 35% two years ago (Source: VersionOne) </p>
  <p> - Scaling agile is increasing: <b> 57% </b> of organizations use Agile for program management; </p>
  <p> - <b> 51% </b> use Agile for portfolio management (Source: PMI, 2016) </p>

         </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-12">
           Are there specific tools for Agile?
          </button>
        <div id="question-12" class="usa-accordion-content">      

<p> 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. </p>

 <p> According to the <a href="https://versionone.com/pdf/VersionOne-10th-Annual-State-of-Agile-Report.pdf"> 10th State of Agile Survey (2015)</a>, 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%).</p>

  <img src="{{ site.baseurl }}/assets/img/guides/Agile_Tools.png"
  alt="Tools for Agile"
  class="guide-image">

         </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-13">
           What are the most popular trainings / certifications on Agile?
          </button>
        <div id="question-13" class="usa-accordion-content">  
        <p><b> Project Management Institute - Agile Certified Practitioner (PMI-ACP)</b></p>
  <p> The <a href="http://www.pmi.org/certifications/types/agile-acp"> Agile Certified Practitioner (ACP) </a> 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.</p>

        <p><b> Scrum Alliance </b></p>
<p> 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 <a href="https://www.scrumalliance.org/certifications"> six Scrum certifications </a> 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. </p>


<p><b>International Consortium for Agile (ICAgile)</b></p>
<p>The <a href="https://icagile.com/">International Consortium for Agile</a> 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.</p>
         </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-14">
           Where can I find industry Agile conferences / events?
          </button>
        <div id="question-14" class="usa-accordion-content">      

<p> The following websites provide information on the most popular and relevant Agile events and conferences taking place in the United States and around the world.</p>
<p><a href="https://www.agilealliance.org/events/"> AgileAlliance - Events </a></p>
<p><a href="https://www.techwell.com/software-conferences/agile-development-conferences"> TechWell AgileDev Conferences </a></p>
<p><a href="https://www.scrumalliance.org/courses-events/events/global-gatherings"> Global Scrum Gatherings </a></p>
<p><a href="http://agileandbeyond.com/"> Agile and Beyond </a></p>
<p><a href="http://www.lkce15.com/"> Lean Kanban Central Europe </a></p>
<p><a href="http://devopsenterprise.io"> DevOps Enterprise Summit (DOES) </a></p>
<p><a href="http://www.gartner.com/events/"> Gartner’s Symposium/ITxpo </a></p>
           </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>
<div class="usa-grid">
  <div class="usa-width-one-whole">
    <div class="usa-accordion">
      <ul class="usa-unstyled-list">
        <li>
          <button class="usa-button-unstyled" aria-controls="question-15">
           Where can I find credible resources on Agile?
          </button>
        <div id="question-15" class="usa-accordion-content">      
<p> Agile Overview </p>
<p><a href="http://www.agilemanifesto.org"> Agile Manifesto </a></p>
<p><a href="https://www.agilealliance.org"> Agile Alliance </a></p>
<p><a href="https://versionone.com"> VersionOne </a></p>
<p><a href="https://www.atlassian.com/"> Atlassian </a></p>

<p> Setting Up Agile Teams </p>
<p><a href="https://www.atlassian.com/agile/teams"> How to build a kick-ass agile team </a></p>
<p><a href="https://www.infoq.com/articles/building-an-agile-team"> Building an Agile Team </a></p>
<p><a href="https://www.cprime.com/2014/04/3-key-steps-to-building-an-agile-team/"> 3 Key Steps to Building an Agile Team </a></p>
<p><a href="https://help.rallydev.com/top-10-mistakes-teams"> Top Ten Mistakes Made by New Agile Teams </a></p>
<p><a href="http://www.mckinsey.com/business-functions/business-technology/our-insights/an-operating-model-for-company-wide-agile-development"> An Operating Model for Company-Wide Agile Development </a></p>
<p><a href="http://www.cio.com/article/3085450/cio-role/who-is-watching-after-your-agile-money.html"> Who is Watching After Your Agile Money? </a></p>

 <p> Scrum Teams </p>
<p><a href="https://guntherverheyen.com/2013/03/21/scrum-framework-not-methodology/"> Scrum Framework </a></p>
<p><a href="http://scrumreferencecard.com/scrum-reference-card/"> Scrum Reference Card </a></p>
<p><a href="http://searchsoftwarequality.techtarget.com/definition/pigs-and-chickens"> Pigs and Chickens </a></p>
<p><a href="https://kenschwaber.wordpress.com/2011/08/11/scrum-is-scrum-is-not-2/"> Scrum Is, Scrum Is Not </a></p>
<p><a href="https://www.scrumalliance.org/why-scrum"> Why Scrum? </a></p>

<p> Kanban Teams </p>
<p><a href="http://www.everydaykanban.com/what-is-kanban"> Everyday Kanban </a></p>
<p><a href="http://kanbanblog.com/explained/"> Kanban Explained </a></p>
<p><a href="https://leankit.com/learn/kanban/what-is-kanban/"> LeanKit </a></p>

<p> Data and Information on Agile Trends, Blogs, etc. </p>
<p><a href="https://versionone.com"> VersionOne </a></p>
<p><a href="http://www.scrumalliance.org"> ScrumAlliance </a></p>
<p><a href="http://www.gartner.com/technology/research.jsp"> Gartner Research </a></p>
           </div>
        </li>
      </ul>
    </div>
    <hr>
  </div>
</div>