Skip to main content

The bigger the rock, the smaller the pieces need to be



You know what I really, really value in a fellow professional in the information technology delivery world? That special, magical ability to decompose a large (and potentially complex problem) into small, simple subtasks.

A child can do this right? This is 'Being a Human Being 101.' So why is it a behaviour that eludes a large percentage of those in the information technology industry. This is a trait of people who I like to call 'people who get things done.' Not through heroism or great feats against monolithic bureaucracies, but a simple application of critical thought.

Is there a problem here? 

People like the idea of building big stuff, stuff to "get hold of", its very grand to say we're building an "enterprise level" application. In that vein, I hear "well, this a step change to the product" or "there is no value in splitting up the project into smaller deliverables" on a regular basis. The justifications of the desperate, determined to protect bloated road maps which perpetuate their own existence.

At its root, the real problem with big stuff is that its is counter to how our brains actually work. We are overwhelmed by it, we cannot hold it within our puny cerebrums. Small stuff is natural, we can encircle it with thought and apply ourselves to it. We can be happy that its done, or at least that its time to stop.

If you are going to be marching for a year, you need plenty of opportunities to stop off on the way. Save it all up for one payload and you are likely to trudge forwards with your eyes to the floor for a large part of the journey. Your destination may well be on the other side of the horizon before you realise. 

So why do I see this all around me? 

Aside from my own bias, its actually a thing which takes thought and effort. It's easier *right now* just to plough on and not consider how an entity can be decomposed. At least that shows progress right?

Wrong. This stems from the perception that skilful decomposition is perceived to be responsible for initially 'slowing down' a delivery, while a slice of functionality is built. Speeds up your ability to generate feedback though. Which then means that you are more likely to deliver the right thing. Which, from experience, means you build what's needed, rather than spending time on what isn't.

Can someone be explicitly taught this ability?

I believe so, although its rarely that simple. At its heart is the ability to recognise flows, change the angle of approach when required, and the application of systems thinking. Decomposing complex systems or problems into simple rules of thumb is critical to an iterative delivery. 

I always like the thought of splitting an entity by the questions you wish to answer about it. Or consider the simplest thing you can do to overcome a constraint, expose information about risk or deliver customer value. I always imagine the entity as sphere and I can go anywhere around its surface. Eventually, I'll see the angle of approach. Hey, its the way my mind works. I have to apply the mental brakes, think, rather than plough on. Its taken some practice and discipline on my part.

This ability enables that most precious of habits, that of delivery of value. For now, the delivery of unvalue is pervasive to my eyes, but I'll strive to ensure that this special but underrated ability continues to have a place in the world. 

Comments

Popular posts from this blog

Testers Guide to Myths of Unit Testing

One area that testers might be able to enhance their contributions to software development teams is how we perceive and contribute to unit testing. I believe testers busting their own illusions about this aspect of building something good would bring us much closer to developers, and help us realise what other layers of testing can cover most effectively.

Also, I want to do a talk about it, so I figured I would test the premise, see if potential audiences were into it. I put this on Twitter:
Working on a talk about what testers might believe about unit #testing & how we interact with developers creating unit tests. Any challenges/additions for my list below? #development#agilepic.twitter.com/4oT5HE4qs3 — Ash Winter (@northern_tester) December 19, 201730 replies with ideas tends to indicate that people might be into it. 
The ListI thought, as my final blog of 2017, I would provide a super useful list of the myths and legends we as testers might believe about unit testing:
That developer…

Wheel of Testing Part 3 - Applications

I've only had to quit two jobs to finally find the time to finish this blog series. Winning at life. If you need reminders (like I did) check out Part 1 and Part 2 before reading on...

After the first two blogs regarding the Wheel of Testing, I was delighted to receive a few requests for the wheel itself, which got me thinking about applications of it, beyond what its original intent was, which I've explored in detail in part 1 of this series of intermittent blogs. Most models need a little air time to show their value, in software development we crank out models all the time, but I'm not sure how many get used. I am inspired by models such as the "Heuristic Test Strategy Model" by James Marcus Bach, as I have used it and seen the benefits it has brought for my clients, particularly the ability to ask questions. So, I wanted to create a model which has a number of use cases, both real and imagined:

Helping to unlocking a career in testing which may be stuck

It is no…

Why do Testers become Scrum Masters?

It was late and I was stuck on a train, so I pondered on the question of why do testers often (in my experience) become Scrum Masters. Its a very dear question to me, as its been a big part of my career journey In fact, I've been there and back again. Tester to supposed-to-be-testing-but-being-a-Scrum-Master to Scrum Master, back to Tester and very happy thank you.

I encapsulated my reasoning in the following:
Long train delay, decided to think about a thing. :) Why do testers (in my world anyway) often become Scrum Masters? #testing#agile#scrumpic.twitter.com/FGGXFiBGz1 — Ash Winter (@northern_tester) February 13, 2018The tweet got a lot of traction, and generated a couple of interesting threads which made me think.
Great list. Personally I think that as a scrum master I can add even more towards the goal of quality. — Christian Kram (@chr_kram) February 13, 2018 Perhaps part of the reason for the transition is a growing appreciation of where quality has its roots? If testing i…