By now your company’s budget planning cycle is in full swing and your IT budget is starting to shape up.  You’ve thought about the various IT needs of your organization and their associated expenses including custom software, licensed software, infrastructure, hardware, security, staffing, and more.  However, have you included a planned 2023 budget for your existing software platforms?   

While overall IT budgets are forecasted to remain solid in 2023 by many estimates, including recent research performed by Bain Capital, spending in the coming year will likely garner more scrutiny.  A June 2022 survey of more than 1,400 IT professionals conducted by Spiceworks Ziff Davis indicates that while 51% of organizations plan to increase their IT budgets in 2023, half plan to take precautionary measures to prepare for a potential economic slowdown in 2023.    

Far too often it’s only the new software development projects that are front of mind and taking into consideration in budget planning cycles.  As part of your budget planning process, it is important to consider the needs of your existing custom software platforms in the coming year.  This is particularly important for heavily used mission critical custom software platforms that your business relies upon for daily operations.  

Doing this will help ensure that your existing business operations continue to run smoothly   

  • Baseline Operations 
  • Software Performance Optimization  
  • Technical Debt Management 
  • Break-Fix Support  
  • New Feature Development  

Need help getting your plans together, contact us!

Team working on whiteboard

Baseline Operations  

Every software application has basic set of costs for operations.  We often think of this as what it takes to keep the lights on.  In the case of gas-powered cars, it’s the cost of the gas, insurance, etc.  In software applications this includes things like your hosting infrastructure, licensing for any third-party components, DevOps, pipelines, etc.  These regular occurring costs should be identified for your core software platform(s) needed to keep your business running smoothly and included in your budget planning.   

Not sure how to budget for this?  Start by identifying your current expenses of the past year, which should serve as a good starting point.  Then consider expectations for potential growth in usage of your platform along with potential storage growth from resulting transactional data accumulation.  Oftentimes conversations with business leaders who depend upon the software application the most are insightful.  What are their budget forecasts for the coming year?  If their forecasts call for business unit growth, use these projections to forecast potential growth in your baseline operations expenses in the coming year.

Software Performance Optimization 

Beyond basic baseline operations, allocate a portion of your budget to software performance optimization during the year.  Just as your car needs routine maintenance (e.g., oil changes, tire alignments, etc.), your software products need similar upkeep to perform well and avoid breaking down.  These do not need to be major endeavors but should be accounted for in your budget planning processes.  

While budgeting for your software performance optimization, don’t go after every possible thing that could improve performance.  Instead, look at some of the critical chokepoints in your software performance.  Often addressing a few of these will yield significant improvements.  Think about the time and effort needed to do some basic system monitoring and performance analysis during the year along with time needed to remediate and include this in your existing custom software budget plan.   

Not sure how to cost effectively and pragmatically go about software performance optimization?  You can learn more here. 

Technical Debt Management  

After considering your quick hit, high value software application performance optimizations, look at your software application’s broader set of potential needs.  Going back to our car analogy, your car needs major maintenance (brakes, timing belt, battery, etc.) periodically over time to prevent breakdowns.  Similarly, every software platform has some form of technical debt that accrues over time.  You don’t need to try to tackle it all in a single year but ignoring it all together is a bad idea.   

Considering what some of these needs may look like.  Things to consider include 

  • How old is your software platform? 
  • Have you been proactively managing it over time? 
  • Is it running in a cloud-native PaaS environment? 
  • Does your team seem to be spending more and more time on basic support and maintenance? 
  • Are users happy with the system? 

Answers to these questions will help guide your technical debt planning and potential 2023 budget needs to address.    

Interested in additional insights into identifying and proactively manage your technical debt?  Learn more about how we do so here  

laptop with code

Break-Fix Support  

Regardless of how well you manage your technical debt and perform preventative maintenance, your software platform will need some break-fix support during the year.  Much in the way that unexpected repairs arise for your car (e.g., flat tire, cracked windshield, etc.), your custom software applications will need some additional upkeep that you’ll want to plan for in advance.  A look back over the past three years will often provide valuable insights into what to expect for the coming year.  Having an honest conversation regarding how well you’ve been addressing technical debt over time can be helpful.  If it’s something you’ve ignored due to lack of resources or other competing priorities, you should expect your break-fix support expenses to be a bit higher in the coming year and budget accordingly.   

