First, what do we mean when we talk about maintenance?
We make a lot of custom-made solutions, systems, applications and services to our customers. These projects can last anywhere from a few weeks to a few years, but they do usually have a specific goal and an expiration date. However amazing the final product is, and however much we’ve learned from creating it, the product will only start bringing value to our customers after it’s gone live. This is when we enter the maintenance phase.
Software maintenance offers the customer technical support, incident management and bug fixes, plus change management and further development to their existing live product. We want to guarantee that our super amazing product keeps being super amazing and does not simply fall into decay after it’s gone live. This is a matter of pride to all of us: quality in Gofore’s project delivery even after the project has been delivered.
How would you prepare for a marathon?
A software project typically has a beginning, includes various steps taken to create the desired product, and finally, it comes to an end. You might find yourself tempted to think that the end of the project signifies the end of the software company’s work. However, the final release of the development project is the starting gun for the software maintenance phase.
It is part of our expertise at Gofore that, at the very start of a project, we explain to the customer that we should be making plans for when the product goes live and what happens after that. You wouldn’t run a marathon without practising and training for it. The maintenance phase can last for years after the product has gone live! For example, projects usually have multiple waypoints or sprint goals during the development phase. Maintenance should be included in this thinking – not just as a single point or event to reach, but as a natural and continuous extension of the development work.
Have you ever felt like…?
Not to worry, we have a solution for you: a centralized service desk and organized software maintenance.
While we who work with software maintenance daily are very excited about our great services, the most common thing we’ve heard in the past is that “only creating new products and services through coding is fun and exciting,” while maintenance is sometimes seen as a boring routine or an ungrateful chore that no one wants to do.
If you view maintenance this way, you probably aren’t up to speed with the latest news from the world of Service Desks. Maintenance in the year 2019 looks very different from even just a few years back, and it keeps evolving at a fast pace. Robotics and automation already take care of those boring routine tasks. The first line no longer just escalates tickets or parrots, “Have you tried turning it off and on again?” Those days are history.
At Gofore, our Service Center consists of specialists who resolve the complex issues the customers couldn’t solve themselves. As all the products we create are custom-made, maintaining them requires deep understanding and knowledge of a multitude of systems, programming languages and infrastructures. Service management, i.e. the maintenance phase equivalent for project management, is also known to increase its importance in the next few years. Service management and software maintenance require more and more expertise and specialized people year after year.
Don’t just take our word for it…
Here are some thoughts from our developers:
“Maintenance tasks improve your problem-solving skills, out-of-the-box thinking, social skills, and increase familiarity with the architecture. Participating in software maintenance is beneficial to all developers.” – Antti Simonen
“Software maintenance offers unique insight into the application’s issues and gives you a chance to make the customer happy. The quality of the code is continuously improved by maintaining your own applications.” – Petri Sarasvirta
“Understanding the application from someone else’s perspective enables you to write code that can be maintained more easily. One of the best ways to gain a better grasp of the big picture is through software maintenance.” – Antti Peltola
Our biggest supporters are our customers. Every month the people who do software maintenance at Gofore receive 5-star reviews from our very happy customers!
Actionable steps to success!
Here are some things to consider if you are a software developer:
- When you write code, write it for others, not yourself. To put it in another way: if you can’t read your own code without a 30-page manual right now, you can only imagine how impossible the task is for someone who has to find and fix a bug in it two years later.
- Make sure your commits are sufficiently descriptive. As all Agile developers know, documentation should not be a forced burden – but it is necessary, nonetheless. Work smart, not hard, and make sure your code speaks for itself. Remember to also keep your software delivery mechanisms (CI/CD) and infrastructure (servers, firewalls, etc) sufficiently documented.
- Have tests and monitoring in place for production. You are the expert on what needs to be monitored and how it should be done.
And some notes for the project managers in our midst:
- Allow time for proper documentation and make sure your customer understands its value. It should be your ethical guideline that we cannot skip such an important part of the project’s delivery.
- Make sure your project team tests and monitors things that are significant in terms of business value. You have a unique understanding of both what is important to the customer and what your team can deliver.
- Start preparing for the production/maintenance handover well on time. The earlier you give your colleagues who work with maintenance a heads-up, the better they can help you make the transition as smooth as possible.
Value for the customer
Continuous services guarantee that the custom-made system, application or service works as planned throughout its lifecycle. Stability and quality in continuous services are a matter of honour and pride to our service managers. We are seasoned professionals and know how to navigate and translate between the development team and the customer, making sure all parties understand each other.
We meet customer expectations by proactively offering new solutions and further development, keeping in mind improving the customer’s business. Continuous services free the customer’s resources from maintenance to their own business. Finally, the most important thing we offer is peace of mind – the customer simply raises a ticket describing their concerns, and our Service Center swiftly takes care of the rest.
What’s in it for me?
So, you might be wondering, “What’s in it for me?” To sum up, keeping the maintenance phase in mind has its benefits…
- …for sales, longer lasting customer relationships
- …for developers, doing maintenance makes you “harder, better, faster, stronger”
- …for project managers, less stress about moving to production
- …for our customers, stability, quality and peace of mind