When it comes to getting work done in a web development shop like ours, there are really two forms that work can take – a project workflow or a maintenance workflow. The project workflow is a singular process from start-to-finish and typically consists of all new components (e.g. design, structure, functionality and code). The maintenance workflow, on the other hand, represents more targeted work being done to an existing site. I want to focus on the maintenance side of things with this article and in particular the pros and cons of a maintenance workflow from a developer’s standpoint.
Pro: Maintenance workflow is well diversified
There’s simply no better way to learn than by just doing! The maintenance workflow forces a developer to learn and build in different frameworks each and every day. When your main focus is tackling maintenance tasks, its not uncommon to work on multiple websites throughout a single workday. Each day can bring a different website and a different code base, and each site brings out unique challenges that can be a thrill to overcome. Doing this day in and day out will prepare you for anything. Speaking from personal experience, the times I have grown the most as a developer have been the times spent being in the maintenance workflow position.
Pro: Getting to know everyone is easier on maintenance tasks
When you’re working on a project, you’re usually part of a team. Depending on the timeline, it’s very possible you’ll be spending most, if not all, of your time with just the members of that team. On the other hand, when you’re working on maintenance tasks, your “project team” can change daily; thus allowing you to get to know all of your coworkers a little easier and more quickly. Considering most developers lean towards the introverted side, the interaction from the maintenance workflow process really helps open up more.
Con: Ramp-up takes time
Working as a maintenance developer, it is very likely you did not write the original code for the applications you’ll be working on. In order to get yourself familiar with the code framework and the ins and outs of the website, you’ll need some ramp up time to bring yourself up to speed. While these are not producing hours, it is very important to thoroughly comb through the code base and any complex areas of the site.
Con: Maintenance workflow is not always clear
Without getting too deeply into the discussion of Waterfall versus Agile Methodologies, White Lion is an Agile shop – meaning we schedule all of the steps for production into sprints and knock them out weeks at a time. While this approach is great for projects, it is often not usable for the maintenance workflow as we are faced with singular tasks that need to be completed; a problem or update has been identified, the task deliverables are created, and we implement the changes needed to meet those deliverables. Without being part of a workflow, it is easier to lose sight of these smaller one-off maintenance tasks.
Con: Projects ‘launch’ as opposed to maintenance ‘bug fixes’ – the thrill is gone
Anyone familiar with updating the apps on their smart phone is familiar with the term “bug fixes.” Most developers should be repulsed by this term; I know I am. Most of the time when developing in the maintenance workflow, it feels like all you’re really doing are bug fixes. The project team has already launched the project, and the initial excitement and acknowledgement has come and gone. Now it’s time for the maintenance work to begin. While the maintenance workflow on a site is crucial to its longevity, all the general updates, new phases, and bug fixes never seem to live up to the excitement of the initial launch.
There are widely different aspects to being a developer in the maintenance workflow. For me, the pros far outweigh the cons. Frequently being submersed in unique websites and different frameworks will allow you to greatly improve as a developer. It’s a thrill to solve these smaller issues while working with a variety of team members on an ongoing basis. The rewards are smaller, but thrilling nonetheless.