<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=4958233&amp;fmt=gif">
 
RSS Feed

Agile | Madalin Ilie |
03 September 2019

Creating A Visual Culture

My team, which comprises of 14 individual Scrum teams working on a common product, have been using big, visible dashboards since before they became a thing. In fact, we went beyond just using dashboards; we established a form of visual culture. We benefited from having important information displayed in a transparent, simple and easily accessible way.

For us, this applied to everything including sprint/iteration progress, code quality, system test environments health, release readiness (I know what you are thinking, but not all projects are using fully-automated-Kubernetes-driven-continuous-delivery-with-10-deploys-per-day), build stability and many more. Even if everything has a digital format that can provide similar information, we prefer to also have tangible and visual devices amongst our teams. It’s instant and meaningful.

One of the first things we used was an eXtreme Feedback Device (XFD). An XFD is an instant and visual way you can monitor a Continuous Integration (CI) build health. There are a number of creative people within the team. Is there any better way to demonstrate your skills than a DIY tech project that you start from scratch? XFD seemed like a very good candidate.

So, we built one :)

First Version of the XFD
Figure 1 - First Version of the XFD

XFD 1.0

The first version of the XFD was built using:
an Arduino board
an RGB LED
a Java agent that monitored the CI server’s builds and was sending bytes according to the status on a serial port to the Arduino board
some Arduino code that was interpreting the bytes from the Java agent and adjusting the LED lights accordingly

And it worked very well. Build failed! Bang! XFD turned red. Build in progress Bang! XFD was pulsing blue. System test environment was unhealthy! Bang! XFD turned yellow. I’m sure you get the point. We now had instant visual feedback about the status of things that are very important to the team.

The Java agent was configurable, so you could accommodate multiple CI builds or different team events (for example "Start the daily stand-up!") based on specific timeframes.

Over time, as the number of teams increased, the need for diversity also increased. This is why we’ve created different flavours of the XFD. They all work in the same way but had different aesthetics which better suited the teams using them. Some were constructed to be more minimalistic or as "Christmas Light Chains" around the office.

A more minimalistic version of the XFD
Figure 2 - A more minimalistic version of the XFD

The Christmas version
Figure 3 - The "Christmas" version

XFD 2.0

We’ve used the original solution for almost 6 years. An office move last year required the team to move the XFDs as well. This turned out to be a bit more difficult than anticipated, due to the many wires and the bulky design.

It also inspired us to welcome XFD 2.0! This time, we didn’t actually build anything ourselves. Instead, we bought Xiaomi Yeelight RGB light bulbs. Quite cheap, portable and API driven, so very complimentary to our skillsets. We’ve rewritten the Java agent from scratch in order to communicate with the light bulb. And everything was working like before, but in a cleaner, simpler way… until the need for diversity struck again. After all, each team only had one light bulb.

To solve this, we decided to launch a competition between teams. Who could create the best looking XFD while still being powered by the same light bulb? I must say that the results were impressive. We now had 12 really cool concepts providing visual information while at the same time capturing each team's uniqueness.


Some pictures below:

Creating-A-Visual-Culture-4
Creating-A-Visual-Culture-4
Creating-A-Visual-Culture-4

XFDs are not a new concept, in fact they are from the early 00’s – so do they really work?

I strongly believe they do. But they won’t “just work” on their own. You must create a specific mindset within your teams. Culture does not emerge simply because objects are there, like our XFDs. People need to behave in a certain way. This behaviour emerges if individuals recognise that they are part of a bigger picture, if they share a mindset that considers visual items important, deserving both attention and reaction. For us, this visual culture is key for transparency and instant feedback.

Thinking of getting your own XFD 2.0?

You can start to set up your own XFD in 2 minutes with a Xiaomi Yeelight RGB LED. The code is available on GitHub.

Be visual!

Madalin Ilie

Design Authority, Financial Services

Madalin is a tech enthusiast and self-proclaimed geek who is passionate about software development and innovation. With 10 years of industry experience, working on a wide range of projects from small web apps to large scale distributed applications and acting as a design authority for financial services, Madalin's daily focus is on quality, automation, continuous improvement and encouraging others to reach their full potential. When he isn't doing all that, he is writing code, spending time with his family or reading a good book.

 

From This Author

 

