Skip to content
Trans Dutch – trans-dutch.com

Trans Dutch – trans-dutch.com

Agile fantasies and harsh business realities

Ebony Thurston, August 5, 2023August 5, 2023

Chronicles from the trenches.

Nowadays digital transformation programmes are invariably associated with Agile. Organizations want to become Agile since they want to increase speed, efficiency, effectiveness, etc. and Agile promises to deliver all that.

However, what typically happens on the ground is the quick adoption of a number of Agile ceremonies and tools (the likes of standing crowds in some open space corner, yellow stickers based Kanban boards, the ever present Jira, etc.) and the sweeping away of any deeper organization analysis, let alone alignment.

In that sense Agile is remarkably similar to religions. Typically most religions have an exterior part, (i.e. their prescriptive side: Going to the functions at a specific day, do not eat certain food, kneel down at certain moments of the function, etc.) and a substantial or moral part (i.e. behave in a certain way, etc.).

The exterior part is far easier to be adopted and “implemented” and usually ends up being identified with the religion itself.Construction Stage Inspection

Similarly, from the IT trenches you can easily see that most organization cannot even get near at the substantial part of Agile: They just adopt its choreography.

The overall result often materializes in a number of recurring anti-patterns that are remarkably repetitive across organizations, and invariably introduce even more inefficiencies and waste.

The purpose of this brief article is to provide some insights about some of the reasons why this happens and what are the watch-outs.

Basically, far from being tout court derogatory of Agile, this article simply aims at pointing out its many fake implementations, and in doing so, it truly follows one of the Agile key principles, i.e. the one that preaches the need of paying attention to lessons learned and to incorporate remediation actions going forwards.

Below is the relevant principle quoted verbatim: “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly”.

So why not reflecting on how Agile is typically deployed into organizations for real?

The first and foremost observation is that a so called digital transformation almost invariably involves the construction of a distributed solution or a set of solutions.

That is: a solution that is made of a number of components that are required to interoperate seamlessly, some to be built from scratch, some already exiting to be modified/enhanced.

In essence, there will be the need of building a UI layer (either native mobile or hybrid or web-responsive) that connects to an ecosystem of APIs (also typically to be largely built) that in turn will provide access to a layer of legacy systems of records typically via a number of different types of connectors.

So far there is no rocket science. However, the scope of what needs be done is typically far larger than the scope that a pizza-size team can crack, in a self-contained and self-organized mode.

And the latter implies that a couple of cornerstone Agile principles break down just to start with.

Further to that, such a big and complex scope would require, as a mean of technical coordination, an upfront elaboration of architecture (i.e. an engineering focused solution design) that in turn does require some clarity about requirements. And the devil is always in the details: Requirements do not make any exception.

Here, on the requirements elaboration front, is where the first and very evident failure typically happens.

Agile is almost invariably associated with user stories as the format to collect requirements. And most of the time what gets produced is a set of high-level hollow statements, almost never mutually exclusive nor exhaustive, that nobody is really able to make sense of, let alone architects or developers, who almost never really bother to read these small sentences in their hundreds.

And indeed, in fairness, Agile preaches that user stories are not meant to describe functionalities, but rather serve as placeholders for the self-contained and self-organized team to pick them up and further elaborate them (via team communication) to produce all the required details whilst progressing into their implementation. Something that might work only in a self-contained and small team.

So the first failure is requirements. I have seen or heard of programmes that after many months haven’t yet managed to produce any satisfactory description (i.e. with a meaningful level of detail) of the WHAT, in other terms of the functional requirements end-to-end.

Meanwhile the architecture teams, sometimes organized into separate work-streams, each focused on specific ‘views’ of the whole distributed architecture (i.e. data, security, integration, etc.) engage in rather lengthy and unfocused debates on potentially needed new capabilities, failing though to converge into a real solution design that the engineering team can read, understand and implement.

As implied by its subtitle, this brief article is meant to report experiences collected from the trenches; hence it is not my intention here to delve into a detailed analysis of the various remediation I myself have put forward or seen adopted with success.

