In this powerful two-day course, you'll grasp the concepts, principles, and structure of Agile development and how these are being applied in the unique government environment. The Federal Government has mandated that software procurement and development efforts must drastically increase their effectiveness and efficiency. To achieve this mandate, many governmental agencies and contractors are beginning to apply an Agile approach to the development and delivery of their software and services. In order to effectively apply Agile in the government space, you must understand specifically how to navigate the challenges of process requirements found in government. This class builds the bridge between what Agile is and how it can be used effectively in a government environment. This is your foundational Government Agile course.
- NOTE: Live Virtual Classroom course length is 3 days.
- Understand the clear government mandate for an improved approach for software and services procurement and delivery
- Understand the various Agile principles, methods, and frameworks being used in government today
- Appreciate the history of Agile and how the collection of principles and practices came together to enable customer success
- Draw best practices from the various methodologies that will contribute to your team's success
- Build the discipline to support Agile principles and practices within your team and organization
- Talk the talk: learning the Agile terminology, roles and forums and how they are used within federal agencies
- Break the language barrier. Learn how to easily map Agile language to the federal language
- Walk through the processes that support Agile principles to enable the delivery of great products and services
- Combine an Earned Value Management (EVM) approach with an Agile approach for maximum effectiveness
- Begin to map the transition of your existing or enterprise-level processes, artifacts and forums to Agile
- Discover the power of Agile teams through communication, collaboration and cadence
- Uncover the pitfalls that Government teams and contractors will encounter in an Agile transition and understand how to overcome those challenges
- Learn key concepts and principles that will help you scale Agile teams across geographic and organizational divides and how to collaborate with other contractors and vendors on the same initiative
- Learn the basics around how structure contracts and agreements in the Government space that support your team’s Agile delivery and release plans
Who Can Benefit
- Project Managers
- IT Manager/Directors
- Software Engineers
- Software Architects
- Customers (aka: Application and Business Owners)
Agile success demands a strong and stable foundation.
To incorporate an Agile methodology or practice into your government program with an expectation of shredding the rigid discipline of your current method is a sure path to failure. The common misconception is that Agility means lack of order or discipline, which is not the case. Agility in software requires strong discipline. You must have a solid foundation in the practices and procedures you wish to adapt In order to successfully implement Agile in the government environment. And, you must learn how to follow those practices correctly while tying them to pre-defined, rigid quality goals.
Agile processes forming the basis for this course include:
- Extreme Programming
- Feature Driven Development
- Lean Development
Agile in the Government Overview
In this section we will explore the motivating factors for government's desire to adopting more efficient Agile practices. Further we will examine the various Agile methods and the principles and practices they embrace and seek to provide you the tools and perspective so that you determine which of these is most appropriate for your government project or program. Agile success with real-world examples across many government agencies will be shared to highlight the benefits that Agile can bring in this environment. Finally, we will explore the power behind Agile teams and how they differ from traditional project teams.
- Why Agile? Why now?
- The Government’s mandate for improved procurement and delivery efficiency
- Agile Methods. The principles and practices of each and which are most appropriate for government programs
- Agile Benefits. What to expect by applying this approach
- Agile Teams. How to stand-up your first Agile team
- Class Exercise: Forming the Agile Team – in this exercise we will explore the unique factors of Agile teams and recognize the key factors for success. Participants will experience what it takes to ensure immediate and long-term success for project teams, what to focus on to build better team performance, and how an effective Agile team produces improved bottom line results.
In this section we will establish a foundation of the basic artifacts and forums utilized by Agile teams. Agile terminology will be reviewed in relation to government project terminology to understand the connection and mapping between them.
- User Roles and Personas. Understanding the product’s customer to ensure that what is delivered truly matches the needs and wants of the end-user community
- User Stories. How Agile requirements are captured, documented, and communicated
- Acceptance Criteria. Ensuring better software delivery is dependent upon understanding what capabilities need to be produced in order to be accepted by the user
- Prioritization techniques. Improved delivery efficiency is highly contingent upon the development team always working on the items that will drive the most amount of delivery value
- Relative Estimating. Effectively communicating delivery dates and budget burndown requires the Agile team to explore new approaches for estimating the size of their work
- Iterative approach. Delivering small pieces of our product allows for continuous feedback as well as providing a much better mechanism for determining progress as measured by physical percentage of product complete
- Aligning the government project language to the unique language of Agile and touch upon a contemporary approach to the contract language of government projects. We will stress that Agile is much more than a new set of terms, it is a base set of principles that should be used to drive improved practices
- Class Exercise: Utilizing the information presented in this chapter, participants will practice writing user stories, prioritizing their backlog, and estimating the size of each of their requirements. Participants will be provided a federal case study to base their exercises on.
Agile Government Process Framework
In this section, we will review the complete process framework Agile teams should utilize to achieve success for their government projects. For many, Agile merely means Iterations and Daily Scrum, but that will not suffice! Real-world government examples provided by the instructor will give you context for why each level of planning and execution is important. We will discuss and practice the forums and artifacts necessary for Agile success.
- Vision. Understanding the high-level vision of a project will ensure that even as scope may change, the core capabilities of the product will be maintained
- Roadmap. Chart the longer-term view of your project through the use of a product roadmap
- Release. Establishing release cycles allows the team to communicate delivery dates and maintain adherence to the constraint that is most important for the project and is a key component of EVM planning
- Iteration/Sprint. The short term planning for just the next 2-4 weeks
- Daily. The daily forum used to ensure that the team is on schedule and that any obstacles or impediments are addressed as early as possible
- Bringing it all together. Seeing how each of the five levels of Agile planning working together and help ensure delivery on-time and on-budget and how these map to government process requirements
- Class Exercise: Building cadence - As with any process, the process should not be a distraction, instead it should support the team's ability to efficiently deliver their product. In order to achieve that desired state, cadence, or a project rhythm, is needed. In order to build this very important aspect of an Agile delivery, the team members must know what to expect repeatedly and consistently. This exercise will help reinforce the need for the power that comes with cadence.
In order to successfully implement an Agile approach within the government environment, teams must understand how to communicate effectively their progress, documented requirements and capabilities, and ensuring the highest levels of collaboration amongst the team and with the customer.
- Transparency. This principle of clear communication is essential in building a solid partnership with our customers. Without transparency in our communication, trust is rarely achieved and the product tends to suffer as a result
- Main path communication. The most efficient means of communication is to find the ‘main path’ and direct your communicate there
- Creating Collaboration. Exploring the components of team building, we will examine the necessity of collaboration within the team and how to extend this effort to include your federal customer
- Beyond the team. Communicating status and EVM milestones will be an important component of Agile success for your team’s federal project
In this section we will communicate clearly the path taken by many federal teams to achieve success as well as what pitfalls these federal Agile teams should avoid.
- What to watch for – barriers to success. The federal environment presents many challenges for today’s development and delivery teams. The best way to avoid these pitfalls is to know about them ahead of time and build a risk mitigation strategy that will allow you to prevent these common problems from derailing your Agile efforts
- Agile best practices in the government environment. The unique nature of the federal environment requires unique practices when applying an Agile approach. Learn what the most successful Agile teams do so that you can jumpstart your first Agile project
- Agile Tools. Support the team’s best efforts by utilizing tools that will make controlling your project easier
- Dealing with common Agile myths
- Next steps. Outline steps you should take to begin to put into practice the information provided in this foundational training session
- Class Exercise: Define your next steps! Maximize the value of the training class by building a clear plan for how to take the very important first steps in your Agile adoption plan. Teams and individuals will collaborate with each other and with the instructor to determine what you can do to build upon the foundation established during the course.