There are many important factors to consider when working on advanced WordPress-based projects. So far, we've looked at some strategies for planning, building, and marketing a project, but we haven't looked at what it actually takes to maintain one.
After all, no software project is without flaws. Assuming you generate a sizable user base, customers will also have ideas for features or changes they'd like to see in the project. To do this, it's important to have systems in place to track issues, plan features, and communicate with users.
In this final article in this series, we’ll look at how to best position your project for long-term management that benefits both you and your client.
If you are a professional developer, you already know (and probably have used) at least one source code control system. If that's the case, then this section may be of little value, but if you're relatively new to development and/or source code control, this may end up being one of the most useful utilities you add to your toolbox, and not just is specific to this project, but also includes future work.
Simply put, source code control (sometimes called version control) is a method of keeping a history of every change made to any file in a project.
Specifically, it enables you to take snapshots of your code for release, roll back to previous versions of your project, and provide notes on what was accomplished with each update. If you work with a team, you can view each person's contribution to the application, resolve conflicts, and merge differences.
Ultimately, source code control gives you a way to maintain a project history, manage iterations of work (during which bugs are patched and new features are introduced), and specific versions are marked for release.
There are also many different source code control systems available. While it's beyond the scope of this series to go into detail about each system or how to use them, it's worth noting that there are many free options available:
Each platform has its own advantages and disadvantages. Instead of spending so much time thinking about which system to choose, you can better choose one and start using it. It’s better to have something in place than nothing at all.
As mentioned before, your project will be published with bugs. No matter how much time you spend testing and evaluating your work, it's nearly impossible to catch every issue.
Since you won't find them, your users will find them, and you need to be prepared to track what they find. Finding a bug tracking solution can be daunting – there are a wealth of options on the market.
In the early stages of a project, there is no reason to invest heavily in a major solution. As your project grows, you can always scale it up. Effective error tracking requires only a few features:
There are many free ways to track bugs - some old-school, some modern web applications:
Again, the area of tracking issues is more important than how tracking issues and using them to make your product better.
If you have bugs to track (and you will!), it only makes sense that you provide some type of support for your project. Best of all, providing support also incentivizes users to purchase the product (or purchase a higher-level license), giving them the peace of mind that someone is "on call" to answer their questions.
For what it's worth, I think it's mutually beneficial: users have someone to help them use your product, and customers can provide feedback to help you grow your work.
Just like bug tracking, there are dozens of supported platforms, from tried and true bulletin board systems to more advanced ticketing solutions. But remember, our goal is to do it cheaply.
As your project continues to grow, you may consider more advanced support applications that scale with your work.
For what it's worth, I do find that using public systems like forums or comments serves the customer base well, because once you can answer once and provide usable information, you have an idea of how to implement (or solve) Issue documentation of your work, and you have a way to track user bugs and feature requests.
While this part is subjective, I find it worth noting: Customers love communication. They want to know if the product they are buying is worth their money. Since the WordPress community is very active, they are used to updates, which means your product needs to stay up to date with the platform.
One of the best things you can do for your clients is let them know you're working on the project - that it's in development and that you're listening to them.
Of course, you don’t want to overcommunicate. Here are a few ways to let your users know the status of your project without flooding them with too much information:
Please note that all of the above are ways in which users can choose to hear from you - you are not forcing anything on them that they don't want to hear. This is another way you can continue to provide communication to your users without overwhelming them with information to the point of being annoying.
We've taken care of all stages of planning, building, marketing, and managing quality WordPress projects at affordable prices. Hopefully this series has provided some guardrails that can help you with your next (or current) project.
Of course, these posts are not exhaustive. There's always more to discuss and more to add, so feel free to add your own thoughts in the comments!
The above is the detailed content of Guide to Maintaining Advanced WP Projects – Part 4: Ongoing Maintenance. For more information, please follow other related articles on the PHP Chinese website!