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.
While the idea of shifting toward digital business was speculative for most CEOs a few years ago, it has become a reality for many in 2017. 47 percent of CEOs are being challenged by the board of directors to make progress in digital business, and 56 percent said that their digital improvements have already improved profits ...
The Internet of Things (IoT) is increasingly present in our daily lives, at work, in the home and in the public sphere, making the world a more connected place. In fact, 2020 will see at least 20 billion connected devices across the globe. So, let's take a look at the most common iterations of the IoT at the moment, and what we can expect to see in the IoT landscape over the next 5 years ...
In the spirit of Earth Day, which is Saturday, April 22, we recently asked IT professionals for the tips and tricks they're using to help keep their data centers as green as possible. Here are a few ideas inspired by the responses we got ...
A majority of senior IT leaders and decision-making managers of large companies surveyed around the world indicate their organizations have yet to fully embrace the aspects of IT Transformation needed to remain competitive, according to a new study conducted by Enterprise Strategy Group (ESG) ...
The move to cloud-based solutions like Office 365, Google Apps and others is one of the biggest fundamental changes IT professionals will undertake in the history of computing. The cost savings and productivity enhancements available to organizations are huge. But these savings and benefits can't be reaped without careful planning, network assessment, change management and continuous monitoring. Read on for things that you shouldn't do with your network in preparation for a move to one of these cloud providers ...
One of the most ubiquitous words in the development and DevOps vocabularies is "Agile." It is that shining, valued, and sometimes elusive goal that all enterprises strive for. But how do you get there? How does your organization become truly Agile? With these questions in mind, DEVOPSdigest asked experts across the industry — including analysts, consultants and vendors — for their opinions on the best way for a development or DevOps team to become more Agile ...
Is composable infrastructure the right choice for your IT environment? The following are 5 key questions that can help you begin to explore the capabilities of composable infrastructure and its applicability within your own IT environment ...
What is composable infrastructure, and is it the right choice for your IT environment? That's the question on many CIOs' minds today as they work to position their organizations as "digitally driven," delivering better, deeper, faster user experiences and a more agile response to change in whatever vertical market you do business in today ...
As companies adopt new hardware and applications, their networks grow larger and become harder to manage. For network engineers and administrators, the continued emergence of integrated technology has forced them to reconfigure and manage networks in a more dynamic way ...