New Feature Development  

Finally, don’t forget about new features and functions that the business team may want developed next year.  These could be simple improvements to existing functionality or new components that drive new revenue opportunities for the business.  Oftentimes there can be greater return on investment in developing new features and functions within an existing software platform than attempting to build new greenfield applications.   

Spending time with the application product owner will give you a good sense of what these potential opportunities look like.  If there is not a formal product roadmap and associated backlog for the application, some conversations with the business team that depends upon the custom software application the most should provide insights into potential new features to budget for 2023.  Rather than try to estimate them all out in detail, do some high-level prioritization and planning to give it some basic structure.  At MercuryWorks, we’re fans of T-shirt sizing or the MoSCoW method of prioritization to inform budget planning processes.   

Summary 

The above tips will help you think through five key components to consider when developing your budget for your existing custom software platform(s).  This process is as simple or as involved as you’d like.    

Don’t let it overwhelm you or let it be something you put off until the last minute and attempt to do with a few quick last-minute SWAGs and hope for the best.  Budgeting is an iterative process that should take a couple of cycles before you get to a final version that feels right.  What’s most important is that you don’t forget it all together and just assume that you’ll be covered.   

By the end of the year, you should feel comfortable with your 2023 budget and ready for the new year.  If you need any help getting your plans together, contact us!   Our team is happy to help you work through the process, so that you start 2023 confident and ready to execute on a well-considered plan for your existing custom software success.  

Elementor vs. Advanced Custom Fields

When choosing to build your WordPress site, there are many options available. In this article, we discuss using a page builder (Elementor) verse Advanced Custom Fields.

For those who aren’t familiar, page builders are WordPress plugins (or sometimes themes that have them built-in), that allow you to drag and drop pieces of content into different layout configurations and customize them. 

Drag and drop gallery view

For instance, let’s say that you want to build a page that has an image gallery on it. You simply choose the layout, select an image gallery module, and drop it on to the page. From there, you can decide which images you want to display and adjust the overall look and appearance of the gallery. All of this is happening live as if you are looking at the result on the front-end of your website.  

With Advanced Custom Fields, things are a bit different. To get to the same result as Elementor, you first must create the image gallery yourself and design/develop the look and feel — as well as any settings the end user might want.  

Image gallery view 

You might think, “Well, that’s a no-brainer, I would choose Elementor!” and that is totally a rational response. The thing is, there is a perfect use case for both products and that is why they are so popular in the WordPress ecosystem. 

For the low to “no code” user, they will want to choose Elementor because it provides great experiences out of the box. For Agencies with full time developers (or the freelance web developer), they might choose Advanced Custom Fields because it gives them the flexibility to control more of the experience and provide better scalability. 

There isn’t a wrong choice, as both provide great solutions to the end user. Here at MercuryWorks, we use Advanced Custom Fields for new web projects, let’s take a look at why.

A Deeper Dive into ACF 

Image of a computer screen with html code displayed.

Since we here at Mercury develop with ACF (Advanced Custom Fields), we have first-hand experience on the advantages of using ACF to custom tailor our projects to the client’s needs and expectations, as well as provide an intuitive user experience for managing content. 

Over the lifecycle of ACF, we have seen it grow to become a very powerful development tool. In the early days, when you created fields, you were more-or-less locked into the template for those specific fields and couldn’t easily change the order of your page.  

As an example, if you had a page that you designated to be your Contact page, you would create a template for it and write out the PHP and HTML. Whatever order the code was in your template is how it would render on the page. If the client wanted their content order adjusted, it would require a developer to make a code change and restructure the page content to meet the client’s needs. This was the common approach until ACF introduced the Flexible Content field.

ACF Flexible Content

With the release of ACF Pro version 3.1.0 came the Flexible Content field. With the Flexible Content field, you were able to segment your code into individual parts and build layouts that could be dropped onto a page and arranged in any order—by both the developer and the end user.

