Like many companies that use agile development practices, we expect our software engineering teams to show the progress they have made through regular demonstrations of working code.
At Qumulo, every 2 weeks the engineering team hosts product demos. The entire company is invited and it’s the opportunity for anyone to see the incremental progress we’ve made.
We build a distributed, large-scale file data platform, so demonstrating incremental progress on some of our features is more easily said than done. We continue to demo working code to both hold ourselves accountable to do our best at delivering incremental value to our customers, and to provide visibility into our work in a community forum that we find more interesting than a status report.
Agile development with a twist to gain perspective
We are an agile development shop and, if you are familiar with agile development, one of its principles is, “Deliver working code frequently.” Often this is integrated into team deliverables and used as an inspection tool during a sprint review to validate that the goals of the sprint were met. While feature teams do those types of demos for the smaller audience of the team and their product owner and stakeholders, our company demos attempt to tell a slightly different story.
Software engineering at Qumulo includes about 15 feature teams, so to keep demos compelling to watch, we ask each team to keep their demo to 3 minutes. The engineer running the demo is also expected to set up the context of the work for the audience by answering these three questions:
- WHO is this work for?
- WHAT has been improved?
- WHERE is this work going next?
Taking the first step: WHO benefits from this work and why?
Customers are our magnetic field at Qumulo, so all the work that software engineers do is anchored by understanding who our customer is and why this work is important to them. Some of the work that is demonstrated will be things that help us build better products, in that case our customer is other developers on the team. We welcome demos from other parts of the organization too. Sometimes we get a demo from the business systems engineer from our Customer Success team or from our manufacturing systems engineer from our Operations team. Anyone who demonstrates their work starts by describing the customer need this work is intended to address.
Incremental steps: WHAT has been improved since the last demo?
Since we are sharing incremental progress, demos call out what has been improved. The visual impact of the change may be small, but it gives us insight into our co-workers journey and gives the broader software engineering team an opportunity to see the work in action and ask questions. We encourage and seek out feedback at many other points in the software development process, but demos provide a way to look at the work through a wider lens where good feedback and new ideas often surface.
Making progress: WHERE are we going next?
After the software engineering team’s progress has been demonstrated, the engineer shares where the work is going next. Each incremental demo is a step on what can be a long journey to bring exciting new capabilities to our customers. This final question helps place the work in the context of that longer journey so we can both reflect on the progress made to date and anticipate the next set of improvements we plan to see.
While biweekly demos help us bring focus and visibility towards what incremental value we are building for our customers, it also has the benefit of building community across our teams. It’s an enjoyable way to see what other teams are working on. Additionally, we all get to be bystanders on the feature journey to empathize with the problems that were much harder than they first looked and celebrate when those big milestones are achieved.
We’re on a journey and innovate along the way
As our founder and onetime CEO Pete Godman used to say, “2% growth each week is 100% growth in a year.” It is this incremental progress that may feel small week over week that has enabled us to build a great product with foundational features such as erasure coding, snapshots, and replication while bringing market leading data analytics, performance, and scale to our customers.
Recently, the team has been able to celebrate incremental progress on new features such as Qumulo Shift for Amazon S3, improvements to our cloud-based monitoring system, and our new managed service, Qumulo on Azure. Our products and support are consistently praised by our customers and Qumulo is recognized as a leader in the 2020 Gartner Distributed File Systems and Object Storage category.
Interested in joining our team? We’re hiring software engineers!
We are looking for more team members to help us increase the rate of our incremental progress. If you are interested in career opportunities available in the Qumulo software engineering team, please check out http://qumulo.com/eng.