Sage Ireland’s head of R&D Brian McIntyre on why it’s better to be Agile when building a product to deliver good customer experience, and the challenge on moving from a technical to a business role.
Can you outline what Sage does, and describe your role?
Sage supplies business management software to small and medium businesses. We’ve 6m customers worldwide and over 40,000 in Ireland. I lead a number of engineering teams that develop payroll solutions for our customers in Ireland and the UK.
Do you see your role primarily as a technical one, or a business one?
I think at this stage of my career it is a little more business than technical – I see my role as focusing our very talented technical people on the business problems and business opportunities that our customers have.
What has been the hardest challenge since you took your current role?
I suppose it has been that transition from being a software engineer to being a business leader. Learning how to effectively motivate engineering teams to focus on and deliver solutions help our customers to be successful.
Have you any plans to add to your own skills this year and if so, in what area?
One area of focus for me this year is in metrics to measure improvement. As we introduce new technologies and change our development processes, we want to know: if we’re getting better; how do we know we are getting better; what metrics should we use – cycle time, defects rate post-release, system usability score?
What technology trends are of most interest to you?
Trends around public or private cloud adoption amongst small and medium businesses and SAAS [software as a service] are obviously of particular interest but the emerging trend of remote devices running device native business apps is also a trend that is very important to us.
We’re seeing such a wide adoption of smartphones and tablets, as well as maturing cloud technologies, and the tough economic conditions are compelling small businesses to adopt new technology whereas in the past they were maybe reluctant to do so.
We need to cater for those customers that don’t want to go fully online and then we need to cater for the early adopters who want to make the leap.
How big a change is it to be developing software for the cloud, instead of the days of installation with CDs?
The development practices would be similar but the delivery process is different. There’s a quicker release cycle on the online products where we’re releasing updates pretty much every two weeks and it’s pretty much an incremental process.
Does that involve a change in mindset with iterative development compared to once-off product launches every year or so?
There is a little bit of a change to the mindset, all right. What it means is that you really are developing software in a more responsive way to the needs of customers and to the changing environment. You are probably responding in a more incremental way to what needs to happen.
Does that put more pressure on you when you know you have to deliver on a regular basis?
We had to ensure that the automated scripts are in place to allow us get the testing process done in time. When we started building the product, we were building the auto test scripts at the same time. Everything that changes in the delivery changes in the testing cycle, whereas our products that are delivered on the desktop would have more of a manual testing involvement.
What processes do you use to manage software development?
We would use Agile on all our products in terms of two-weekly sprints. That would be similar, whatever the product is. It’s more the automated testing and deployment that is a little different.
The desktop products have built up a large code base that has to be tested manually, whereas with the online products from day one we were able to write the automated test scripts.
The big benefit really is, with waterfall methodologies you do the analysis work up front and it can be then a challenge to change that work: you’ve invested a lot of time in the analysis. With Agile, because you are doing the analysis just for the work that will be in the next number of sprints, you don’t have as much invested up front in analysis and design.
Do you have a preference for one or the other?
There’s no doubt about it: the Agile methodologies lead to a better customer experience and a better product because you are developing for today’s needs. With waterfall, you’re locked into development and it can be hard to go back.
What are the primary tools and applications that you use to manage the team and carry out your job?
At the moment we’re working on Sage One Online Payroll, an easy-to-use cloud-based payroll software that we developed in Dublin for the Irish and UK markets. We started that project two years ago.
I use the standard office productivity tools for email and management reporting. Our engineering team use a wide range of tools depending on the technology stack they work on: from C++ to Ruby on Rails, Team Foundation Server and the likes of GitHub for source control and Rspec for automated testing.
As you look at your role, how do you compare it to five years ago?
The more automated we can make that journey, the more agile we can be with changes, and the more confident we can be that the changes are 100pc fine to go live.
Has that required to you adapt the skills in your team?
Yes. There are three areas where our skills have evolved. First is the tools and technologies – it is a different technology stack that we’ve needed to master.
The second is the whole latency in web development: you need to design the software a little differently so any latency between the client and server over the internet is handled differently.
The third is security. Once you’re outside the firewall, your software is exposed to a different set of security issues. It’s nothing we can’t handle, but we just have to ensure we have acquired the skills to develop software that’s super-secure.
Is security a greater consideration now than it used to be?
I think it is, definitely. From day one when we started developing online software, we knew security was paramount so we took a belt and braces approach to it. The online software is more secure than the desktop version, if you think of security in the round – when you think of your data, and whether it’s backed up correctly.
Something that’s in a hosting centre has levels of security and encryption of the data between the server and the browser on the client’s desktop. And then the hosting centre is backed up in real time.
A small business would never get that level of security with just backing up to CDs or tapes, or having data sitting on laptops as they travel around in cars.