Posted on June 7, 2021 by Yogesh Kumar -
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
Posted on January 29, 2021 by Yash Sutrave -
Training Agenda:
- Agile Product Management
- Value-Driven Development
- Scrum Theory & Empiricism
- The Scrum Framework
- Product Backlog Management
- Releases
Posted on January 29, 2021 by Yash Sutrave -
Training Agenda:
- Introductions
- Theory & First Principles
- The Scrum Framework
- Product Delivery with Scrum
- People & Teams
- The Scrum Master
- Closing
Posted on January 27, 2021 by Yash Sutrave -
Part 1: Getting Started
- Introductions
- Course Goal
- Team Agreement
Part 2: Azure DevOps Overview
- Hierarchy
- List
- Board
- Backlog
- Work items
Part 3: Agile & Scrum Review
- Manifesto
- Principle
- Scrum Overview
Part 4: Accessing Azure DevOps
- Login
- Navigation
Part 5: Managing Iterations
- Configure the time box iteration
- Setting interaction goal
- Configure Team Capacity
Part 6: Backlog Hierarchy
- Product backlog
- Attributes
- Epics, Feature, Stories
- Managing Work Item
- Adding Stories
- Link Epics to Feature to Stories to Tasks
- Prioritization guide line
- Adding Priority
- Estimating Guidelines
- Add Estimates
- Task Breakdown
- Adding Task
- Adding PBI’s to Iterations
- Blocking Tasks
- Kanban Overview
Part 7: Queries
- Creating Queries
- Running Queries
Part 8: Wikis
- Creating
- Editing
Part 9: Dashboards
- Configure Widgets
- Creating the Dashboard
Posted on December 1, 2020 by Yash Sutrave -
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
Posted on October 27, 2020 by Yash Sutrave -
Part 1 – Infrastructure Platform: AWS Cloud
- Installing and using the AWS CLI (Command Line Interface)
- AWS Networking
- VPC’s (Virtual Private Clouds)
- Subnets
- Internet Gateways
- Route Tables
- Route Table Associations
- Creating AWS Networking Components
- Launching VMs in AWS Cloud
Part 2 – Git: Source Control Management: GitHub
- 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
- Intro to Terraform
- Creating cloud buckets for storage
- Separating code: Multiple Terraform configuration files
- Storing state remotely
- Git branching
- Displaying resource outputs
- Creating cloud networking components with Terraform
- Configuring cloud Security groups
- Using SSH Public/Private Keys with Terraform
- Launching and Destroying cloud VM instances with Terraform
- Creating reusable code with modules
- Using Terraform variables
Part 4 – Configuration Management: Terraform with Ansible
- Ansible Provisioners in Terraform
- Integrating Terraform-managed instances with Ansible Control Nodes
- Launching multi-tiered architectures (web servers and load balancers) with Terraform and Ansible
Part 5 – Notifications: Slack
- Integrating CI/CD with Slack
- Using Slack for CI/CD approvals and notifications
Part 6 – Containerization: Docker
- Purpose and use case for Docker
- Docker Hub
- Basic Docker commands
- Docker Networking
- Launching and debugging NGINX containers
- Mounting Volumes to containers
- Docker mount points: Multiple containers, one shared code location
- Launching Docker hosts and Docker containers automatically
- Port mapping with containers
- Launching multi-tiered architectures (web servers and load balancers): an automated approach
- Customizing containers with Docker Hub and Dockerfiles
- Reducing infrastructure bloat: Buster-Slim Docker containers
Part 7 – Managed OS: Linux Only
- Management of Linux Servers only
Part 8 – Container Management: Kubernetes (Optional)
- Kubernetes (K8S) overview and use case
- K8S architecture
- Installation and configuration
- Master and node server components
- Creating K8S load-balanced clusters
- Deploying Apps with K8S
- Scaling Apps
- K8S monitoring and App repair
- Updating Apps with K8S
Posted on October 17, 2020 by Yash Sutrave -
Part 1: Course Introduction
- Azure Repos-Chef-Azure Pipelines: A DevOps Pipeline
- Course Purpose
- Agenda
- Introductions
- Lab Environments
Part 2: Technology Overview
- Git – Source Control Management
- Chef – Configuration Management
- Azure Pipelines – Continuous Integration
- An End-To-End CI/CD (Continuous Integration/Continuous Deployment) Pipeline
Part 3: Git/Azure Repos – Source Control Management
- Git purpose and Workflow
- Git configuration
- Getting help with git
- Basic git commands
- Remote, status, add, commit, push, log, diff
- Creating and checking out branches
- Creating a repository in Azure Repo
- Accessing a private repository with SSH keys
- Pull requests
- Merging and deleting branches
Part 4: Chef – Configuration Management
- Chef purpose and use cases
- Chef basics: Resources, recipes, and cookbooks
- Chef policy files
- Integration testing with Inspec and Test kitchen
- Chef variables: Attributes and Ohai
- Dynamic file creation with templates
- Using Chef Supermarket and community cookbooks
- Wrapper cookbooks
- Automating infrastructure with Chef Search
- Centralized management with Chef Infra Server
- Automating Chef convergence
- Managing nodes with policy groups
Part 5: Azure Pipelines
- CI/CD = Continuous Integration / Continuous Deployment
- Purpose
- Projects
- Jobs
- YAML scripting – CI/CD as Code
- Managing credentials and secret files
- Integrating with Source Control Management: Azure Repos
- Triggers: Scheduled Polling and Webhooks
- Automated cookbook linting: Foodcritic and Cookstyle
- Automated cookbook testing with Test Kitchen
- Azure Pipelines Integration with Chef Server
- Creating Separate Build and Release Pipelines
- Continuous Deployment of Chef cookbooks with Azure Pipelines
Posted on October 17, 2020 by Yogesh Kumar -
Part 1: Product Agility and Product Ownership
- Expectations, curiosities, and the selection of product idea for the course
- Product ownership
- What is it?
- What’s in it for you?
- Why work this way? How did we get here?
- Steering the bus
- Visibility, control, flexibility, and maneuverability
- Getting buy in
Part 2: Product Over Progress
- Traditional, agile, and product-centered processes overview
- Product centered thinking and principles (blending discovery & delivery)
- Avoid being overly certain
- Validate ideas early and fast
- Develop customer insights
- Practice product-driven architecture
- Embrace responsive engineering
- Building product communities, product owners, users, and markets
Part 3: Early Product Discovery
- Framing design targets and your guess at their needs
- Introduction to story mapping, story splitting, and customer journeys
- Pragmatic sketching, prototyping, and other tools for early validation
- Stories, acceptance tests, and learning from building
Part 4: Roadmaps and Planning
- Making product choices
- Iteratively delivering value
- Sizing and planning across iterations
Part 5: Blending Product Discovery with Product Delivery
- Establishing a sustainable discovery cadence
- Establishing a blended cadence
- Constraints
- Adjusting to delivery constraints
- Blending with operations and support
- Losing “product” in delivery tools
- Investing in analytics
Part 6: Measuring Product Impact
Posted on October 17, 2020 by Yash Sutrave -
Part 1: Aligning product strategy to corporate strategy
- Importance of knowing the corporate strategy and not just thinking you do
- Top-down definition of product strategy that supports and clarifies company direction
Part 2: Market research and validation
- Define the target market and the opportunity
- Growth in your current market
- Growth by identifying and executing in other market segments
Part 3: The other "M" in "PM": Marketing
- A product that can’t tell its story is unfound
- Product Marketing and Messaging
- Marketing deliverable stories
- Write a press release for your proposed release – before you start
Part 4: Creating roadmaps authored for the audience
- Thematic business strategy roadmap
- Partner and distribution roadmap
- Product feature roadmap
- Business product strategy
Part 5: Delivering customer value not just features
- Alignment of training – what have they learned, how do they train
- Alignment with marketing – what should they update, how do they message
- Alignment with sales – enable them, what are they pitching
Part 6: How to tell the market your story
- What business metrics a product manager should be tracking and why no one else is
- How to work with influencers to gain reputable, 3rd party validation
- The power of customer testimonials and how that starts with involving them during discovery and delivery
- Pricing strategies and what to consider when balancing short-term and long-term revenue
Part 7: Monitoring the value of the product
- Churn
- CAC
- NPS
- Know the counter effects of metrics
- Know your customer type and their limitations on providing feedback
Posted on October 17, 2020 by Yash Sutrave -
- 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