Course Taxonomy: Enterprise & Product Agility

Transitioning from Project to Product

From Project to Product

  • Project to Product overview
    • Difference: Project vs. Product
  • Process and Approach
    • Waterfall
    • Iterative delivery with waterfall requirements
    • Blended discovery and delivery
    • Mean Time to Pivot (MTTP)
  • Common constraints to transitioning from project to product
    • Lack of persistent, dedicated teams
    • Redefining the role of the PMO
    • Absence of Product Management capabilities
    • Separation of Business and IT
    • Project-based funding
    • Project planning
  • Building persistent product teams
    • Project teams vs. product teams
    • The product management function

Product-Based Funding

  • Product-Based Funding
    • “What?” and “Why?”
    • Incremental investing
    • Funding by product portfolios, families, and teams
    • Funding cycles and adaptive investments
  • Designing your product-based funding model
  • Examples and case studies

Planning and Product Horizons

  • The Iron Triangle
    • From “fixed” time, budget, and scope
    • Certainty was always a myth
  • Product roadmaps
    • Outcomes over output
    • Measuring value
    • When will it be done?
  • Estimating in ranges
    • To fixed data and variable scope
    • Setting leadership expectations

Measuring and Learning

  • Measuring outcomes, not outputs
    • Measuring progress, capacity, and flow
    • Measuring resilience and technical agility
    • Measuring product / market impact
  • Validated learning

Course Wrap-Up

  • Road-mapping your change

Professional Scrum Master (PSM)

Training Agenda:

  • Introductions
  • Theory & First Principles
  • The Scrum Framework
  • Product Delivery with Scrum
  • People & Teams
  • The Scrum Master
  • Closing

Azure DevOps for Teams

Part 1: Getting Started

  1. Introductions
  2. Course Goal
  3. Team Agreement

Part 2: Azure DevOps Overview

  1. Hierarchy
  2. List
  3. Board
  4. Backlog
  5. Work items

Part 3: Agile & Scrum Review

  1. Manifesto
  2. Principle
  3. Scrum Overview

Part 4: Accessing Azure DevOps

  1. Login
  2. Navigation

Part 5: Managing Iterations

  1. Configure the time box iteration
  2. Setting interaction goal
  3. Configure Team Capacity

Part 6: Backlog Hierarchy

  1. Product backlog
  2. Attributes
  3. Epics, Feature, Stories
  4. Managing Work Item
  5. Adding Stories
  6. Link Epics to Feature to Stories to Tasks
  7. Prioritization guide line
  8. Adding Priority
  9. Estimating Guidelines
  10. Add Estimates
  11. Task Breakdown
  12. Adding Task
  13. Adding PBI’s to Iterations
  14. Blocking Tasks
  15. Kanban Overview

Part 7: Queries

  1. Creating Queries
  2. Running Queries

Part 8: Wikis

  1. Creating
  2. Editing

Part 9: Dashboards

  1. Configure Widgets
  2. Creating the Dashboard

Managing AWS Infrastructure with Terraform

Part 1: Infrastructure as Code

In this section, we will introduce the benefits that Infrastructure as Code (IaC) can bring to organizations and how IaC fits within modern DevOps best practices.

  • Motivation for Infrastructure as Code
  • Applying Infrastructure as Code in DevOps
  • Infrastructure as Code principles and best practices
  • Benefits of Infrastructure as Code
  • The case for Terraform

Part 2: Terraform Overview

This section provides an overview of Terraform concepts and vocabulary and instructs how Terraform manages infrastructure configuration in cloud environments.

  • Terraform architecture
  • Terraform configuration language overview
  • Terraform CLI
  • The lifecycle of a configuration
  • Managing configuration state

Hands-on Labs:

  • Using the Terraform CLI
  • Setting up a Terraform project

Part 3: AWS Resources

In this section, participants will get hands-on practice using Terraform to create a simple application environment in AWS and learn the essential constructs in Terraform for defining resources.

  • Resource types
  • Best practices in declaring resources
  • Network resources (VPC, subnet, security group)
  • Compute resources (virtual machine)
  • Storage resources (database)
  • Local values in a configuration
  • Augmenting a configuration with data sources

Hands-on Labs:

  • Creating a VPC and subnets
  • Adding a virtual machine into your VPC
  • Adding a database to your VPC
  • Using locals for replicated values
  • Using a data source to read external configuration

Part 4: Terraform Programming

