In Part 1 of APMdigest's exclusive interview, John Jeremiah, Technology Evangelist for HP's Software Research Group, talks about how to succeed in the current app development environment.
APM: HP seems to be making a lot of news in the application developer space, particularly the mobile developer space. What's driving the push?
JJ: At the HP Discover event in June, our CEO, Meg Whitman, discussed HP's four transformative areas that cover the whole company, including hardware, software and services. HP's push into the developer space is tied to several of these areas.
The first area that links to developers is empowering the data-driven organization, as companies are collecting an unprecedented amount of information about their customers, and the way their products and services are used. Data helps businesses make better decisions, and in the app delivery space it helps application development teams deliver higher-quality applications faster. Data also enables application development teams themselves to be more productive, as well as the enterprise end-users for whom they're designing new applications.
Second, enabling workplace productivity is about delivering world-class service to end users on their device of choice, often mobile. To do this, development teams have to be able to "know" what end users want, when they want it and how they want it. Then, developers have to be able to quickly deliver high quality solutions to keep their end-user community happy and satisfied.
APM: What do organizations need to do to be successful in the current app development environment?
JJ: Organizations face two seemingly conflicting challenges. They must roll-out new applications and functionality at speeds never seen before, but these applications must also be extremely reliable and high-quality, particularly from an end-user performance perspective.
Today, brands practically live and die by their mobile app store rankings. Customers who have a bad experience with a mobile app are probably not going to give it a second chance, and will move on to a competitor quickly. In addition, customers will not hesitate to post negative reviews and complaints on social media sites. Similarly, employees using an app to do their job will be less productive if the app is clumsy and time-consuming. Therefore it is imperative that organizations select the right tools and methodologies to manage the balance between speed and quality.
APM: What are the right tools and methodologies?
JJ: The best approach for a given development project really depends on the business drivers, application complexity and business risk tolerance. For mobile apps, speed of delivery and frequent updates are expected, typically agile and DevOps are the norm with substantial automation (testing, deployment, etc.).
On the other hand, updates to large and very complex core business systems (ERP, financial, etc) often don't require speed, but rather require exceptionally low risk of errors and defects. In these cases, often a more traditional (waterfall type) approach is suitable.
The "right" tools is a function of several factors: the team's skill set, the need for distributed collaboration and integration into the existing tool ecosystem.
APM: What makes a quality app? What are the key factors in the "quality" equation?
JJ: When people think of app quality, they most often think in terms of it being functional – working as it is supposed to – and delivering a slick, easy experience for end users. A quality app should be able to work flawlessly in both good and bad network conditions, which frequently change. Development teams need to design for fluid network situations, and not assume 4G or WiFi.
But there are more components to quality than functional and end-user performance – there is also security; we call this the "quality trifecta". A quality app should also be trustworthy from a security perspective. In the race to market for new applications, developers often fall into the trap of re-using existing software components that may defective without their knowing. With hackers using increasingly sophisticated methods, this can leave organizations with huge blind spots. This can be particularly harmful in the mobile app arena, since mobile app transactions often tie directly to back-end systems. A security hole in a mobile app can seriously compromise a company's IT infrastructure.
APM: What are the key points that the business side of companies does not realize about app development, but really should know?
JJ: Industry leaders are rolling out new apps and capabilities at a mind-boggling pace. For example, the Facebook mobile app is updated and refreshed every two weeks like clockwork. This is the new normal, and Facebook and others are setting expectation levels for end users regarding both the frequency and quality of apps. Users expect apps to be constantly fixed and updated, and other companies need to get on board.
Unfortunately, not all companies have the resources of Facebook, that allow them to achieve these seemingly dichotomous ends – extremely fast roll-out of high quality software. But whether we like it or not, software is what sets companies apart today, and business executives know this and are relentlessly focused on it. There needs to be a mindset shift, from "project" to "product". Rather than funding a "project" for a new mobile app, businesses need to shift their mindset to consider how to fund the life of the "product". This allows the product team to accelerate their pace of delivery, based on their available resources.
APM: What is the "shift left" movement in testing?
JJ: Traditionally, the application lifecycle followed a sequential model – ideation, development, testing and finally, production. It used to appear that testers assumed the bulk of responsibility for ensuring an application worked as it was supposed to, before it moved to the production phase. Developers would essentially throw their newly created application "over the wall" to testers — and later IT ops — and consider their job done. "I've created the app, now it's your job to make sure it works" was a common line of developer thinking.
But today, developers are assuming a greater role in testing, ensuring that applications meet basic functional requirements before they move any further down the funnel towards testing, and ultimately production. In addition, testing teams are getting involved earlier in the cycle so that quality checks are not left to the end.
This is known as the "shift left" movement, and its goal is to prevent code defects from getting too baked into applications as they progress through the lifecycle. The further along an application moves toward production, the more embedded defects can become, and the more costly and time-consuming they are to un-do. In fact, when you look at DevOps, the concept of keeping the application always "production ready" is really a statement about the entire team embracing quality at all stages.
APM: What are some of the most common challenges developers face as they start to shift left to this new style of delivery?
JJ: Even with their newly added responsibilities, the world of agile and DevOps demands development teams work within shortened cycles. It is a race against time. In addition, where testers are concerned, more application roll-outs also mean more testing. Testers simply don't have time to get bogged down in manual tasks like provisioning testing platforms, tweaking testing environments and executing multiple rounds of repetitive tests. Fortunately, tools exist today to bring greater testing automation to developers, and integrate right into existing developer environments and frameworks. Further downstream, automation tools for testers enable them to test more applications, faster.
As the New Year approaches, it is time for APMdigest's 10th annual list of Application Performance Management (APM) predictions. Industry experts offer thoughtful, insightful, and often controversial predictions on how APM and related technologies will evolve and impact business in 2020 ...
Enterprises with services operating in the cloud are overspending by millions due to inefficiencies with their apps and runtime environments, according to a poll conducted by Lead to Market, and commissioned by Opsani. 69 Percent of respondents report regularly overspending on their cloud budget by 25 percent or more, leading to a loss of millions on unnecessary cloud spend ...
For IT professionals responsible for upgrading users to Windows 10, it's crunch time. End of regular support for Windows 7 is nearly here (January 14, 2020) but as many as 59% say that only a portion of their users have been migrated to Windows 10 ...
Application performance monitoring (APM) has become one of the key strategies adopted by IT teams and application owners in today’s era of digital business services. Application downtime has always been considered adverse to business productivity. But in today’s digital economy, what is becoming equally dreadful is application slowdown. When an application is slow, the end user’s experience accessing the application is negatively affected leaving a dent on the business in terms of commercial loss and brand damage ...
Useful digital transformation means altering or designing new business processes, and implementing them via the people and technology changes needed to support these new business processes ...
xMatters recently released the results of its Incident Management in the Age of Customer-Centricity research study to better understand the range of various incident management practices and how the increased focus on customer experience has caused roles across an organization to evolve. Findings highlight the ongoing challenges organizations face as they continue to introduce and rapidly evolve digital services ...
The new App Attention Index Report from AppDynamics finds that consumers are using an average 32 digital services every day — more than four times as many as they realize. What's more, their use of digital services has evolved from a conscious decision to carry around a device and use it for a specific task, to an unconscious and automated behavior — a digital reflex. So what does all this mean for the IT teams driving application performance on the backend? Bottom line: delivering seamless and world-class digital experiences is critical if businesses want to stay relevant and ensure long-term customer loyalty. Here are some key considerations for IT leaders and developers to consider ...
Through the adoption of agile technologies, financial firms can begin to use software to both operate more effectively and be faster to market with improvements for customer experiences. Making sure there is the necessary software in place to give customers frictionless everyday activities, like remote deposits, business overdraft services and wealth management, is key for a positive customer experience ...
For the past two years, Couchbase has been digging into enterprises' digital strategies. Can they deliver the experiences and services their end-users need? What pressure are they under to innovate and succeed? And what is driving investments in new technologies? ...