DZone
Agile Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Agile Zone > Landscape of Sustainable Engineering Practices

Landscape of Sustainable Engineering Practices

Michael Sahota user avatar by
Michael Sahota
·
Jan. 18, 13 · Agile Zone · Interview
Like (0)
Save
Tweet
5.43K Views

Join the DZone community and get the full member experience.

Join For Free

I want to share an infographic and related narrative that has really helped people emotionally connect with the importance and challenges of sustainable software development practices. I usually show the landscape in a quick introduction to Agile; in two day trainings, I go through an in-depth narrative and discussion.

Sustainable Engineering Practices

The diagram shows technical excellence at the peak of the mountain. The elevation indicates the level of challenge associated with the practices and a reasonable sequence of adoption.

Narrative to Connect at Emotional Level

Here’s an excerpt of the conversation I have when discussing this topic during training:

Michael: Let’s talk about technical practices. How important is version control?

Participants: It’s really important. We use <something>.

Michael: What do you think of someone not using version control?

Participants: High risk, wasteful, unprofessional

Michael: OK, so version control is part of the minimum standard for professional software development. Get a sense of how important it is for you to help someone not using version control.

Michael: Extreme Programming is a part of Agile that is about sustainable software development. This diagram (show diagram) shows the key practices. I am sad to inform you that the bar for what is considered the minimum for professional software development has moved. And this happened over ten years ago. (Dramatic Pause). Where does version control fit on this diagram?

Participants: Before coding standards.

Michael: (explain diagram/practices)

Comments

I almost always get questions about Pair-programming: “Why do we need it?” or “It seems like it would help earlier. Why is it later?”. My answer is as follows. Yes, it really helps to do pair-programming from the start. It is a great practice but it is tricky to get people to buy-in. Pair-programming is located before the sharp ascent required to scale the mountain. The practices here require intensive learning and are difficult to achieve without pairing.

This is a critical topic for anyone building software. See Inventor’s Dilemma and the Design-dead core for another perspective and motivation. For an in-depth simulation to help people experience this, Alistair McKinnell and I created the Sustaining Agility Game.

Acknowledgements

I am deeply appreciative of Alistair McKinnell for developing this infographic with me when building our TDD course.

Software development Engineering Landscape (software)

Published at DZone with permission of Michael Sahota, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • OpenTelemetry in Action: Identifying Database Dependencies
  • Memory Debugging and Watch Annotations
  • Modern REST API Design Principles and Rules
  • What SREs Can Learn From the Atlassian Nightmare Outage of 2022

Comments

Agile Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo