Remote Working as Standard
Life as a researcher can be hectic, with so many conflicting priorities slicing your time ever thinner. We understand, many of us in Research IT left research careers ourselves to serve the community in our current roles! In the MDS, our developers often work from different offices, either on campus or at home. As a result, from day one, we set ourselves up to make sure we can work closely together while being physically apart. This, coupled with our process-driven workflow, ensures we deliver quality software that meets your requirements by putting researcher involvement at the core of what we do.
All MDS developers have a laptop instead of a desktop. We all use mobile workstations from the ITS extended catalogue. We use the University Dropbox for Business account to share documents and files associated with a current project and online systems for project management and tracking. With code residing in remote repositories, developers have no project-related material on their local hard drives that is inaccessible to other developers. This makes sharing automatic and implements a natural redundancy in the event a developer is absent.
An Agile Approach
In MDS, our projects are managed using an interpretation of Agile methodology. Researchers are our “Product Owners” and our development proceeds in short bursts called “Sprints”. Requirements and the tasks required to satisfy those requirements are managed on a team-visible, online KANBAN board. This visual way of representing project progress saves time and effort in writing status reports and helps our developers focus on getting the software built. Code is stored in the Research IT GitHub [GS1] [AH2] repositories and so is accessible remotely by all MDS developers. After every sprint, we share a prototype of the app with the product owner to solicit feedback. This approach is all about prioritising working software and product demos to make sure we are doing the right thing and we are doing it right. MDS developers synchronise with each other at our regular stand-up Zoom call, which is currently replacing our face-to-face meeting. Prior to the campus closure, we hosted the face-to-face in a conference room and had a video call on the big screen for those who could not be physically present anyway.
Physical and Virtual Demos
As the demo is core to our process, the MDS offer various options to ensure we can deliver this experience on time, every time. Delivering prototypes to researchers to test and comment on was usually done face-to-face, with the MDS loaning them a test device with the prototype app pre-installed. However, researchers are not always able to accept delivery (even more so with the COVID-19 lockdown) and so we also offer a number of supported Android emulators (with setup instructions) which researchers can download and run on their own machines. For iOS apps, we offer a remote installation service where we deploy the app to an iOS simulator running on your Mac. In some cases, we have even used a combination of Zoom and TeamViewer to remotely install apps on devices plugged into researchers’ Macs and PCs. Researchers speak to our developers via a Zoom call and create a special admin account on their machine for our developer to use to build and deploy the application. Note: the account is deleted, along with any build files after the demo is delivered to ensure security and to ensure your machine is not permanently altered from the process.
Another key activity we perform as a development team is the concept of team code reviews. Although we are all experienced developers, we never stop learning from each other. One of the best ways we facilitate that is to regularly review each other’s code to help spot bugs and improve quality, readability and efficiency. Although we can do this through “pulling” and “pushing” code through Git, we have embraced Live Share, a pair programming tool built into Microsoft Visual Studio and Visual Studio Code that allows multiple developers to browse and edit a code project at the same time – think Google Docs for writing code. Coupled with a Microsoft Teams or Zoom call and you can code together as if you were in the same room.
Finally, the MDS is always looking to be flexible, adapting its processes to meet the ever-changing needs of our research community. If you have any suggestions for us, please contact us on the MDS email address and let us know!