You Built an App. Now What? 13 ways to plan for maintenance before launch
mentormate.com | 3036 Hennepin Avenue, Minneapolis, MN 55408 | 855-577-1671
Table of Contents Building and caring for your app 1 Why do smart businesses plan on post-launch app maintenance? 2 Product Enhancement 3 1. Appoint a continuation engineering point person. 4 2. Plan time for configuration management.
5
3. Revise your app to accommodate yearly software updates. 6-8
4. Prepare for a fixes release.
9
Prevention 10
5. Create a process to remove deprecated code.
11-12
6. Manage the public perception of your app.
13-15
7. Plan the metrics you want to track at the beginning of development. 16-17
8. Automate crash report collection, and schedule maintenance releases regularly. 18
9. Plan your security protocol during development.
19-20
Predict Expenses
21
10. Identify the devices you will support at launch and continue to support as your app matures. 22-23
11. Make sure your server configuration matches the goals of your app.
12. Agree on a post-launch release frequency.
24 25-27
13. Separate complete version backups. 28
Software is never done. 29
Building and caring for your app You’ve conceptualized, designed, developed and released an app into the wild. You’ve given it a comfortable home in both app stores, and you’re ready to watch it grow into a tool users in your target audiences can’t live without. You’re done. Onto the next big idea, right? Wrong. Releasing an app into the public marketplace is just the beginning of the upkeep your app needs to thrive, amass users and satisfy their needs. Prolonging the life of an app doesn’t start after your app goes live. The conversations and planning must begin even before the first line of code is written.
Failing to plan for post-launch app enhancement can be a costly mistake that comes back to haunt product teams.
1
Why do smart businesses plan on post-launch app maintenance? Continuation engineering, as it’s often called, serves three main functions. It enables:
Product Enhancement
Prevention Having a maintenance
Predict Expenses
Continue to optimize
strategy in place will help
the experience around
you identify and address
solution maintenance, and
market trends, interactions,
vulnerabilities before
save money by addressing
user feedback and user
they cause damage to
fixes and enhancements
expectations that have
your solution’s reputation,
in predictable increments.
become normative since
experience or security.
Establish a budget for
launch.
2
Product Enhancement
How can businesses continue to grow functional capabilities and retain users?
3
Product Enhancement
1. Appoint a continuation engineering point person. Assign responsibility for monitoring and executing maintenance tasks. • Who will respond to feedback left in the app store? • Who will act on bugs mentioned in reviews? • Who is checking crash and performance analytics? • Who is recommending product enhancements and roadmapping release cycles? • Who is watching for iOS and Android update information and then testing against the beta software prior to the OS release? These are all questions businesses who have released consumer-facing software must answer. Rather than relying on individual department heads or managers to organize, appoint one leader to take responsibility and coordinate all supporting efforts.
4
Product Enhancement
2. Plan time for configuration management. Track and organize all released versions. Make sure your leader is tracking and keeping copies of all released software versions. Long after a release, a user may encounter friction due to an unexpected combination of operating system, carrier and version variables. Save sanity and organize releases along the way to ensure you can recreate a bug presenting on a past version. Stay informed. Your appointed software continuation leader should subscribe to news detailing upcoming product development from the top software providers. Updates like these often affect security protocols, functionality discontinuation and development workarounds.
5
Product Enhancement
3. Revise your app to accommodate yearly software updates. Test against beta software. Each year Apple and Google host annual platform events ushering in software and hardware updates. Companies who haven’t prepared and beta tested their solutions can face disabled functionality or crashes reported by users in the first wave of adopters. The providers themselves will often preview changes in a release several months before it becomes available. Start planning your beta test strategy with the advent of the first release, so you are ready to run your planned update against the more stable later releases, generally the fifth or sixth iterations. If you do begin testing against an early version and encounter more bugs than expected, don’t panic. The providers are still perfecting the update itself. Often, they will even call out known problems slotted for later development in the release notes.
6
Redesign to match new UX standards. Treat major design updates, like Material Design, with the same gravity as a platform update. Nothing dates your app faster than standards that don't evolve with mobile UX.
7
Product Enhancement
3. Revise your app to accommodate yearly software updates. Take advantage of new features. Use any yearly maintenance intended to incorporate new capabilities as free marketing. While the main purpose of operating system-related app updates is folding in new functionality, re-releasing your app also keeps it relevant in the minds of users when the update is requested.
8
Product Enhancement
4. Prepare for a fixes release. Tend your app immediately after release. Most businesses plan for a fixes release following launch. This allows the development team to respond to critical bugs or functionality issues identified by the first wave of adopters directly following launch. Many opt to complete a mini release cycle to address most critical issues before tending to the backlog. Who owns it? If you worked with a development partner to release your app, who in your company will be responsible for recreating and managing development to address bugs found immediately after launch. By collecting the following, you can determine the potential impact of the bug and set backlog priority accordingly. • Version of OS
• Carrier
• Device
9
Prevention
How can businesses avoid user disruptions, market stagnation and security breaches?
10
Prevention
5. Create a process to remove deprecated code. Check deprecation notices before major language releases. Just because you have written the code to power your app, doesn’t mean you can walk away with confidence it will continue functioning as expected. Your code must be constantly monitored and edited as the languages themselves evolve. Over time certain methods, functionality and classes will become deprecated. Take one example: Software can become deprecated when an API is changing, and will no longer support portions of the existing code. Deprecated code serves as a warning to developers and companies with apps currently living in the app marketplace. Once deprecated, the method, functionality or class is at-risk for removal. Development teams who ignore deprecation warnings (or who have them turned off altogether) have put the usability of their apps at risk.
11
Stay ahead of code changes. The ramifications for ignoring deprecated code can be severe, especially if it affects security protocols. Generally, deprecated code is removed after 1-2 releases. There’s plenty of time to re-write, re-release and avoid user disruptions for teams looking ahead.
12
Prevention
6. Manage the public perception of your app. Create a system to report on and respond to user issues. Almost all the apps in the app marketplaces have means to receive and act on technical and experiential feedback given by users. Long before launch, members of the product team must decide how they want to coordinate the collection and prioritization of these requests and the subsequent release cycles. Depending on the purpose of the app, responding to reviews in the app store might be enough consumer insight to guide the product vision. Other teams may prefer to offer more robust support including phone number, email address or chat functionality. All require increasingly complex functionality and forethought.
13
Prevention
6. Manage the public perception of your app. Teams launching an app must be able to answer the following questions: • Who is monitoring public forums for feedback? • What forums will your users likely contribute to? • How can users contact the product team with questions or issues? • Is user support provided 24/7, by next business day or as able by a member of the help or product teams? • How often will user issues be accommodated in app updates? • How will any third-party systems used connect? Teams with a plan in place to manage user feedback and bug fixes are well on their way to avoiding the PR nightmare that can befall a busy brand that releases an app and moves on leaving their users with no recourse but to shout challenges over social media.
14
Prevention
6. Manage the public perception of your app. Expand your scope of review beyond the app store. The app store isn’t the only environment where product reviews accumulate. Identify the person or department who will monitor and respond to product feedback in external forums. Managing the public perception of your app is just as important as planning and implementing feedback. How will you respond if an outpouring of users begins voicing criticism about the usability of a particular feature? Left unattended, the feedback can tarnish the reputation of your software, brand and company at large. Stay ahead of public opinion before any negativity snowballs. By contrast, be present in the spaces where users are offering positive feedback to leverage in digital marketing or updates to your app description.
15
Prevention
7. Plan the metrics you want to track at the beginning of development. Create the infrastructure to understand users. Metrics allow you to prolong the longevity of your app even before it’s released by building in the tools you need to understand users, their behavior and their motivations. Why does this matter? An app is never done. By continuing to monitor your users, you can adapt the technology as consumer tastes and needs change. It’s never too late to add analytics to your app, but it’s a lot easier and cost effective to plan on incorporating them before the app is built. Ask yourself what intelligence drives strategic decisions for your business, and build the infrastructure into your app to collect it. Is performance more important to track than user installs? It depends on the type of app and purpose.
16
Consider a retail app. If 80% of users abandon with items still left in their shopping carts, that can be a powerful insight that justifies UX/UI decisions or further development to simplify the process and increase ROI. Consider including the following metrics:
• Performance
• User installs
• Usage by device
• Speed by location
• User retention
• Most-used features
17
Prevention
8. Automate crash report collection, and schedule maintenance releases regularly. Improve the experience and elevate your brand with swift crash resolution. Fabric and Hockey, along with a host of other tools, allow teams to collect automated crash reports. While users in some industries, like gaming, are more tolerant of software bugs, especially due to viral popularity — for most, crashes are a non-starter. Users abandon rates will spike, and they’ll never loop back. Business today operate in a climate where novelty comes second to experience. Five apps may be promoting the same benefit, but only one can thrive. Brands with prompt response to and action on crash reports increase the likelihood it will be theirs. What crash percentage is too high? Rates of a session ending in a crash > 10% of the time are a cause for immediate action. 18
Prevention
9. Plan your security protocol during development. Integrate intrusion detection and prevention. Intrusion detection and prevention tools are sophisticated. It takes time to integrate them with the business logic of your app and its associated backend to fully protect the data. Adding them after development is underway only serves to increase the complexity and cost of the effort. The security of your solution isn’t limited to the code itself. It also must extend to the production environment. Your software provider will recommend a 24/7 intrusion detection and prevention system to guard against sniffing, brute forcing and hackers employing a combination of methodologies to gain access to your tool and its data.
19
Prevention
9. Plan your security protocol during development. Security best practices Plan on security patches as often as monthly, and quarterly at a minimum, to continue protecting and fortifying your solution. Vulnerabilities aren’t limited to your app. Any vulnerabilities found in a third-party’s system can also wreak havoc on the safety of your technology and its users.
Recommended security tools Zabbix The powerful opensource enterprise monitoring tool is also capable of integrity checking files, database structure and the data itself. Mod_security A more sophisticated answer to the problem Zabbix solves. The IDS/IPS sits in front of the web server process and integrates as an additional module to the server and works with IIS, Apache and Nginx.
20
Predict Expenses
How can businesses better predict the costs associated with maintaining a solution?
21
Predict Expenses
10. Identify the devices you will support at launch and continue to support as your app matures. Plan support for old and new devices. One year after you’ve launched your app, what devices and browsers will you continue to support? How about after three years? What’s your plan to add support for new devices? These decisions and protocols must be proactively established before you launch your app. Teams that reactively make these decisions and establish these processes risk developing an app with a short life-span, rather than technology that can evolve as the needs of the market do. Decisions about supported operating systems impact development decisions, the breadth of initial testing along with regression testing as new features are added post launch. Discussions like these can also help determine whether teams decide to pursue a risk-based or automated quality assurance strategy.
22
How does version support impact cost? Teams who approach app development with a highly-defined user base and an understanding of the devices most used by this audience can save on development, eliminating support and widespread testing for devices not commonly in the target demographic. The more supported devices, versions and operating systems — the higher the cost to maintain.
23
Predict Expenses
11. Make sure your server configuration matches the goals of your app. Define user traffic. This will influence decisions about where and how you host data associated with your app. Does the product team expect to house a large quantity of records in the database? Will content from your app also be published to the web? What functionalities will be of most interest to users? The answers to these questions will influence the size and security of the server configuration. Realistically estimate your team’s abilities. Decisions made early in the planning process impact the cost to support your app over time. Teams who choose to maintain their own servers should expect to complete maintenance and checkfor security updates at least quarterly. Estimate annual expenses. Don’t forget to budget to update your annual development license.
24
Predict Expenses
12. Agree on a post-launch release frequency. Settle into a long-term rhythm respectful of ongoing budget and team bandwith. Rather than launching an app with all imagined functionality, many businesses opt to develop an MVP version (Minimum Viable Product). They build the leanest iteration of the app to test value, appetite and behavior with real users. It’s especially important to groom the backlog and plan your product release schedule after MVP development.
25
Predict Expenses
12. Agree on a post-launch release frequency. Find a balance between perception and need. Enhancements and bug fixes up to once a month will maintain interest in your app, anything more can be perceived as “buggy.” Product teams must balance proactively responding to user feedback with obnoxiousness. Users’ ability to tolerate updates can depend on the user’s vertical. Take PokemonGo for example. The gaming audience generally expects updates, especially if a game gains popularity quickly and tests the load expected by the development team. This audience will likely clamor for new features. They are willing to forgo the minor hassle updating presents to test new experiences within the app.
26
Predict Expenses
12. Agree on a post-launch release frequency. Prioritize crash report fixes over long-term UX updates. Anecdotally, crashes are the number one drivers of bad user feedback. Laboratory testing conditions are helpful to catch the issues related to uses by the largest sample pool, but edge cases are bound to arise after your solution is released. Working with a team already familiar with your app decreases the ramp-up time between crash and fix. The making of an edge case Unexpected combinations of variables including device, carrier and operating system can expand the expectations of the app beyond the combinations it was designed to support. That said, teams should establish a position and strategy on supported combinations prior to release. This can (and will) change. Having a starting position will guide the team's decision making. If the edge case becomes more common through adoption, the team can decide if there is business value in supporting it.
27
Predict Expenses
13. Separate complete version backups. Have a disaster recovery plan. Worst comes to worst, the internal servers where you store the latest version of your solution become corrupted beyond repair. What do you do? In the simplest sense, keep a copy of everything needed on the build machine to recreate the released app and supported versions. Store them in two separate places. That way you’re safeguarding your investment and reputation.
28
Software is never done. It must be updated to stay secure and continue meeting the demands of users as their needs shift.
Talk to us more about managing your app post launch. Twitter: @MentorMate www.mentormate.com
mentormate.com | 3036 Hennepin Avenue, Minneapolis, MN 55408 | 855-577-1671
29