Archive

  • 13 November 2023

    Delving Deeper Into Generative AI: Unlocking Benefits and Opportunities

  • 07 November 2023

    Retrieval Augmented Generation: Combining LLMs, Task-chaining and Vector Databases

  • 19 September 2023

    The Rise of Vector Databases

  • 27 July 2023

    Large Language Models Automating the Enterprise – Part 2

  • 20 July 2023

    Large Language Models Automating the Enterprise – Part 1

  • 11 July 2023

    Boost Your Game’s Success with Tools – Part 2

  • 04 July 2023

    Boost Your Game’s Success with Tools – Part 1

  • 01 June 2023

    Challenges for Adopting AI Systems in Software Development

  • 07 March 2023

    Will AI Transform Even The Most Creative Professions?

  • 14 February 2023

    Generative AI: Technology of Tomorrow, Today

  • 25 January 2023

    The Joy and Challenge of being a Video Game Tester

  • 14 November 2022

    Can Software Really Be Green

  • 26 July 2022

    Is Data Mesh Going to Replace Centralised Repositories?

  • 09 June 2022

    A Spatial Analysis of the Covid-19 Infection and Its Determinants

  • 17 May 2022

    An R&D Project on AI in 3D Asset Creation for Games

  • 07 February 2022

    Using Two Cloud Vendors Side by Side – a Survey of Cost and Effort

  • 25 January 2022

    Scalable Microservices Architecture with .NET Made Easy – a Tutorial

  • 04 January 2022

    Create Production-Ready, Automated Deliverables Using a Build Pipeline for Games – Part 2

  • 23 November 2021

    How User Experience Design is Increasing ROI

  • 16 November 2021

    Create Production-Ready, Automated Deliverables Using a Build Pipeline for Games – Part 1

  • 19 October 2021

    A Basic Setup for Mass-Testing a Multiplayer Online Board Game

  • 24 August 2021

    EHR to HL7 FHIR Integration: The Software Developer’s Guide – Part 3

  • 20 July 2021

    EHR to HL7 FHIR Integration: The Software Developer’s Guide – Part 2

  • 29 June 2021

    EHR to HL7 FHIR Integration: The Software Developer’s Guide – Part 1

  • 08 June 2021

    Elasticsearch and Apache Lucene: Fundamentals Behind the Relevance Score

  • 27 May 2021

    Endava at NASA’s 2020 Space Apps Challenge

  • 27 January 2021

    Following the Patterns – The Rise of Neo4j and Graph Databases

  • 12 January 2021

    Data is Everything

  • 05 January 2021

    Distributed Agile – Closing the Gap Between the Product Owner and the Team – Part 3

  • 02 December 2020

    8 Tips for Sharing Technical Knowledge – Part 2

  • 12 November 2020

    8 Tips for Sharing Technical Knowledge – Part 1

  • 30 October 2020

    API Management

  • 22 September 2020

    Distributed Agile – Closing the Gap Between the Product Owner and the Team – Part 2

  • 25 August 2020

    Cloud Maturity Level: IaaS vs PaaS and SaaS – Part 2

  • 18 August 2020

    Cloud Maturity Level: IaaS vs PaaS and SaaS – Part 1

  • 08 July 2020

    A Virtual Hackathon Together with Microsoft

  • 30 June 2020

    Distributed safe PI planning

  • 09 June 2020

    The Twisted Concept of Securing Kubernetes Clusters – Part 2

  • 15 May 2020

    Performance and security testing shifting left

  • 30 April 2020

    AR & ML deployment in the wild – a story about friendly animals

  • 16 April 2020

    Cucumber: Automation Framework or Collaboration Tool?

  • 25 February 2020

    Challenges in creating relevant test data without using personally identifiable information

  • 04 January 2020

    Service Meshes – from Kubernetes service management to universal compute fabric

  • 10 December 2019

    AWS Serverless with Terraform – Best Practices

  • 05 November 2019

    The Twisted Concept of Securing Kubernetes Clusters

  • 01 October 2019

    Cognitive Computing Using Cloud-Based Resources II

  • 17 September 2019

    Cognitive Computing Using Cloud-Based Resources

  • 03 September 2019

    Creating A Visual Culture

  • 20 August 2019

    Extracting Data from Images in Presentations

  • 06 August 2019

    Evaluating the current testing trends

  • 23 July 2019

    11 Things I wish I knew before working with Terraform – part 2

  • 12 July 2019

    The Rising Cost of Poor Software Security

  • 09 July 2019

    Developing your Product Owner mindset

  • 25 June 2019

    11 Things I wish I knew before working with Terraform – part 1

  • 30 May 2019

    Microservices and Serverless Computing

  • 14 May 2019

    Edge Services

  • 30 April 2019

    Kubernetes Design Principles Part 1

  • 09 April 2019

    Keeping Up With The Norm In An Era Of Software Defined Everything

  • 25 February 2019

    Infrastructure as Code with Terraform

  • 11 February 2019

    Distributed Agile – Closing the Gap Between the Product Owner and the Team

  • 28 January 2019

    Internet Scale Architecture

OLDER POSTS