Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Marrying Speed and Quality in Software Development: How Usage Data Helps

DZone's Guide to

Marrying Speed and Quality in Software Development: How Usage Data Helps

Having an effective usage analytics strategy for your software can provide direction on how to prioritize and manage software fixes.

· Performance Zone ·
Free Resource

Sensu is an open source monitoring event pipeline. Try it today.

Take a quick glance at pretty much any software developer job description these days and whether it’s Amazon or a start-up, you’ll see that every business is looking for developers who can accomplish the difficult task of producing high-quality software on fast-paced schedules. In a description for a Java developer for its Alexa software, Amazon says it’s looking for someone who “has thrived and succeeded in delivering high-quality technology products/services in a hyper-growth environment where priorities shift fast.” For a similar role at Google, the tech giant tells the potential applicant that “as a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve.”

Marrying speed with quality is a constant struggle for developers. You may often feel like you face too many requests from diverse stakeholders, have too little time, and often too little data to help you validate priorities and build the best applications for your customers.

By having real-time access to information about your users and how they’re using the software, you can confidently pivot to where the needs are, and convey information that can drive customer-centric development efforts.

Collecting and analyzing anonymous environmental and product usage data gives developers a real-time profile of their customer base, spanning information about their computing environments all the way through to where they might be getting stuck with features or workflows. It’s a non-disruptive conduit to customers that can facilitate that union of speed and quality.

Let’s look at a few common challenges developers face and how software usage analytics can help.

How Should I Prioritize Bug Fixes?

Whether to prioritize a bug fix on a legacy version over working on a new piece of functionality for a release can sidetrack even the most expertly executed roadmaps. Usage analytics provides access to data down to the OS and architecture, including the ability to slice and dice it by Java VM version (and more), allowing developers to see how pervasive the problem is. Perhaps the issue is only affecting users on a certain Windows operating system on a specific support pack, amounting to just ten users. The data allows developers to make an insight-driven case on where resources will best be spent. What’s more, this data can be shared with marketing to ensure targeted messaging and outreach on the problem, avoiding the all too familiar situation where a few vocal users on social media and user forums bring ill-informed publicity to a problem that isn’t all that widespread.

How Can I Get Accurate Customer Feedback?

During testing cycles, it can be challenging for developers to get unbiased feedback on the customer experience. Users, like everyone on your team, are pressed for time, and may not always share information about issues they’re encountering. Surveys are time-consuming and can’t always guarantee participation from your base – or that responses are coming from the most knowledgeable users.

Usage analytics helps address this problem by allowing developers to automatically and immediately see exactly how users are moving through a workflow, and where they’re encountering problems, to speed resolution and stay on track with release dates.

In A/B testing, for instance, usage intelligence provides automated feedback on what works and what doesn’t in real-time, meaning the development team doesn’t have to spend time combing through data and support requests.

Giving the development team information on how the features they designed are being used allows them to see whether they’re being used in the ways they envisioned. That enables not only more informed and customer-driven development, but can empower developers to provide insight into marketing that enables them to create content that will better resonate with prospects and customers. What’s more, post-launch, developers can continue to gain insight into trends to share with sales and marketing because they have deeper insight into the adoption of new functionality and workflows.

Is the Software Working for Our Customers?

Knowing exactly what your customer is trying to do – and anticipating problems before they perhaps even know they have them – will help your team build better products.

By automatically tracking exceptions and compiling data on real-time use, developers can see problems before they become bigger problems for the user base. Robust filtering and segmentation allow you to choose from a huge list of criteria – including Java version, days installed, license type, OS details and much more. Developers can drill deeply into the user base to get real, actionable information.

A robust usage intelligence strategy is one of the keys to customer-centric development. No matter where you work, thoughtful and informed product development that moves at the demand of today’s businesses will enable you to delight customers, and let innovation reign in engineering.

Sensu: workflow automation for monitoring. Learn more—download the whitepaper.

Topics:
java ,software ,performance ,bug squashing ,prioritization ,usage analysis ,customer feedback

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}