How Georgia prioritizes enhancements for their Drupal 7 platform

How Georgia prioritizes enhancements for its Drupal 7 platform

Posted 24 Mar 2016 by 

up
51 readers like this
Tips for prioritizing Drupal enhancements
Image by : 

opensource.com

Nearly five years ago, my team at GeorgiaGov Interactive began a journey to migrate our enterprise web platform (hosting over 50 state agency websites at the time) away from a self-hosted model with a proprietary content management system to Drupal 7 and a cloud hosted environment. We were the first state to make such a bold shift, but we weren't the last.

Many government entities and private companies have been moving their enterprise CMS holdings to open source software and cloud hosting. The benefits? Huge cost savings (we're saving millions of dollars on servers and software licenses alone) and amazing flexibility with how we can bend the tools to meet our customers' needs.

Now, four years after we launched our first Drupal 7 site, we are operating at a steady pace, and the shift away from our old model of proprietary software has been a lifesaver. We're saving money, and so are our agency customers. We are no longer using all our resources to duct tape a broken CMS, so we're able to innovate and grow a service that benefits our customers and all Georgians looking for state services.

Our new operating model has not only worked, it's thrived. We're adding new websites regularly. In fact, the number of sites we maintain has grown by more than 50% since the move to Drupal. We're continuously improving our platform—small tweaks and larger lifts, bringing mobile-friendly layouts and increasingly accessible code to all our sites. It's exciting work, and we're proud of what we've been able to do. That doesn't sound typical of government, I know.

When we set up the Drupal 7 platform for Georgia state agencies, our focus was just on getting sites migrated from a failing system over to one that would just, you know, work—delivering on the necessities and publishing web content. Next we focused on maintaining that working platform, supporting our agencies, and reacting to new customer needs, all while also improving on the features of the platform—such as converting all our custom themes to a responsive web design.

Over time, as we've worked and grown with it, the GeorgiaGov Drupal platform has grown in scale and matured in its offerings—now it's more a full digital product than a simple content management system. As such, it requires a greater focus on strategy and management of the system as a product.

Having a focus on product management at this phase allows us as a team to be more proactive with our enhancements and strategy, rather than reactive. A big part of being proactive is in understanding how we identify and prioritize improvements to the platform. Coming up with ideas for enhancements is easy—they're everywhere. Web design blogs, conferences, and tech journals are always touting the Next Big Thing to consider for web and mobile design. We also get a lot of suggestions from our agency customers as they open support tickets to report bugs, request new features, or ask for suggestions on how to meet a new business need. The problem isn't in coming up with ways to improve on the platform—it's on prioritizing where to spend our time and money.

Your priority checklist

I start with a pretty simple question set when evaluating if a new enhancement or feature meets our goals for the platform:

  1. Put users first. Will this help our users get the information or services they need?
  2. Support our content managers. Will this help our agency content managers get the right information to their users?
  3. Be future focused. Will these enhancements still be relevant three to five years from now? On a new code base (Drupal 8)? On new devices and screen sizes?
  4. Provide the best value. What's the cost compared to the benefit?

Let's unpack these a bit more.

Put users first

When I refer to "users," I mean any visitor to the forward-facing websites. At a high level, our primary goal is to serve our visitors. Who are our visitors? It would be too easy to say "everyone," but to be honest, anyone living in the state of Georgia will at some point need information they can gather from one of the websites on our platform, whether it's to learn more about child support services, pay their state taxes, or access any of the hundreds of other services offered by the state agencies on the platform. That means millennials through retirees, and users with every range of ability, technology, screen size, and connection speed (or lack thereof). So part of a users first focus is to make sure we're always striving to make our sites leaner, easier to use, and more accessible.

Support our content managers

Our agency content managers are our agency customers—those who are maintaining the content of their agency website(s). These content managers provide the first line of feature requests. They are the ones working daily with their site content and striving to meet the needs of their site's visitors, as well as meeting their agency's business needs. So if we can provide a module that helps them meet their goals more easily and help them put their users first, it's worth prioritizing—as long as we have a reasonable expectation that our customers will really use those tools. There's no benefit in providing solutions to problems that don't really exist, or in this case tools to customers who aren't interested in using them. But if we hear the same feature requests multiple times, we can start to expect they're going to be used by more than one or two customers.

Be future focused

Another important consideration with IT, and particularly with something like software, is how something we build now will stand up in three, five, or even 10 years. Technology moves quickly, and while we're busy enhancing our location listings on Drupal 7 to make it more user friendly, the Drupal community has moved on to enhancing Drupal 8 and tech companies have turned their attention to smart watches and self-driving cars. My point is that what we're building is relevant and useful, but we need to make sure what we're building now will migrate reasonably to a new platform in a few years, and that we're focused on the best way to deliver content for all device types, not just on how to deliver designs for computer screens.

Provide the best value

Finally, once we've determined the enhancement or feature is user friendly and future friendly, we still have to assess if "the juice is worth the squeeze," as my boss likes to say. How much money or time will this take, compared to its usefulness and longevity? Are there modules already available that meet the need (or at least come close) that we can use? Which enhancements, ultimately, do we think will provide the best value?

The checklist in action

Let me give you an example of a feature we were looking into recently. We asked our vendors to evaluate how we could give our content managers more control over homepage block placement at different screen resolutions—a feature request we'd received from agency customers a few times. It would be a neat tool, and could help our mobile friendly focus. But let's run it through our checklist:

  • Does it put users first? Yes, it may help bring a key service to the top of a mobile device layout.
  • Does it support our content managers? Yes, our content managers feel this would make it easier to focus on desktop layout first and mobile layout second, while still supporting mobile users.
  • Is it future focused? Nope, not really. This feature would really only be useful for the lifetime of our Drupal 7 platform—in our "next life" on a new code base, we'll either have a new solution to this problem, or we will have to rebuild this one from scratch.
  • Does it provide best value? Well, sort of. Even at this point, if it was a cheap and easy fix we may decide it was worth it to help our content managers and their users. But there isn't a module already out there that would meet our needs, and our vendors determined that the time and effort to build it would most likely come to over two months of their development time. That's a lot of work to make it a little easier to arrange content on the homepage—particularly knowing that only a small percentage of our agencies would do it. We have a lot of other feature requests that are more user-centered that we could implement within that same two months.

So we shelved this feature in favor of others that we expect to provide a better overall value. We'll likely revisit and review the concept again when we start thinking of how we will build our Drupal 8 platform.

Top priority features

Now that I've given you an example of a feature we decided against, here's a high level view of the types of enhancements that we are prioritizing.

  • Accessibility: Updates to themes and code that make the sites easier to navigate for users with disabilities. We recently wrapped up a major Accessible Platform Initiative, but accessibility is something we will be thinking about and testing for with each new function we build out.
  • Location listings: Make it easier for customers to list and map their office locations, and make it easier for visitors to find the services nearest them on any device.
  • Theming and UI refresh: Our themes were built four years ago, so customers are understandably ready for some new layout options and a fresh look. Many new modules and tools have come out in Drupal 7 since we first built the platform, so we've been working with our vendors to identify the ones we can add in most easily to freshen up our platform's look and function. We think of it a little like getting new paint and tires, and maybe some window tinting on our car so it feels new for a couple more years before we trade it in for a newer model.
  • Data visualization: We're looking for tools and solutions that will scale across a broad landscape of data types to help our agency customers turn their data into graphics and charts that constituents can manipulate and understand.
  • Performance: Pages should load quickly on all device types, including on slow connections and cheap mobile phones. We've added some code aggregating modules to improve performance, but have additional testing and code cleanup to do before we mark this one complete.

These are the categories we've identified as bringing the best current value to put our users first and support our content managers, all while being future focused at the best value. Points of emphasis may shift if we get new information or a customer with a pressing need that jumps the line, but with our priority checklist to guide us, we should all understand what we're aiming for and where we're headed.

5 Comments

Amy

Thank you! I'm working on a system to prioritize development requests for our university's 350+ Drupal sites. It's so helpful to hear about another group's process. How do you follow up on suggestions/requests from your agency customers, especially when you cannot fulfill a request (or can't fulfill it soon, because of higher-priority projects)?

Vote up!
0
Vote down!
0
kskeene

Great question! We take a few approaches - for one thing, we let our customers know that we're adding their request to our wish list. We have some requests in the backlog that have been there for a couple of years, but that doesn't mean we've forgotten about them. A lot of customers just want to know they've been heard, and typically they understand if we can't prioritize it. But we have found that list useful when two or three other customers ask for the same thing, OR when a contrib module is upgraded and we realize that the upgrade will address a previous request. Some wish list items will most likely not make their way into the platform until D8, but we haven't forgotten them.

In other instances, some of our customers need functionality that isn't on the platform and isn't on our top priority list, and they're willing to find budget to pay for it. In those cases, requests that come with their own funding do take priority.

Vote up!
0
Vote down!
0
Amy

Thanks again!

Vote up!
0
Vote down!
0
Azaz

I might have missed it, but you didn't mention which cloud hosting you migrated to. You must have definitely saved some dollars by moving to open source platform, but some cloud hosting are expensive. So, did you really saved something by moving to Drupal? I know that because I also recently moved to Drupal with my managed hosting, Cloudways. But I chose to go with Google Cloud, which is cheaper than AWS.

Vote up!
0
Vote down!
0
kskeene

Azaz,
We moved to Acquia's cloud hosting (using AWS), and the hosting savings has been a HUGE part of the cost savings for us compared to self-hosting at the scale we're dealing with. We get faster updates, better hardware, and quicker security updates, to name a few. Cloud hosting has been a lifesaver for us, and a large part of our success.

Vote up!
0
Vote down!
0

Kendra is the Director of Product for GeorgiaGov Interactive. She oversees the state’s enterprise Drupal platform, directing product strategy and working with development partners to create new products for the platform’s customers. She has managed several initiatives with the GeorgiaGov Interactive team, including the responsive and accessible platform initiatives.

Prior to leading the product team,