The concept of Agile software development incorporates the principles and precepts of a number of software development and quality management methods that are based on speeding the time to market.
The Agile development approach enables cycle-time reductions through lower process overhead and more efficient and responsive practices. Its benefits have also been adapted outside of the IT environment to benefit other types of projects.
This course presents the Agile approach and principles showing the participant how they differ from the traditional approach to managing software development. The overall goal of the course is twofold:
- To introduce the Agile software development approach’s principles and practices
- To explore how this approach could enhance the more traditional development and project management philosophies and practices
WHO SHOULD ATTENDThis course is designed for:
- Developers interested in learning Agile concepts and practices
- IT managers who want to know what all the fuss is about
- Those involved in the Agile approach who want to refine their techniques or learn some new practices
- Project managers interested in leading their software projects with more agility
WHAT YOU WILL LEARNCourse participants will understand the basic Agile approach and the various methods for achieving agility and will be able to:
- Compare and contrast the Agile approach to the continuum of more traditional software development approaches
- Apply selected Agile practices to specific software development situations
- Explain selected Agile leadership principles that enable an Agile approach to project management, either in or beyond the software development environment
- Define and adapt a process for transforming an existing software development methodology to a more Agile approach
PREREQUISITEBasic familiarity with software development and software engineering terms and techniques
COURSE OVERVIEWGetting Started
- Welcome
- Course orientation
- Why is this course important?
- Participants’ expectations
Foundation Concepts
- Software Development Environment (SDLCs)
- Agile approach to software development
- Overarching Agile principles (Agile manifesto, its principles, and key enablers)
- Applying Agile concepts to project management
- Journey into Agile territory (topic flow from technical practices to leadership/directional practices to implementation)
Solution-focused Agile Development Practices (Requirements, Analysis, and Design)
- From Agile values to Agile practices (translating the Manifesto into specific practices, starting with those that are technical and relate to solving the business problem)
- Agile requirements practices
- Agile analysis and design practices
Product-focused Agile Development Practices (Development, Testing, and Deployment)
- Agile technical practices continued (introducing the technical practices associated with building the SW product)
- Agile development
- Agile (post-development) testing
- Agile deployment
Process-focused Agile Development Practices (Agility and Project management)
- Managing Agile projects (introduction to leadership/directional Agile practices, including the debate over the concept of an Agile project manager and the PMI standards used as the basis for comparison)
- The Agile environment (Agile analogs to PMI’s Organizational Project Management or Program Management concerns)
- Agile initiating (following the PMBOK® Guide structure to explore Agile analogs to the five PM process groups)
- Agile planning
- Agile executing
- Agile monitoring and controlling
- Agile closing
Implementing Agile Development
- Trailblazing an Agile path (introduction to alternative approaches to implementing Agile and four major phases involved in getting there, regardless of approach)
- To be or not to be Agile? (criteria for determining whether Agile is a viable option given the environment or specific situation)
- Implementing Agile practices (starting from the bottom-up approach or easiest path, a few practices at a time)
- Implementing Agile projects (exploring bottom-up option to implement an Agile method, project by project)
- Influencing beyond our reach (starting from the top down for an Agile method or even a more agile organization, although beyond the purview of participants in the course, what we CAN do to influence the process for better results)
Summary
- What did we learn, and how can we implement this in our work environments?
This course is available for "remote" learning and will be available to anyone with access to an internet device with a microphone (this includes most models of computers, tablets). Classes will take place with a "Live" instructor at the date/times listed below.
Upon registration, the instructor will send along additional information about how to log-on and participate in the class.
School Notes: Note: International Institute for Learning may reach out to you directly for additional information prior to your class starting date.