Evolv is a medical device manufacturer that specialises in developing affordable rehabilitation technologies for neurorehabilitation, orthopaedic rehabilitation and healthy ageing. Our flagship product EvolvRehab uses the latest in Virtual Reality and motion capture technologies combined with gamification to complement traditional therapy methods. We help increase access to and intensity of specialised therapy for persons of all ages and levels of disability.
EvolvRehab has been used in over 20 countries around the world and has been rolled out in hospitals, clinics, residential care homes, patient associations and used by patients in their homes through the Evolv telerehabilitation service. We work extensively with different Microsoft services such as Azure, Teams, Power BI, and products including the Azure Kinect, as well as working with Microsoft on various healthcare initiatives around the world.
We just recently started using Azure DevOps – it’s really changed how we operate, to be honest with you. When Alba Castellón de Frias came on board as Program Manager she brought previous knowledge and experience of working with DevOps with her, and while our parent company had recently begun to use DevOps, we hadn’t yet incorporated it into Evolv. Alba had used it extensively in her former job, so we made the transition to using DevOps based on Alba’s recommendations and deep knowledge of how to use it to make development work more efficient.
Starting the DevOps Journey
Getting started with Azure DevOps took us approximately a month, taking into account that it was not a full time task; we had to combine it with others tasks while still working on CI/CD. Because of this, we first used Azure DevOps for source control.
When we decided to go further with Azure DevOps the first decision was to choose the process template, and our decision was to use Agile. Once we had Agile for processes it was time to start with the backlog, gathering any and all ideas, features and bugs from across other documents and get them all in one centralised location.
From there, Alba created Personas in Azure DevOps to keep the focus on the end users – who we’re developing for and what their requirements are. Creating user stories allow us to deliver the highest value by focusing on small and immediate customer needs and creating bug reports on all known technical issues.
In our case, as we have a rehabilitation therapy platform, our end user is ultimately the patients. There are also the therapists working with the patients, as well as administrators at therapy centres, so we have to make sure our platform checks the right boxes for each and every one of them.
We then get a view of what’s being developed for who, what boxes are being checked, what the timeline for each feature looks like and any bugs that have been found along the way. It’s a great way to visualise how the application and its features are coming together.
This is useful even for the people in the company that are not technical, as they can use Azure DevOps to log bugs and feature ideas while using the EvolvRehab application. Our sales and clinical team also use it to directly report bugs, upload potential new features recommended by clinicians and patients, as well as see what’s happening in the dev pipeline which may influence conversations with existing and potential clients.
The Developer Experience
Gorka Yanguas is a developer here at Evolv. We asked him for his thoughts on Azure DevOps and what the process has been like adopting it.
Azure DevOps has made the development process very agile. The process of committing changes and pushing them with Git is so much clearer than it was before, and the sprint and backlog windows are so helpful in being able to track user stories and bugs.
I didn’t personally have any prior experience with DevOps. That said, it took me very little time to get used to it, as everything is pretty intuitive even for someone who may not have heard of every concept used in Azure.
Personally, I really like the combination of Azure DevOps with a version control system such as Git. It makes tracking the development and testing of a project really clear, and the fact that it brings a lot of automatisation to the mix is the cherry on top.
Alba’s advice for using DevOps
My advice would be to start using DevOps and to not be afraid of change – whether you use Agile, Scrum or something else, see how it goes and you’ll know whether or not it’s right for you. Start with the backlog – as you’ll have a better picture of your project and the changes you want to track when it’s all in one place.
From there you should play with the Azure DevOps dashboard – out of the box it comes with lots of metrics that you’ll find incredibly useful, and when you’re ready to go further, start looking at pipelines, continuous integration and continuous deployment as these will really make the difference.
These metrics are also really good for efficiency, as it allows you to see how long certain features or processes are being worked on. It’s then possible to be reactive and adjust how things work going forward. It also means that you don’t have to ask developers what they’re doing, as it’s all tracked within Azure DevOps.
Once you’re comfortable, you can start to use extensions to customise your experience. We’re currently using several extensions as part of our workflow:
- Code Search: This is essential for us, as it gives us an effective way to search through code.
- Personas: As mentioned earlier, this helps us to stay focused on who are we are developing for.
- Pull Request Merge Conflict Extension: Very useful to resolve merge conflicts on the web as a part of the pull request merge, instead of performing the merge and resolving conflicts in a local branch.
- SpecMap: This helps us to visualise the backlog and plan releases.
We’re also working on getting Azure Pipelines up and running. We have some dependencies to third party components, and we’re migrating pipelines from Jenkins too. It might seem like a tough process but I would encourage using Azure Pipelines, as once you have the pipeline working it really makes a difference in terms of automation and reliability.
Using Azure DevOps is a tool that really helps you to bring DevOps culture in your organisation, and is not an end unto itself. But for developers looking to bring Azure DevOps into their business, the official documentation is a very good starting point.
Looking to the future
The learning process is ongoing, but it was really quite easy to get to grips with, even for non-programmers. The interface is very familiar to other Microsoft products, so in that respect it was quick to get up and running.
We plan to continue to integrate more Microsoft services into EvolvRehab including Teams, Power BI, Cortana, Machine Learning and Bots. We’re focussing more and more on the use of EvolvRehab out of hospital and clinical settings and more in the community, including residential care homes and directly in patients’ homes.