Sign in

Change is Software’s greatest threat, and its defining characteristic. Disagree? How’s that Agile Transformation going for you?

To explore this cognitively-dissonant statement, we’ll chase some waterfalls as we look at what agility might mean to Software Engineering, and the role that “change” plays in it.

Chasing Waterfalls

Photo by Ezra Comeau-Jeffrey on Unsplash

In the “old days” Software was built with months of requirements gathering and several revisions of comprehensive specifications across various disciplines.

Back when I worked at a prominent ISP, our Product Management group would spend months drafting comprehensive requirements for a new feature or product, into a glorious Product Requirements Document (PRD).

After 7 years…

Me: How am I going to build this API?
Also Me: Am I sure what the UI needs?
Also Me: I won’t know that until I finish the API.

Software Engineering can be rife with chicken-and-egg problems, depending on how many moving parts one has to contend with. Let’s explore them in the context of Web Services, and see how we might more effectively orchestrate them toward superior execution.

The Good Parts

A Web Application, or Service has two main components:

  • Client ( Your web browser or smartphone app )
  • Server ( Something far away from you, way up in the … “…


Hubby, Dad of TWO! Occasional Speaker on InfoSec & Software Craftsmanship. Engineering Software & Superior Teams for 20 years … and still at it. He/Him/His

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store