Agile
| Madalin Ilie |
03 September 2019
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 :)
Figure 1 - First Version of the XFD
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.
Figure 2 - A more minimalistic version of the XFD
Figure 3 - The "Christmas" version
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.
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.
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!
04 January 2022
Create Production-Ready, Automated Deliverables Using a Build Pipeline for Games – Part 2
16 November 2021
Create Production-Ready, Automated Deliverables Using a Build Pipeline for Games – Part 1
05 January 2021
Distributed Agile – Closing the Gap Between the Product Owner and the Team – Part 3
22 September 2020
Distributed Agile – Closing the Gap Between the Product Owner and the Team – Part 2
30 June 2020
Distributed safe PI planning
Architecture | Julian Alarcon | 23 July 2019
Architecture | Julian Alarcon | 25 June 2019
Artificial Intelligence | Gabriel Preda | 19 September 2023
Artificial Intelligence | Boris Cergol | 20 July 2023
Technology | Alveiro Garcia | 08 June 2021
Architecture | Matjaz Bravc | 25 January 2022
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