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.
Use of artificial intelligence (AI) in digital commerce is generally considered a success, according to a survey by Gartner, Inc. About 70 percent of digital commerce organizations surveyed report that their AI projects are very or extremely successful ...
Most organizations are adopting or considering adopting machine learning due to its benefits, rather than with the intention to cut people’s jobs, according to the Voice of the Enterprise (VoTE): AI & Machine Learning – Adoption, Drivers and Stakeholders 2018 survey conducted by 451 Research ...
AI (Artificial Intelligence) and ML (Machine Learning) are the number one strategic enterprise IT investment priority in 2018 (named by 33% of enterprises), taking the top spot from container management (28%), and clearly leaving behind DevOps pipeline automation (13%), according to new EMA research ...
Although Windows and Linux were historically viewed as competitors, modern IT advancements have ensured much needed network availability between these ecosystems for redundancy, fault tolerance, and competitive advantage. Software that offers intelligent availability enables the dynamic transfer of data and its processing to the best execution environment for any given purpose. That may be on-premises, in the cloud, in containers, in Windows, or in Linux ...
TEKsystems released the results of its 2018 Forecast Reality Check, measuring the current impact of market conditions on IT initiatives, hiring, salaries and skill needs. Here are some key results ...
Retailers that have readily adopted digital technologies have experienced a 6% CAGR revenue growth over a 3-year period, while other retailers that have explored digital without a full commitment to broad implementation experienced flat growth over the same period ...
As businesses look to capitalize on the benefits offered by the cloud, we've seen the rise of the DevOps practice which, in common with the cloud, offers businesses the advantages of greater agility, speed, quality and efficiency. However, achieving this agility requires end-to-end visibility based on continuous monitoring of the developed applications as part of the software development life cycle ...
I believe that in the UK and US there is a lack, nay absence, of pragmatic computing education which matches the needs of the current business world of information technology (IT) ...
Half (52%) of consumers worldwide are now using Internet of Things (IoT) devices, yet 64% of those have already encountered performance issues – according to a global survey of 10,000 consumers conducted by Dynatrace ...