How does a feature actually get delivered? I thought you might be interested, so I’m going to whizz you through the lifecycle of one of those 18 features released today…”Quote Timestamps”.
I suspect that our subscribers will unanimously agree that we’re continually improving our system. I’ve written many times about the frequency of our seamless software upgrades which add new functionality and optimisations to what we believe to be an industry-leading software platform. Just today I’ve had the pleasure of sending out another mail-out to our users, detailing not 1, not 2, but 18 new toys to play with – all of which are live on our customers’ systems today for their procurement pleasure. Here’s a hugely-condensed process for one such feature:
Listening to Customers
Our Trello board is packed full of feature requests. In fact it’s brimming with so many innovations that Trello often warns me that I might want to consider splitting it in half to speed things up! A new idea emerges from a customer – which in all honesty seems pretty obvious in retrospect – why not add timestamps to Corporate quotes? After all, it makes sense to be able to sort new and updated offers from Suppliers as they compete for the procurement prize. A card is created in Trello, and we stamp this with the customer’s name – so we know who came up with the idea. Over the course of the next few months, other customers ask the same (or similar) question. Onto the board their names go, slowly but surely highlighting that this idea is one which may be highly rated by our subscribers. Each customer gives a different view – and that’s important. For now, the idea card becomes awash with comments.
Creating the Concept
Now it’s time to get creative. We’ve a number of popular ideas, just itching to be refined and condensed into a firm concept. Enter the UtilityClick support team. That’s right – not just the management team – but everyone. Ultimately, features benefit our customers – but it’s important to us that our entire team understands and collectively inputs into any new features we may deploy. Lucky for the Quote Timestamps card, it’s gained enough traction to be promoted to concept. So starting with a solid foundation (the comments saved over time from our customers), we’re in a great position to firm up the idea of time-stamping corporate quotes through Q&A. At what point will quotes be stamped? Should the user be able to change the timestamp? Should these timestamps apply to SME quotes as well as Corporate? How will the user interface look? How will this impact our customers’ existing processes and data? A lot to think about – and many coffees drunk in the process!
Technical Planning & Risk Assessment
It’s all very well proposing a new feature, but how feasible is development? Once the concept card has been approved for technical evaluation, it’s moved across to our development team, to pose their own questions and assess the implications of adding the feature to the system. Some features require changes to database schema (layout). Others are more simple code-only edits. Some features require editing 20 different files and functions within the codebase. Others can be as simple as a one-word change. In the case of our Quote Timestamps function, the assessment comes back. We’ll need to edit the database layer, implement new logic when creating and editing quotes, amend the user interface HTML to account for new columns and content, and run additional tests to ensure stability post-release and ensure code can be rolled-back (reverted) if necessary once the feature goes live. This might sound pretty extreme, but it’s day-to-day life for the UC development team. The risks and benefits are weighed up, tweaks made to the concept where necessary, until we’re ready to approve development.
Signed, sealed, but not yet delivered – our upcoming Quote Timestamps feature is now in the priority backlog. It’s been promoted to an entirely new Trello board, and is sitting there pleased as punch ready for the real fun to begin: coding. But just like joining the back of a Post Office queue – there’s going to be a wait. Every feature further ahead in the queue needs to be safely implemented before Quote Timestamps gets its time to shine. This may run like clockwork. It may even take less time than expected – it all depends on snags, improvements and tests that can slow down and speed up the production line further ahead. But once development of the feature begins, it’s a coder’s dream. Our developers are presented with a detailed proposal (which they’ve already approved) and this means efficient development – a trait we’re very proud of here at UC. Code is edited, adapted and tested by our techs, before being ‘committed’ and deployed to our testing environment. Importantly, at all times our support and management team are there to provide feedback and input as questions arise. We never leave our developers in the lurch.
Assured by our developers that Corporate quotes are now being timestamped correctly, we excitedly rush to our testing environment like kids to an ice cream van – eager to see the new feature in action. Our testing environment is the real deal. A fully fledged mirror of our production infrastructure to give the most realistic testing conditions possible. But before being tested by humans, our automated testing process runs checks on the entire codebase – to identify potential holes which can be filled. Once passed, the process of human acceptance testing begins. Involving our team, we let the feature loose within UC with the intention of trying to break it. The more people testing a feature, the more wild and wacky bugs we might find – because whilst a system is process-driven, there’s always slightly different ways of doing things. Reporting back to our devs, the feature is refined and completed through a cyclical process of development and testing. In the case of Quote Timestamps – the UI was amended following feedback, and several minor bugs were fixed before we were all happy with the feature.
Roll-out / Deployment
It’s ready. And the efforts made by our entire team result in a package of code which can be deployed to our customers. Depending on the feature, this might mean a selective roll-out at first. Or it could be full-scale, meaning it’s made available across the board at the same time. In the case of Quote Timestamps, it’s the latter – and we schedule a deployment for the feature with our automated deployment system. At a time pre-planned and scheduled, databases are updated, and new code is sent to our web applications. Seamlessly, the new code becomes live – no downtime, no interruption. And our customers can start to enjoy the new feature immediately. Once live, we test and test again – ensuring we’re happy things are running smoothly.
But it doesn’t end there. Careful planning and development is only part of the process. The real test is the point at which our customers start using a feature. Quote Timestamps has been live now for 1 week – and we’ve received positive feedback from our customers who can now keep track of new prices for Corporate tenders. But as the feature is used more and more, we will inevitably improve and tweak its function – to make sure our customers get the most out of our combined efforts.
Now onto the next feature!