This section introduces programming constructs within Terraform that enable you to add more control and flexibility in defining resources.

  • Data structures (primitives, maps, lists, objects, etc.)
  • Types of expressions to set values
  • Creating multiples of a resource
  • Dynamic blocks
  • Parameterizing a configuration with variables
  • Outputs from a configuration
  • Functions
  • Handling errors

Hands-on Labs:

  • Using variables in a configuration
  • Getting outputs from a configuration
  • Creating a re-sizable cluster of virtual machines
  • Creating multiple resources through iteration loops
  • Leveraging functions in your code

Part 5: Modules

This section shows how modules can be used to create reusable components in Terraform and teaches best practices in organizing Terraform code.

  • Purpose of modules
  • Module structure and code organization
  • Invoking modules
  • Module sources and versioning
  • Nested modules
  • Publishing modules

Hands-on Labs:

  • Using an external module in your configuration
  • Refactoring your code to implement a module

Part 6: Wrapping Up

This section wraps up the course with reviews to reinforce what you have learned.

  • Reference material to learn more
  • Course review
  • Next steps

Deploying and Automating Infrastructure at Scale

Part 1 – Infrastructure Platform: AWS Cloud

  1. Installing and using the AWS CLI (Command Line Interface)
  2. AWS Networking
  3. VPC’s (Virtual Private Clouds)
  4. Subnets
  5. Internet Gateways
  6. Route Tables
  7. Route Table Associations
  8. Creating AWS Networking Components
  9. Launching VMs in AWS Cloud

Part 2 – Git: Source Control Management: GitHub

  1. This course doesn’t teach the basics of git. Git experience is assumed (see the ‘DevOps Pipeline’ course if your team needs basic git knowledge)

Part 3 – Infrastructure Deployment: Terraform

  1. Intro to Terraform
  2. Creating cloud buckets for storage
  3. Separating code: Multiple Terraform configuration files
  4. Storing state remotely
  5. Git branching
  6. Displaying resource outputs
  7. Creating cloud networking components with Terraform
  8. Configuring cloud Security groups
  9. Using SSH Public/Private Keys with Terraform
  10. Launching and Destroying cloud VM instances with Terraform
  11. Creating reusable code with modules
  12. Using Terraform variables

Part 4 – Configuration Management: Terraform with Ansible

  1. Ansible Provisioners in Terraform
  2. Integrating Terraform-managed instances with Ansible Control Nodes
  3. Launching multi-tiered architectures (web servers and load balancers) with Terraform and Ansible

Part 5 – Notifications: Slack

  1. Integrating CI/CD with Slack
  2. Using Slack for CI/CD approvals and notifications

Part 6 – Containerization: Docker

  1. Purpose and use case for Docker
  2. Docker Hub
  3. Basic Docker commands
  4. Docker Networking
  5. Launching and debugging NGINX containers
  6. Mounting Volumes to containers
  7. Docker mount points: Multiple containers, one shared code location
  8. Launching Docker hosts and Docker containers automatically
  9. Port mapping with containers
  10. Launching multi-tiered architectures (web servers and load balancers): an automated approach
  11. Customizing containers with Docker Hub and Dockerfiles
  12. Reducing infrastructure bloat: Buster-Slim Docker containers

Part 7 – Managed OS: Linux Only

  1. Management of Linux Servers only

Part 8 – Container Management: Kubernetes (Optional)

  1. Kubernetes (K8S) overview and use case
  2. K8S architecture
  3. Installation and configuration
  4. Master and node server components
  5. Creating K8S load-balanced clusters
  6. Deploying Apps with K8S
  7. Scaling Apps
  8. K8S monitoring and App repair
  9. Updating Apps with K8S

Implementing Azure DevOps Pipelines

Part 1: Course Introduction

  1. Azure Repos-Chef-Azure Pipelines: A DevOps Pipeline
  2. Course Purpose
  3. Agenda
  4. Introductions
  5. Lab Environments

Part 2: Technology Overview

  1. Git – Source Control Management
  2. Chef – Configuration Management
  3. Azure Pipelines – Continuous Integration
  4. An End-To-End CI/CD (Continuous Integration/Continuous Deployment) Pipeline

Part 3: Git/Azure Repos – Source Control Management

  1. Git purpose and Workflow
  2. Git configuration
  3. Getting help with git
  4. Basic git commands
  5. Remote, status, add, commit, push, log, diff
  6. Creating and checking out branches
  7. Creating a repository in Azure Repo
  8. Accessing a private repository with SSH keys
  9. Pull requests
  10. Merging and deleting branches