Its goal is rather to highlight recurring anti-patterns with the aim of awakening pitfalls awareness especially in those non-technical stakeholders who often are the decision makers, so to help them to surely recognize whether their programme has fallen in the same anti-pattern.

And believe you me, the level of noise typically coming up from any one’s organization is such that it is very difficult to understand what is really going on at ground level, despite the many reports that are usually produced, all looking very professional, polished and often really impressive from a graphical point of view.

So what is the main symptom of such not-so-uncommon anti-pattern? In other terms: how do you recognise that your programme has got stuck at the rather basic level of requirements gathering and elaboration?

What do you need to probe to assess whether that is really the case?

Naturally enough you would need to check the artefact(s) used to document the agreed requirements and read them to assess if they describe with enough clarity and comprehensiveness what the solution will do in front of its specified category of user. The latter used to be called an actor and still is within the UML formalism.

In other more mundane terms, and assuming, as typically is the case, that your distributed solution starts with a UI (either mobile or web) you should be looking that the requirement clearly describes the sequence of screens, and for each screen its input fields together with associated validation rules, its combo boxes together with its associated choices and action buttons).

Also, very importantly, look to see if the relevant server-side calls are described in correspondence of any event or user action that can happen on the specific screen.

A server-side call should be documented with a logical name, together with its input and output parameters (again documented at a logical level) and a brief description of what it is required to do from a UI (or front-end ) perspective, again in business terms.

There is nothing technical in here. Requirement is about describing what the UI should be doing from a user point of view, both in terms of screen interactions and calls it (i.e. the UI) generates to perform business operations.

The reading should be sequentially-friendly. That is the document should be amenable to be read sequentially, from the first to the last page, and, page after page, the reader should get ever more convinced that the ground is covered comprehensively and exhaustively with no gaps or vagueness and it makes sense.

This suggestion might look trivial and old-fashion. However, if after months, there is no such description available (with the quality attributes I have just alluded to) it means requirements gathering is still all over the places and your programme has fallen in that not-so-uncommon anti-pattern.

Better still: the same exercise can be organized by leveraging independent judges with clearly defined instructions on how to perform the assessment so to assure objectiveness as much as possible.

And, if beforehand, a requirement template would have been defined with extreme care and attention (as I often recommend) this kind of programme’s progress measurement would be far easier to execute with reliability.

Opinion

Post navigation

Previous post
Next post

Leave a Reply Cancel reply

You must be logged in to post a comment.

Categories

Archives

Recent Posts

  • Black Sweaters Men’s Big and Tall

  • Men’s Collar Sweaters

  • Polo Military Jacket Mens

  • Top 10 Best Sport Coat Rules Comparison

  • White Leather Biker Jacket Mens

  • Men’s Waffle Knit Shawl Collar Sweater

  • Urban Outfitters Costa Mesa

  • Top 10 Best Invalid Use Of Incomplete Type Comparison

  • Natural Wood Shelf Ikea

  • Cowboy Boots Infant Socks

  • Mens Green Suit

  • Top 10 Best Trivet Holder Comparison

  • Top 10 Best Men’s Wool Bomber Jacket Comparison

  • Comparación de Las 10 Mejores Collar Scalibor Opiniones

  • Top 10 Best Slice Indices Must Be Integers Or None Or Have An __index__ Method Comparison

  • How to Set Up a Great Preschool?

  • Wood Shelving Unit

  • Top 10 Best Does a Blazer Need to Button? Comparison

  • A Nursing Home Abuse Lawyer are Provide a Valuable Service

  • Top 10 Best Bg Fishing Reels Comparison

  • Denim White Jacket for Men’s

  • Mens Jacket Online

  • Long Black Jacket Mens

  • Kid Size 4 Snow Boots

  • Top 10 Best Fishing Reel Velcro Straps Comparison

  • Trans Dutch: Top 10 Best Grizzly Drill Press Vise Comparison

  • Sherpa Lining Jacket Men’s

  • Size 2 Infant Shoes Fit What Age

  • Top 10 Best Mitchell Fishing Reels Comparison

  • Men’s Sleeveless Button Up Sweaters Vest

translate dutch
trans dutch

©2025 Trans Dutch – trans-dutch.com | WordPress Theme by SuperbThemes