Screenshot of flexible content field interface.

This was a game changer, but it took a while for developers to adopt the approach as it shifted the way a site was developed. Instead of building page by page, you would now consider the site as a whole and determine what layouts or partials you would build that could be re-used on other pages. It was more planning up front, but the result was a better end-user experience with the “flexibility” to re-arrange and re-use your content. Once Flexible Content fields caught on, it became the standard approach to developing with ACF. 

In the earlier example of a Contact page, the user had no control over adjusting the layout order. Using that same example, with Flexible Content fields, the developer could create various re-usable content layouts that could be added to any page. 

The developer would create the flexible content group, set the location that it will be shown on (all pages), and then build layouts that the user can drop onto a page. These layouts could consist of anything but usually were common use elements that could be used on most pages. Layouts that were more single use could also exist in this group or specified to be displayed in other groups based on page template or however the fields’ location was determined. 

For example, on some of our recent projects we created a Text Editor layout which is just a basic WYSIWYG (what you see is what you get) field that the user can drop on to a page. Another example would be an Accordion so a user can show and hide text behind a title (think how FAQs are commonly shown). We also created more advanced layouts like a custom Hero, Recent Posts, and an Image Slider. These are just examples, but the possibilities are endless. 

How ACF Flexible Content Compares to Page Builders 

Although you get more out of the box with a page builder, ACF Flexible Content fields give you the advantage of custom-building layouts, which lets the client not worry about the design. This approach removes the “how should this page be designed?” bottleneck when adding content, as those design decisions are handled during the development phase of the project. The user can simply pick a layout to place on a page and only think about the content they want displayed.  

Woman working at her computer  

This also improves break-ability of a page when a user makes content changes. They can have more peace of mind when adding another paragraph or dropping in an image, knowing that the layouts they are using have been developed and designed to “just work” together. 

In this sense, you can think of ACF as more of a Content Builder versus a Page Builder. Your page is already built, and the layout/design are handled during the development so all the client must do is build the content.

Good for Users and Developers 

Using ACF as a content builder empowers the user and gives them the ease of mind when editing their site. It also empowers the developer as it makes projects easier to work on.  

With code version tracking tools like Git and deployment processes with Azure DevOps, developers can collaborate together on the code and deploy it to their respective environments while not overwriting each other’s work.

Screenshot of git version tree interface.

This is not as easy to do with a page builder as most of the work is done through the builder’s user interface and isn’t tracked or setup to work collaboratively. With ACF, you still have content entry to do and still need it to be consistent across your environments for testing, but the overall process is simplified when you can separate the code and keep track of it.

 

Looking to the Future 

As detailed here in this article, ACF Flexible Content fields are a solid tool to build amazing projects and deliver top-notch solutions for clients. As we look to the future (or present), there are other tools in the WordPress ecosystem to consider that are quickly maturing.  

The WordPress Block Editor (a.k.a., Gutenberg) is a different way of building content for WordPress posts and pages, compared to the old WYSIWYG text editor of yore. It is a very similar process as building with ACF Flexible Content fields, as explained previously in this article. You have various blocks of content that you can drop onto the page, arrange the order, and adjust settings to customize the look and feel. 

Screenshot of WordPress page builder

The WordPress open-source platform is constantly evolving and improving. Since the Block Editor is a core part of that platform, it’s very likely we here at Mercury will adopt it into our own projects at some point.  

From our testing, it’s a relatively simple process to convert existing PHP template parts over to work as custom blocks, thanks to the amazing team over at Advanced Custom Fields. Their plugin lets you register custom blocks and work on them like you would any other PHP custom field.

Wrapping Up 

From working with other content managements systems, various page builders, and building custom projects with ACF, we have seen our fair share of tools and platforms and couldn’t be happier with WordPress powering our clients’ sites.  

Speaking of which, if you are reading this and have an awesome idea that you need turned into a real-life product, please reach out to us. We would love to “make it work”! 

Interested in Learning More?

Fill out the form below and our team will follow up shortly.

"*" indicates required fields