Part 4: Chef – Configuration Management

  1. Chef purpose and use cases
  2. Chef basics: Resources, recipes, and cookbooks
  3. Chef policy files
  4. Integration testing with Inspec and Test kitchen
  5. Chef variables: Attributes and Ohai
  6. Dynamic file creation with templates
  7. Using Chef Supermarket and community cookbooks
  8. Wrapper cookbooks
  9. Automating infrastructure with Chef Search
  10. Centralized management with Chef Infra Server
  11. Automating Chef convergence
  12. Managing nodes with policy groups

Part 5: Azure Pipelines

  1. CI/CD = Continuous Integration / Continuous Deployment
  2. Purpose
  3. Projects
  4. Jobs
  5. YAML scripting – CI/CD as Code
  6. Managing credentials and secret files
  7. Integrating with Source Control Management: Azure Repos
  8. Triggers: Scheduled Polling and Webhooks
  9. Automated cookbook linting: Foodcritic and Cookstyle
  10. Automated cookbook testing with Test Kitchen
  11. Azure Pipelines Integration with Chef Server
  12. Creating Separate Build and Release Pipelines
  13. Continuous Deployment of Chef cookbooks with Azure Pipelines

Product Discovery and Delivery

Part 1: Product Agility and Product Ownership

  1. Expectations, curiosities, and the selection of product idea for the course
  2. Product ownership
  3. What is it?
  4. What’s in it for you?
  5. Why work this way? How did we get here?
  6. Steering the bus
  7. Visibility, control, flexibility, and maneuverability
  8. Getting buy in

Part 2: Product Over Progress

  1. Traditional, agile, and product-centered processes overview
  2. Product centered thinking and principles (blending discovery & delivery)
  3. Avoid being overly certain
  4. Validate ideas early and fast
  5. Develop customer insights
  6. Practice product-driven architecture
  7. Embrace responsive engineering
  8. Building product communities, product owners, users, and markets

Part 3: Early Product Discovery

  1. Framing design targets and your guess at their needs
  2. Introduction to story mapping, story splitting, and customer journeys
  3. Pragmatic sketching, prototyping, and other tools for early validation
  4. Stories, acceptance tests, and learning from building

Part 4: Roadmaps and Planning

  1. Making product choices
  2. Iteratively delivering value
  3. Sizing and planning across iterations

Part 5: Blending Product Discovery with Product Delivery

  1. Establishing a sustainable discovery cadence
  2. Establishing a blended cadence
  3. Constraints
  4. Adjusting to delivery constraints
  5. Blending with operations and support
  6. Losing “product” in delivery tools
  7. Investing in analytics

Part 6: Measuring Product Impact

The Art of Product Management

Part 1: Aligning product strategy to corporate strategy

  1. Importance of knowing the corporate strategy and not just thinking you do
  2. Top-down definition of product strategy that supports and clarifies company direction

Part 2: Market research and validation

  1. Define the target market and the opportunity
  2. Growth in your current market
  3. Growth by identifying and executing in other market segments

Part 3: The other "M" in "PM": Marketing

  1. A product that can’t tell its story is unfound
  2. Product Marketing and Messaging
  3. Marketing deliverable stories
  4. Write a press release for your proposed release – before you start

Part 4: Creating roadmaps authored for the audience

  1. Thematic business strategy roadmap
  2. Partner and distribution roadmap
  3. Product feature roadmap
  4. Business product strategy

Part 5: Delivering customer value not just features

  1. Alignment of training – what have they learned, how do they train
  2. Alignment with marketing – what should they update, how do they message
  3. Alignment with sales – enable them, what are they pitching

Part 6: How to tell the market your story

  1. What business metrics a product manager should be tracking and why no one else is
  2. How to work with influencers to gain reputable, 3rd party validation
  3. The power of customer testimonials and how that starts with involving them during discovery and delivery
  4. Pricing strategies and what to consider when balancing short-term and long-term revenue

Part 7: Monitoring the value of the product

  1. Churn
  2. CAC
  3. NPS
  4. Know the counter effects of metrics
  5. Know your customer type and their limitations on providing feedback

Scaled Agile | Certified SAFe® Agile Product Manager (APM)

  • Analyzing your Role as a Product Manager in the Lean Enterprise
  • Continuously Exploring Markets and Users
  • Driving Strategy with Market Segmentation
  • Using Empathy to Drive Design
  • Defining Product Strategy and Vision
  • Creating Roadmaps to Build Solutions
  • Delivering Value
  • Managing Value Stream Economics
  • Creating Innovation in the Value Stream