Articles by Willy-Peter Schaub
Why is the Closed Date field empty in my work items?
More importantly, what is the issue and how do we resolve it?
Journal 6 - Empowerment through automation and artificial intelligence
Reshaping the way we work, creating new opportunities to empower engineers by reducing repetitive tasks, enhancing productivity, and enabling focus on high-value activities.
Why Automation Needs People to Truly Thrive
While automation is an essential ingredient for DevOps, it is not a silver bullet.
Agile Planning with Azure DevOps
Recalling the recent agile planning session hosted by common engineering during the +1 innovation and planning iteration.
Azure DevOps Pipeline Blueprints - Open Source Software Sync 20241019
Refactor the building code calls.
DevOps Vancouver Meetup Learnings
Insights gained from hosting six community meetups this year: the positives, negatives, and challenges.
Artificial Intelligence - AI-900 - Quick Reference Poster
A consolidated poster / cheat sheet of my AI-900 study notes.
Artificial Intelligence - AI-900 - Guiding Principles
"Guiding principles aim to ensure responsible and ethical AI development and deployment." - ChatGPT GPT-4o
Artificial Intelligence - AI-900 - Bots
Conversational AI workloads - no longer part of AI-900 certification!
Artificial Intelligence - AI-900 - Common Machine Learning Types
"AI machine learning (ML) refers to the subset of artificial intelligence focused on developing algorithms and models that enable computers to learn from data and improve their performance over time without being explicitly programmed." - ChatGPT GPT-4o
Artificial Intelligence - AI-900 - Common Workloads
"Common workloads in AI and machine learning include data processing, model training, inference, natural language processing, computer vision, recommendation systems, time series forecasting, and robotics/automation tasks." - ChatGPT GPT-4o
Artificial Intelligence - AI-900 - Generative AI
"Generative AI refers to a subset of artificial intelligence that creates new content—such as text, images, audio, or video." - ChatGPT GPT-4o
Artificial Intelligence - AI-900 - Natural Language Processing
"Natural Language Processing (NLP) is a branch of AI that enables computers to understand, interpret, and generate human language." - ChatGPT GPT-4o
Artificial Intelligence - AI-900 - Vision Workloads
"Vision workloads in AI refer to tasks that involve processing and analyzing visual data, such as images and videos." - ChatGPT GPT-4o
Stop the Confusing Language Madness in IT!
Using a common language in IT helps avoid misunderstandings, conserves time, and enhances teamwork.
Journal 5 - Unlocking the Potential of Generative AI
Explore GitHub Copilot's potential to revolutionize code quality, collaboration, and productivity.
Azure DevOps Pipeline Blueprints - Open Source Software Sync 20240816
Improving the configuration file user experience.
Embrace the Future - Use Automation and AI to Elevate Your Engineering Career!
The era of manual testing and coding to a specification is nearly over!
Unleashing the Power of Teamwork: Key Takeaways from Collaboration Ceremonies and Events
Fostering a culture of continuous improvement and innovation through events
DevOps Vancouver Meetup - May 28, 2024
How I learned to develop software like a bureaucrat?
Unproductive Communication - The Silent Productivity Killer That Drives Me Crazy
Stop the context-less "hi, hello, ping, pong, ..."
Automate Azure DevOps work item state transitions like a Pro
Maintain your backlog by changing the status of work items according to the status of their subitems.
Exploring the future Software Development Lifecycle (SDLC) flow
Looking for Insights and Feedback from other pioneers of continuous SDLC improvements.
Decoding the Acronyms: MMP vs. MVP vs. POC
MMP, MVP, and POC: Understanding Their Differences and Choosing the Right Approach
Technology Framework Monitor - Open Source Software Sync 20240510
Shake Off the Dust: Our TFM Software Spring Cleaning!
Azure DevOps Pipeline Blueprints - Open Source Software Sync 20240405
Adding a new blueprint - webapp.
Technology Framework Monitor - Open Source Software Sync 20240322
The broader our scanning efforts, the more technical debt we uncover, enabling proactive resolution.
Azure DevOps Pipeline Blueprints - Open Source Software Sync 20240322
Second update to complete the 101 simplification.
DevOps Vancouver Meetup - March 26, 2024
Recognizing effective DevOps teams and anchors
Azure DevOps Pipeline Blueprints - Open Source Software Sync 20240318
“Constantly think about how you could be doing things better.” - Elon Musk.
Back to Basics: Open Source Software (OSS)
Raising awareness of our open-source projects for knowledge sharing.
Back to Basics: Dealing with Technical Debt
Breaking Free: A Guide to Tackling Technical Debt Head-On
Cheat sheet to migrate generic v1 templates to v2
Questioning the recommended approach to upgrades and the use of generic templates.
Back to Basics - Engineering
The notion of developers relying on testers to validate changes can be so startling that it feels like my head might explode.
Back to Basics: Why are we moving to v2 CI/CD Blueprints for Azure Pipelines?
Understanding why we are disabling classic Azure Pipelines and embracing YAML-based Azure Pipelines.
Back to Basics: Pull-Request (PR) Validations
Why run a validation build in your pull-request?
Back to Basics: WIP Limit
Dealing with a Kanban Board meltdown, by controlling the work in progress.
Back to Basics: Batch Size
Balancing noise and agility with smaller batch sizes.
Why release on demand?
Exploring the deployment rings, continuous delivery and deployment, to discuss release on demand.
DevOps Vancouver Meetup - Engineering Empowerment Session Preparations
Help us prepare our meetup session to ensure we cover what is interesting for YOU!
GitHub Copilot for Business FAQ
Frequently Asked Questions (FAQ) that have been mushrooming during our evaluation phase. Part 2 - FAQ.
GitHub Copilot for Business Setup
Getting started with GitHub Copilot - Part 1: Setup.
Embedding a Quality-Driven Engineering Mindset in Our DNA
An engineering mindset that prioritizes quality is crucial for producing robust and reliable solutions.
Let us Elevate Our CI/IaC/CD Azure Pipeline Flow Together!
Streamline Your Process: Isolating the Provision and Deployment Steps for Efficiency?
Navigating Azure DevOps Complexity: Harnessing Objects to Simplify YAML Template Parameter Management
Seizing the chance to enhance and optimize our CI/CD/IaC pipelines.
Why do we care about infrastructure-as-code (IaC)?
Our vision is *aC, but to avoid boiling the ocean, we will focus on an overview on IaC today.
Innovation podcast with WorkSafeBC and Microsoft
An informal conversation around innovation with Bill, Omar, Sebastian, Sarav, and Todd
Water Cooler Talk - Why Azure Devops is not a silver bullet
Yes, I LOVE Azure DevOps, but it is not the answer to the universe.
Water Cooler Talk - Why is WSBC such a cool place?
At a recent water cooler we chatted about why WorkSafeBC is such a cool place to work for.
Azure Boards Tips - Retain hierarchy with filter
Why does the hierarchy view [not] vanish when selecting a filter?
Configuration and/or Dependency Management
What am I missing? Is this not a common dependency challenge?
BCIT Computer Systems Technology Industry Sponsored Student Project (ISSP)
Today we have open-sourced our Technology Framework Monitor (TFM).
What keeps us awake at night - Technical Debt
Empower engineering without compromising security
Azure Boards Tips - Stop messing with our backlog!
A few useful "did you know" tips when using Azure Boards.
Fail, Learn, Reset, Transform!
“Success is not final, failure is not fatal, it is the courage to continue that counts.” – Winston Churchill
Communication Guidance Sideways (Part 2)
"Not to be missed after you depart." - L.David Marquet
Communication Guidance Upwards
Before you ask for anything, get clarity on the five WHYs!
What about ChatGPT?
A question that made me speechless at a recent Navigating the Future event.
Azure DevOps Pipeline OSS v2.1 Flow
Two pull requests with pipeline updates for your perusal.
Azure DevOps Transient Faults
Be careful not to annoy Azure DevOps with your automated maintenance jobs!
Azure Devops simplicity to rule them all
Keep Azure DevOps setup simple and avoid a lot of pain and waste!
Pull Request empowered by engineering practices
Pull Requests (PR) enable us improve built-in quality, engineering practices, and streamline our continuous integration pipelines.
Fail, Learn, Reset!
"Failure is a good option. If you are not failing, you are not trying hard enough." - Elon Musk
Azure Pipelines Conditional Logic
Make your YAML pipelines more versatile with conditional expressions.
Azure Boards Tips for Operations Teams
A few useful "did you know" tips when using Azure Boards for Operational-type teams.
Azure Pipelines Blueprint QA Integration
WHERE and HOW to integrate quality assurance into our OSS pipeline blueprints.
Our open-source pipeline blueprints have landed!
Lifting the hood of our consistent, standardized, and self-service based Azure Pipelines.
Built-in Quality
Ensuring that our solutions meet quality guardrails and governance from ideation to deprecation.
Servant stewardship of guardrails
You can chose between governance, policies, or standards, or collaborate with us through guardrails.
Our road to OSS Blueprints - Suppress CD when pipeline runs within Pull Request
A glimpse at our OSS progress and how we use the same pipeline in and out of pull requests.
Accelerate DevOps with GitHub Book
"Enhance software delivery performance with GitHub Issues, Projects, Actions, and Advanced Security" - Michael Kaufman
Positive energy goes a long way to encourage innovation
"Every person in your company is a vector. Your progress is determined by the sum of all vectors." - Elon Musk
Visualizing work item dependencies in Azure Boards
We want to plan and manage dependencies across multiple teams areas, providing awareness of the dependencies in a simple way.
Trunk-based branching strategy without the bells and whistles
Keeping it simple and avoiding the soul quenching politics
Automation Mayhem and Angst is normal
Doing a manual and mind-numbing task twice or more? Automate!
The WHY, HOW, and WHAT of our technical blog
Creating a demo pull request and post for our technical blog demo.
Journal 4 - Why are we a (the) place to work for?
Safe and healthy workplaces. Compassionate and responsive service.
Why we use pull requests with our trunk-based branching strategies
Busting a few process myths around branching strategies and pull-requests
WHY are we pushing consistency and standardization?
Balancing autonomy with consistency and standardization.
Stop the meeting overload!
My personal crusade to optimize meetings and associated WASTE
Understanding key metrics for a healthy DevOps mindset
Without real-time evidence, OODA never comes to life.
Journal 3 - Explore the trajectory of our Common Engineering (Ce) ecosystem
Looking at our common engineering team through the management (leader) lens
Make your pipeline badges more compact and meaningful
Tired of cluttering your dashboards with duplicated waste?
How to tame your vacation email traffic
How to ensure you are not confronted by hundreds of emails when you are back-to-work.
Exploring the concept of mob-ownership
We succeed or fail as a team (mob), not as individuals!
Journal 2 - Why do we need our common engineering team?
Introducing the voice of reason and stewards of guardrails
Why can I not just create a working group?
It all depends on the context - [CoE] Working Group
How to track (and optimize) your email traffic
How to stop the insane volume of emails and WASTE!
Journal 1 - What is origin of our common engineering team?
Learning about the genesis of our EDO Common Engineering (EDO Ce) team
Streamlining your pipeline using the magic of YAML-base Azure Pipelines
Teleport to the future, to optimize the YAML-based Azure Pipeline approvals.
An overview of our key collaboration ceremonies
Taking a step back and digesting this week's storm of ceremony posts.
What is our Community of Practice (CoP) and why do we need it?
"People with great PASSION can make the impossible happen" - Elon Musk.
What is our Working Group and WHY do we need it?
Union of laser-focused experts collaborating to empower its parent Center of Enablement (CoE).
What is our Center of Enablement (CoE) and WHY do we need it?
It all starts with people from different disciplines to create a focused competency center and obliterating silos through vibrant collaboration!
Streamlining your pipeline approvals, without flooding DevSecOps with noise
Back to the future, to optimize the Classic Azure Pipeline approvals.
Your old and trusted hammer is not always the right tool for the job
“I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail.” - Abraham Maslow 1966
How to suppress selected logic when running PR validation pipelines
Solving the pipeline-as-code "chicken or the egg" challenge by suppressing selected logic
A peek at our Dream Team Working Agreement Poster
As a team we want to create an empathetic, safe, and vibrant ecosystem
Why I loathe when engineers use TLAs, such as CD vs CD!
The use of TLAs creates subpar collaboration, unnecessary confusion, and unintended waste.
Checkout your git repos at the right time!
Let us explore why the sequence of checkout steps are important in your Azure Pipeline.
Two ways to share your toolbox with your pipelines
Let us review two strategies to share scripts and config files with your Azure (YAML) Pipelines.
Why OODA is one of the DevOps genomes
If we unpack the DevOps DNA we will find a prominent genome labeled O-O-D-A.
Automation enables engineering to focus on value
Asking yourself why you are performing a set of manual tasks again and again? If yes, automate!
Sensei Alex "fakes it until he makes it" in our Test-driven Development (TDD) dojo
Exploring the advantages of Test-driven Development and the concept of self-healing code
Pipelines - Meet our second-generation app-type blueprints
Our quest for continuous improvement, simplicity, consistency, enablement, and automation has taken us into a realm of Azure Pipelines that amaze even our most critical engineers.
Stop the context switching, reduce waste, and focus on value
A work-life balance is important, however, I believe that stopping waste and focusing on value is just as pivotal!
Gotchas when sharing variables with Azure DevOps stages and jobs
Understanding and avoiding gotchas that may keep you up at 2AM, troubleshooting YAML-based Azure Pipelines
Self-service automation - A dream turns into reality
Automate a “hello world in less than 1min”, also referred to as our “walking skeleton”.
Our quest to share our knowledge with the world, keeping it interesting and informal
Understand how to navigate and create content for our technical blog.
Why we should (not) care about Pipelines!?!
Enabling engineering to continuously build, validate, and deploy secure solutions to delight our customers
Quick Reference Sheet for Pipeline Terminology
Summarising the core terminology and lifetime of our pipelines.
Manage your Azure DevOps User Access Levels through automation
Quick overview how our Azure DevOps access level audits and management automation using PowerShell, REST APIs, and Richard's WIKI Updater task.
Can we enact governance through engineering-friendly manifestos and guardrails?
The best way to create an engineering revolt is to enforce governance with the big stick.
Lunch & Learn - Revisiting Feature Flags
Manage your blast radius through progressive exposure with feature flags
Enable Agile, Kanban, Scrum, or SAFe with Azure DevOps
Use Azure Boards to visualise a variety of processes using the Agile process in a single Azure DevOps project.
Quick Reference Sheet for Application-type Blueprint-based Pipelines
Summarising the main points of our 2nd generation app-type blueprint-based pipelines.
Azure DevOps Experimentation - YAML Conditionals, Parameters, and Triggers
Snippets of common questions and issues from Azure Pipeline workshops and support calls. Today's snippet includes conditionals, parameters, and triggers.
How to share variables amongst Azure Pipeline agents
As per documentation, output variables can be used across stages in an Azure YAML-based pipeline. I will share a few turbulent moments we experienced while troubleshooting this feature in one of our pipeline blueprints.
Part 8: Pipelines - From CI to CD and beyond in one pipeline
Continuous Deployment is a pivotal ingredient of a healthy DevOps mindset and our ability to delight end-users with continuous value. It is the holy grail of our profession.
Quick peek into regular expressions
Regular expressions are fundamental to programming
Quick Reference Sheet for YAML and Generic Blueprint-based Pipelines
Summarising the main points of YAML syntax, within the context of our generic blueprint-based pipelines.
Pipeline-as-code wrapped with Pull Requests
This post attempts to give our critics some answers and scratch the surface of the possibilities and values of our new blueprint-based pipelines.
Find the capabilities and IP addresses of an Azure DevOps agent
How to find more information on hosted Azure DevOps agents, such as capabilities and IP addresses.
Wandering down memory lane - feature flags
Use feature flags to fine-tune each release in production.
Part 6: Pipelines - Gotcha! The generic blueprint-based YAML pipeline simplicity
Neither the bootstrap nor generic templates are rocket science, and the YAML-based pipelines are as complex as you make them.
Part 5: Pipelines - Blueprints to fuel consistency and enablement
Think of blueprints and associated templates as re-usable LEGO blocks, ranging from a bag of "do it yourself" blocks, to complex and detailed kits, such as the Imperial Star Destroyer.
Part 4: Pipelines - Magic of queue time assembly
We can use the power of the new multi-stage YAML pipelines to make even our most critical security engineers smile from ear to ear.
Part 3: Pipelines - Basic building blocks as templates and sprinkling on telemetry
With the support from all people, YAML templates support our five (5) core goals and pillars of our common engineering system.
Part 2: Pipelines - Introduction, variables and why spaces matter
The new Azure DevOps YAML pipelines have been the focus of innovation, enabling engineering to treat pipelines as code.
Part 1: Pipelines - Why bother and what are our nightmares and options?
Pipelines enable engineering to continuously deliver value, map and improve their processes and workflows, promoting consistency and reliability across the organisation.
Shift LEFT and RIGHT to take yourself off the humbling 2AM calls
We need to avoid the infamous 2AM call!
The clash of Azure DevOps Kanban fields and Shared Area Paths
Shared area paths can introduce inconsistency and confusion.
Searching for common nodes across area paths
How can we find area path with specific text in their name?
Use Active Directory Groups in your unified classic CI CD pipelines
Instead of managing permissions for users in Azure DevOps, we use Azure Active Directory groups to fine tune permissions
Use the move to team project feature with caution!
The "Move to Team Project" feature can reset your work item state and dates
Pull Request is your friend not foe!
There is a debate around the value of pull requests (PR), fueled by unfortunate misunderstandings.