Andrew Khoury
Home
Andrew Khoury icon
About Drew Drew's Manager Readme In public (Meetups and Conferences)
Learn icon
Self-Paced Learning Learning Program & Community Code
Good Software Delivery
Community

    Good Software Delivery

    Good Software Delivery (GSD) is the name for a set of best practices that help teams deliver high-quality software to production in minutes, not months.

    While the term GSD may be new for you, you may already be familiar with the core tenants of GSD that have formed as best practices for delivering software over the last two decades.

    • Developer Effectiveness
    • DevOps as a culture
    • Product thinking
    • Extreme Programming, Continuous Integration, Continuous Delivery

    By combinding these approaches for software delivery into a repeatable patten I've seen great success and growth across individuals, teams and organizations:

    • I've been able to apply GSD to multiple client engagements, both at the team level and scaling to many teams through organization-wide programs (driven by communities of motivated people).
    • Internally, my teams apply the same principles which we practice and refine to ensure we're also performing at our best
    • I've had the pleasure to see my team members move to other teams and share the same practices and success internally and with other clients
    • When team members moved to different companies, they've reported success in implementing these practices in their new organization

    What is Good Software Delivery?

    :left Good Software Delivery is about establishing a system of software delivery to production that encompasses all of the security and compliance requirements checks in an automated fashion that can be run and reported on earlier in the SDLC before the final delivery to production.

    The intent is to increase confidence in releases by trusting development teams to run pipeline automation that audits their changes but then verifying via automated reports when ready for production. - Paul Kordes

    In typical scenarios, although software goes through various levels of testing and packaging before delivery to production, there are many additional steps by other siloed departments such as security and compliance before it is deemed truly fit for deployment. The actual requirements to pass these screenings is often only known by the specific department that is directly responsible for doing large amounts of manual inspections and auditing. The end result of this process is that a Sprint is finished and the Engineering teams believes something is ready for deployment and has already moved on to new work only to find out that it did not pass security or compliance screening and changes will need to be made. The result is slow and frustrating to both teams as there is very little understanding of the overall process.

    Leveraging GSD brings visibility and early detection of issues such that the software being delivered can be relied on to be truly complete and ready for deployment.

    Learn about Good Software Delivery

    Below are articles, code repositories, interactive learning modules, and demo apps using GSD practices.

    3 Musketeers for an awesome developer experience

    :left One of the core principals behind Good Software Delivery is ensuring Consistency, Control, and Confidence in the automation that developers use every day, while still maintaining a high degree of autonomy and trust.

    This is made possible by implementing a pattern called 3 Musketeers in every pipeline.

    3 Musketeers is made up of 3 technologies. They are make, docker and docker-compose. The 3 main pillars are Consistency, Control and Confidence.

    James Noonan has produced a set of 3 musketeers katacoda scenarios to introduce you to the 3 Musketeers, so you can take advantage of it in your own pipelines.

    • 3 Musketeers Intro - Test, build, and deploy your apps from anywhere, the same way
    • Env Variables - Make, Docker Compose & Env Vars
    • Convert Python to 3 Musketeers (Taking a single python file and implement the 3musketeers patterns)
    • Java to 3 Musketeers (Starting out with a gradle spring boot application and implementing 3muskteers patterns)

    GSD Hello World Demo - Trust and Verify

    https://github.com/contino/gsd-hello-world

    The GSD "Hello World" app is written in Golang and wrapped in Docker via 3 Musketeers.

    This repo is a demo of how you might implement a set of concepts that make up a "Trust and Verify" pipeline, which is a concept within the practice of GSD. This repo is a learning tool that can help you explore the concepts of GSD & Trust and Verify. The intention is to offer you an implementation that's simple enough for you to get hands-on quickly, with the opportunity to extend it for other use cases, or simply take the learnings into your existing software development for the concepts that apply to your use case.

    GSD Hello World (Golang)- Trust and Verify Pipeline is an interactive learning module shows the capabilities of the GSD - Trust and Verify Pipeline.

    Good Software Delivery Posts


  • How to implement Good Software Delivery in 30 seconds

    Nov 11, 2021 · 6 min read · DevOps Software Development Pipeline as Code Docker Software Engineering medium  ·
    Share on:
    How to implement Good Software Delivery in 30 seconds

    Good Software Delivery (GSD) is the term we use for the set of practices that help deliver, well, good software. There’s a focus on short feedback loops, a consistent developer experience, with more time spent delivering and less time spent on chores like workstation setup and debug. For context, I’ve previously …

    Read More
  • 3 Musketeers for an epic Developer Experience

    Aug 28, 2021 · 2 min read · Docker Developer Experience Development Fast Feedback Make medium  ·
    Share on:
    3 Musketeers for an epic Developer Experience

    We all want to reduce toil and improve the developer experience (when starting new applications or joining the team). Developers have had to invest significant time in creating production-ready pipelines when building new products and configuring their workstations when joining teams. Their workstations may not run all …

    Read More
  • Good Software Delivery — Trust and Verify

    Aug 24, 2021 · 1 min read · Pipeline Automation Cloud Computing Developer medium  ·
    Share on:
    Good Software Delivery — Trust and Verify

    I’ve decided this week is Good Software Delivery week! #goodsoftwaredelivery The concept of GSD is something I’ve implemented for clients in one form or another over the years, and you might have done something similar without knowing it. I remember one particular collaboration with a small but amazing team. We helped …

    Read More
  • How Cloud Transformation at Scale can enable Good Software Delivery

    Aug 4, 2021 · 4 min read · Cloud Transformation Development Cloud Computing DevOps Cloud medium  ·
    Share on:
    How Cloud Transformation at Scale can enable Good Software Delivery

    Why should you transform? Each person, team and organization is going to be on their own journey to cloud, writing good software and attempting to delight customers, or increase profitability. Finding your why can take some time and deep thinking (and deserves a whole blog to itself). For now here are some common why’s …

    Read More
  • From DevOps to Good Software Delivery

    Jul 21, 2020 · 1 min read  ·
    Share on:
    From DevOps to Good Software Delivery

    Andrew Khoury & Ralph Bou Mechrek: Principal DevOps Engineers @ Contino. Putting the Good in Good Software Delivery With so much progress in "Agile, DevOps and Automation" writing Good Software in 2020 should be easy - so why are so many companies still struggling? Somewhere along the line we got lost, …

    Read More
  • Why Business Value eats DevOps for breakfast

    Jan 11, 2020 · 5 min read · DevOps Business Value NoOps Technology Cloud medium  ·
    Share on:
    Why Business Value eats DevOps for breakfast

    It’s 2020 and my new years resolution is to keep a list of words that deserve to be on the naughty list: DevOps Agile Requirements It’s not that these words are inherently bad — but my industry has twisted, abused and polluted them leaving behind a trail of over-engineered solutions and misguided teams. For an …

    Read More
  • One DevOps Please — Part 2

    Nov 23, 2019 · 9 min read · DevOps Transformation Lean Business Transformation medium  ·
    Share on:
    One DevOps Please — Part 2

    “One DevOps Please” — Part 1 recap: DevOps is part of a learning journey for people We can categorize how people learn in 4 Stages The hardest part of the learning process can be a willingness to learn Companies don’t transform just because we teach a handful of people in isolation (BottomUp) Organizational …

    Read More
  • One DevOps Please — Part 1

    Oct 16, 2019 · 5 min read · DevOps Learning Transformation Organizational Culture Organizational Change medium  ·
    Share on:
    One DevOps Please — Part 1

    One DevOps Please — An Enterprise Journey to a DevOpsy-Cloud “I’ll have one DevOps please.” Over the last few years large organizations have been coming to consultants like myself to ask for help “Installing DevOps” into their organization. Some of them just want kubernetes clusters, while others are talking about …

    Read More

