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.
On Wednesday, May 6th, iOS users all over the world experienced an app crash when they tried to open popular apps such as TikTok, GroupMe, Spotify, and Pinterest. How did simultaneous crashes occur across so many independent apps? What's the common thread that would cause widespread app crashes? Turns out, it was a change in behavior in the Facebook API ...
Keeping networks operational is critical for businesses to run smoothly. The Ponemon Institute estimates that the average cost of an unplanned network outage is $8,850 per minute, a staggering number. In addition to cost, a network failure has a negative effect on application efficiency and user experience ...
Nearly 3,700 people told GitLab about their DevOps journeys. Respondents shared that their roles are changing dramatically, no matter where they sit in the organization. The lines surrounding the traditional definitions of dev, sec, ops and test have blurred, and as we enter the second half of 2020, it is perhaps more important than ever for companies to understand how these roles are evolving ...
As cloud computing continues to grow, tech pros say they are increasingly prioritizing areas like hybrid infrastructure management, application performance management (APM), and security management to optimize delivery for the organizations they serve, according to SolarWinds IT Trends Report 2020: The Universal Language of IT ...
Businesses see digital experience as a growing priority and a key to their success, with execution requiring a more integrated approach across development, IT and business users, according to Digital Experiences: Where the Industry Stands ...
Fully 90% of those who use observability tooling say those tools are important to their team's software development success, including 39% who say observability tools are very important ...
As our production application systems continuously increase in complexity, the challenges of understanding, debugging, and improving them keep growing by orders of magnitude. The practice of Observability addresses both the social and the technological challenges of wrangling complexity and working toward achieving production excellence. New research shows how observable systems and practices are changing the APM landscape ...
The enforced change to working from home (WFH) has had a massive impact on businesses, not just in the way they manage their employees and IT systems. As the COVID-19 pandemic progresses, enterprise IT teams are looking to answer key questions such as: Which applications have become more critical for working from home? ...
In ancient times — February 2020 — EMA research found that more than 50% of IT leaders surveyed were considering new ITSM platforms in the near future. The future arrived with a bang as IT organizations turbo-pivoted to deliver and support unprecedented levels and types of services to a global workplace suddenly working from home ...