Ideas to create excitement and add a tangible, physical, nature to software development
Humans do best when dealing with tangible, concrete ideas.
We like things that we can hear or see, feel and touch. Entire industries revolve around souvenirs. Across all religions, we see the senses engaged through both simple and complex symbolism.
The use of idols, incense, and liturgy anchors us and provides direction for us to focus our energy, make connections and find meaning. Humans readily associate meaning to the tangible items in daily life.
Software, by its nature, is intangible. Unlike hardware, we can’t pick it up and pass it around. We can’t drop it or toss it out the window when it makes us mad. And we can’t take it apart, piece by piece, to see what is missing when it breaks.
This intangible nature of software development is further compounded by the often abstract language and goals set forth on our projects. All of this combine to make it very easy to lose our way.
It’s easy to get lost when working with abstract concepts
Pragmatic software development focuses on simplifying development practices to make everyone’s life easier. Ideally, we want to deliver projects on time, as efficiently as possibly, and with high levels of confidence.
And yet, this human need for the tangible is all too easily overlooked and ignored. Too often we turn a blind eye to the problem, despite the fact that this oversight costs both time and money.
Defect Prevention is Abstract
We know that defect prevention is less expensive and less time consuming than defect detection. Unfortunately, in defect prevention, the goal is to prevent something from existing that hasn’t yet been written. Extracting the tangible from the intangible is a daunting task for even the most experienced business analyst or senior QA engineer.
In defect prevention, the mere avoidance of creating something that doesn’t even exist is infuriatingly abstract.
We should then not be surprised that the effort to rally people around defect prevention often fails. In defect prevention, engineers are challenged to find something on which to anchor and direct their efforts. With experience, some of us can maintain focus by sheer force of will, but even then, we often waste enough time and effort willing ourselves into new habits that the opportunity cost of the challenge remains high.
Unlike many people, I enjoy and care about the abstract deeply. And yet, despite my natural affinity for the abstract, I must still acknowledge that it is difficult for me to stay focused and find my balance when I am presented with certain abstract situations and problems.
When managing the abstract, personal awareness is key. I must use various tricks and tips to remind myself to implement practices so that I can overcome the challenge to stay motivated on elusive projects.
Techniques to Maintain Awareness and Find Focus
Prioritizing and maintaining awareness is indeed exceptionally difficult to do when the object of our focus lacks a physical aspect. There are a few simple solutions and techniques that can be successfully implemented in software development.
A simple list makes the abstract tangible
One most effective things I do to maintain my awareness and find my focus is to create to-do lists that break my goals and responsibilities into small manageable tasks. As I accomplish tasks, I check them off, which is surprisingly satisfying.
A simple list makes the abstract tangible and creates an efficiency where before there was none. Before I started to use checklists, I wasted a ridiculous amount of time reassessing and trying to remember what I had done (or hadn’t done), so that I could determine my next actions.
Tangible Project Management
By now you probably recognize that some of the development practices gaining traction over the last few years are attractive because they grant physical aspects to the abstract.
In Agile development, for instance, there is the board that holds the tasks, and the physical act of moving a task is quite gratifying.
In Kanban, we have cards that must be physically walked through the company. The act of handing a card to the next person effectively demonstrates that something is complete, so that something else can start.
Even in the least “Agile” implementation of Agile, we will most often see the physical artifacts survive, whereas the more abstract elements tend to become warped or be flat-out forgotten.
The Power of Tangibility
Physical, tangible objects, are powerful. Finding ways to invest in and harvest that power will drive your project forward. As discussed above, both Agile and Kanban show that we can impart physicality and improve focus on a project by giving it a physical identity and meaning.
But there are other simple, concrete ways to create excitement and add a tangible, physical, nature to software development. Creating a project logo or mascot may appear as a fun distraction, but in fact, by creating an emotional and physical connection, a mascot can genuinely help people focus more easily on intangible project tasks.
Physical Tokens: Mascots & Other Symbols
A mascot can be kept on a desk. A logo can be posted to a monitor or cork board as a physical reminder of the task at hand and the ultimate project goal.
Subsequently, finding a way to reward team members with physical tokens, something small and tangible that can be displayed continues to make project goals and achievements more palatable and real.
In an age where money is also increasingly abstract, and engineers tend to be well paid, a small physical token with little cash value can have more power than a financial reward.
Using Symbols to Create Value When Working with the Abstract
Measuring the effect of symbols on our lives is difficult; however, if you take a look around your desk or those of your co-workers, most people, even the minimalist among us, has a symbol or two on our desk. A picture from of a kid, a gift from a client, a token from our alma mater, a hobby or our favorite team.
All of these symbols (and idols ) allow us as humans, to channel our energy more easily and in a valuable direction. Symbols are concrete, rational, pieces of motivation to which we can also create an emotional connection. All of these factors mean that the use of symbols is a pragmatic and effective tool to rein in the abstract and bring it down to earth.
At one time or another, your team or your organization will have a short or a long period where motivation and focus run astray. Creating a concrete symbol or mascot and an associated system of physical rewards may help bring your team back down to earth and find their focus.
Get your project on people’s mind by making an emotional, rational connection that gets physically in front of them as they work.
What kind of symbols have you used or seen used to represent abstract ideas and to get various stakeholders to find their focus and to drive project success?
If you enjoyed this article, please share it!
Also published on Medium.