Andrew Khoury

Strategic Principal at Liatrio, advocate for Business Value, Lean, Cloud, Automation, DevOps, Containers, data-driven decisions.

Good Software Delivery (GSD) - The set of practices that help deliver good software.
Read More

Recent Posts

  • Tips for how to use 3 Musketeers to supercharge your Developer Experince
  • Optimizing for a Cloud-native Developer Experience
  • A Well Architected Landing Zone
  • Value Stream Map (VSM) Visualization
  • How to implement Good Software Delivery in 30 seconds
  • Miro Masterclass
  • The great tech debate
  • Technical Principals at Contino

Categories

PUBLIC 11 GSD 8

Tags

MEDIUM 23 DEVOPS 14 CLOUD 4 CLOUD-COMPUTING 4 DEVELOPER-EXPERIENCE 4 AGILE 3 CONTINO 3 DOCKER 3 LEADERSHIP 3 LEARNING 3 AWS 2 CONTAINERS 2 DEVELOPMENT 2 GOOGLE-APP-ENGINE 2
All Tags
3-MUSKETEERS1 AGILE3 ANSIBLE1 AUTOMATION1 AWS2 AWS-NETWORK-FIREWALL1 AWS-PRIVATELINK1 BUSINESS-TRANSFORMATION1 BUSINESS-VALUE1 CLOUD4 CLOUD-AGNOSTIC1 CLOUD-COMPUTING4 CLOUD-STRATEGY1 CLOUD-TRANSFORMATION1 COLLABORATION1 CONSULTING1 CONTAINERS2 CONTINO3 DEVELOPER1 DEVELOPER-EXPERIENCE4 DEVELOPMENT2 DEVOPS14 DEVOPS-TRIANING1 DOCKER3 FAILURE1 FAST-FEEDBACK1 GOOGLE-APP-ENGINE2 GOOGLE-CLOUD-PLATFORM2 GSD1 HIGH-PERFORMANCE-CULTURE1 HIGH-PERFORMANCE-TEAM1 HIRING1 LANDING-ZONE1 LEADERSHIP3 LEADERSHIP-COACHING1 LEADERSHIP-DEVELOPMENT1 LEAN2 LEARN-TO-CODE1 LEARNING3 LINKEDIN1 MAKE2 MANAGER1 MEDIUM23 MEEETINGS1 NOOPS1 OFFICE-HOURS1 OPTIMIZATION1 ORGANIZATIONAL-CHANGE1 ORGANIZATIONAL-CULTURE1 PIPELINE1 PIPELINE-AS-CODE1 SOFTWARE-DEVELOPMENT2 SOFTWARE-ENGINEERING1 SRE1 TECH-LEAD1 TECH-LEADERS1 TECH-LEADERSHIP1 TECHNICAL-CONSULTANT1 TECHNICAL-DEBT1 TECHNICAL-LEADERSHIP1 TECHNOLOGY1 TRANSFORMATION2 UNCONFERENCE1 VISION1 VSM1 YEOMAN1
[A~Z][0~9]
Andrew Khoury

Copyright  ANDREW KHOURY. All Rights Reserved