Category: DevOps Practice

  • How Impact Mapping Can Align Remote Teams for Success

    How Impact Mapping Can Align Remote Teams for Success

    Impact mapping is ideal for creating effective cross-functional groups in a remote work environment

    Around the globe, teams have been adjusting to the current remote work environment. Those adopting a DevOps way of thinking may have had an easier time adapting to the rapidly changing situation.

    Yet, even for organizations used to remote work, there’s often a natural disconnect that crops up between teams that can hamper initiative planning and product launches. While teams within organizations may be conducting daily standups and adhering to agile ceremony cadences, communications pipelines tend to be more fragmented.

    As such, without a proactive and concerted communications and planning effort in place, it can be challenging for everyone to have a clear understanding of their organization’s objectives, let alone visibility into the work being done by their colleagues. Without this understanding, they run the risk of duplicating work or overlooking key performance metrics, and not delivering products that drive value for their customers.

    At a time where organizations are planning 2021 initiatives, impact mapping can help. This graphical strategic planning practice can be leveraged at any level of an organization that is looking to identify clear goals, build better lines of communication and map out the resources it will take to meet corporate initiatives.

    So how can organizations and teams take advantage of impact mapping?

    The 4 Elements of an Impact Map

    The goal or initiative: This should be specific and measurable. For example, “Increase customer satisfaction by 20% over the next 12 months.”

    The actor: The people or things that influence the eventual outcome. An actor can be a team member, but it can also be a piece of software or a group of people (e.g.: customer service).

    The impact: An assessment of behavioral changes necessary to achieve the goal. For example, a behavior change could be a decrease in the number of units a customer returns to the business.

    The deliverable: Any changes (or work items), platform updates and/or product features that will need to be created or improved to achieve the goal. In this case, reach the desired impact and increase customer satisfaction ratings by 20% over the next 12 months.

    To create an impact map, a facilitator and business owner gathers a team of sponsors across the business. This could include product teams, operations, finance and sales. Over the course of several hours (or, sometimes, weeks) the initiatives are brainstormed and prioritized. Utilizing a digital whiteboard, such as Coggle or Google Jamboard, all team members are invited to be engaged and to contribute.

    The net effect is that all team members can be on the same page when it comes to the overall strategic goal behind the initiative and their unique roles in the process. When the prioritizing is complete, they can go forward and continue to work together to deliver the right features to align with the objective.

    Before that happens, there are additional steps that take place during the impact mapping process that play a vital part in the ultimate success of an initiative. Let’s take a closer look at a few of those steps.

    Building a Team

    As the goals, actors, impacts and deliverables become clear, so, too, will the resources that an organization will need to make the ultimate outcome a reality. Those resources may include individuals from various parts of the organization.

    For example, it may be determined that one of the best ways to increase customer satisfaction is to significantly decrease the number of bugs in a product. That might necessitate a higher level of involvement from security teams in the development and planning process. Getting these teams involved early will save time and reduce risk as their input is incorporated into the design from the very beginning, helping to create a compliant, bug-free product that will better deliver on customers’ expectations.

    The number and type of team members will vary based on the product and the goal. In some cases, teams may include members versed in user experience strategies, while in others it may be DevSecOps team members. Whatever the use case, once the team and roles have been established, everyone involved in the product will have a clear view of what they’re expected to do, and how their work aligns with the rest of the team and drives toward achieving the goal.

    Improving the Development Process

    Impact mapping can also be useful for identifying areas of improvement in the development process. It sheds light on areas that teams may not otherwise realize need work. For instance, perhaps team members will discover they need to implement higher quality tools or make changes to their integration testing processes. Or, their developers need better training on Kubernetes Operators so they can automate and expedite the deployment of applications.

    These deficiencies and others can be discovered before they end up impeding development. By creating more transparency in these areas, teams can focus on addressing them prior to delivery, resulting in a secure and more stable product that meets its objectives.

    Facilitating Better Communication and Collaboration

    The impact mapping process encourages collaboration and the sharing of ideas that can, in turn, spur other ideas. Through collaboration, team members can help each other solve problems and find new ways to address the impact and deliverable phases of the process.

    Closer collaboration also allows team members to help each other become more comfortable with any changes that might be necessitated by the impact mapping process. This could include the adoption of new technologies that the team may not initially be comfortable using.

    Consider if the development process calls for the team to adopt new technologies that will change their workflow processes. Such a move could take many people out of their comfort zones. But if everyone understands the reasons behind the change and a willingness to test it out, the change becomes more palatable. By working together, they can collaboratively troubleshoot issues and adopt new best practices for using the technology.

    A Good Solution for a Remote Environment

    While impact mapping sessions have been delivered in conference rooms or large meeting spaces with sticky notes and markers, the practice can also enable alignment when used in a remote environment. Being on-screen instead of in-person can actually bring out participation among members who might otherwise be shy or reluctant to volunteer ideas in a room full of their colleagues or managers, where they may be hesitant to speak their opinions. Team members may feel more anonymous in a remote environment and feel more comfortable speaking freely.

    In short, impact mapping is ideal for creating effective cross-functional groups in a remote work environment. No matter where they are located, everyone will have a better understanding of what they need to do—both individually and collectively—to create applications that deliver value to their businesses.

  • 3 Ways to Support DevOps Teams in Remote Work

    3 Ways to Support DevOps Teams in Remote Work

    As we settle into remote work for the long haul, it’s crucial to consider how best to support DevOps teams. While DevOps employees face similar challenges working remotely as any other department, they also face increased pressure to deliver as IT professionals, supporting the entire organization through an ever-changing work environment.

    By nature, remote work makes it more difficult for your DevOps team to do their jobs. Team members are working in various environments, but also distributed across geographies. And in this new frontier, DevOps must provide service as usual, continuing their development projects and ensuring communication and alignment among departments when it comes to the organization’s technology and IT needs.

    Even more, in a distributed, remote workforce, disruptions to application performance and security issues are more likely to occur and DevOps professionals must be equipped to identify and correct them quickly. For these reasons, it’s critical that these teams have the right tools and support to remain operational, communicate effectively across departments and neutralize threats—keeping applications and the organization running.

    How to Support Remote DevOps Teams

    Remote success looks different for every DevOps team based on organization size, industry and business need. However, the following strategies can be applied universally and may even serve as building blocks on technological foundations you already have in place:

    • Continue migrating operations to the cloud. Your cloud infrastructure is the backbone of any remote support plans for DevOps teams. Migrating operations to the cloud is the biggest enabler in making sure your team is not tied to any physical location and can do their jobs without relying on a single data center or headquarters. For example, deploying your open source data infrastructure in public clouds not only makes it easier for team members to access the data but also increases developer and operational velocity, which accelerates application innovation. While most organizations are well into their migration to the cloud, it’s critical to accelerate the process to expand across more operational areas. Traditional work environments likely won’t return to fully in-office experiences. Rather, many organizations will implement a hybrid working model. Refining and expanding your cloud infrastructure will help you make that transition and continue supporting an in-office, remote or hybrid team in the future.
    • Automate security and performance monitoring. DevOps teams are under pressure to scale solutions for remote work, such as company VPNs for network access and secure application logins. They must also be alerted to and able to track any security issues that arose during the hasty transition to remote work. Automated monitoring of software performance and trends keeps teams ahead of threats and minimizes deployment issues. The software sends alerts and allows teams to view data in real-time. Even more, machine learning technology can analyze the data and identify trends about application performance, the cloud environment and data usage. This level of monitoring and analysis is only possible with automation and makes it much easier for DevOps teams to meet IT service requirements as the remote technology landscape rapidly changes.
    • Increase communication and collaboration efforts. It’s crucial that DevOps teams are in constant communication with key departments across the organization, including security and executive leadership, as well as with other employees to discuss what’s working and what needs to become a priority for change. To help support knowledge sharing across a remote team, first ensure you communicate all application metrics clearly so every member of the team understands and is aligned on projects and next steps. Dashboards can help in this arena, collecting and converting key data points into visuals. And while you can easily create and host meetings with conference calls and video conferencing software, informal face-to-face conversations are harder to re-create—and that’s where ideas are born. To combat this loss, arrange for non-structured discussions without strict agendas or topics to encourage idea sharing, creativity and inspiration among employees.

    Remote work has broken down the traditional DevOps team structure, but this new way of work provides an opportunity to build something better—more time for independent, focused work, a superior work-life balance and modern cloud-based solutions for daily tasks. Supporting DevOps teams as they grapple with the new pressures of remote work is the key to ensuring your organization runs smoothly during the transition—cloud infrastructure, automation and communication are just a few of the strategies to do so. 

  • DevSecOps Implementation: Interactive Testing

    DevSecOps Implementation: Interactive Testing

    This is the fourth installment in this series on DevSecOps. Read the first installment, on static analysis, here the second installment, on source composition analysis, here, and the third installment, on dynamic scans, here.

    Dynamic testing looks at the running application, poking and prodding to see how it reacts to known vulnerabilities. A complete dynamic scan watches a test runner as it runs against the application and tries all points of entry it can find, normally a highly automated process that takes a while.

    Where dynamic scans fall short is in pinpointing the problem within the application. Knowing that things went wrong when a given CVE was exercised against the app is one thing, but knowing what went wrong and where it went wrong is much more useful to make development teams productive. This is where interactive application security testing (IAST) tries to lend a hand. Using tooling in the application, interactive scans can offer the exact module/source file/shared library (etc) that caused the error.

    Generally speaking, interactive tests are best run at a targeted subset of an application, finding details needed to resolve issues the organization is already aware (or suspect) exist. In our test environment, we use interactive scans to zero in on issues that were detected by static and/or dynamic scans.

    It is likely that the interactive testing market will be the one to continue to move down the line to full-on security monitoring and/or it will encompass a growing list of environmental issues—it is, after all, designed for a running application to get exercised and find the issues. It is not a stretch to see these tools move in the above directions, and indeed you can see the beginnings of these moves in different vendors.

    But for today, the things-you-want-to-look-for list is here. My usual disclaimer applies … Through my (and others’) work for ASG, we’ve turned up a lot of information about DevSecOps tools and what to look for. We don’t have room in these blogs to delve into the depths of that research, but I’m offering an abbreviated hit-list of things to look for when moving toward this type of product. There is a lot to look for, and please be aware that this list is just to get your journey jump-started.

    • Language/framework support: It doesn’t need to be as tightly integrated as language-dependent static scans, but the tool still needs to support your specific development efforts. Support for Ruby/RoR, for example, is important if that is your dev platform of choice.
    • Source of vulnerabilities: Like other security tools, understand what interactive testing tools cover and how it is covered. Currently, most of these tools count on an external test running tool to actually run the test, while the dynamic scan watches what is happening inside the application.
    • Toolchain integration and support: Can the tool be called from your build/test toolset? Does it have integrations to feed results back into your build/bug-tracking systems? While these tools offer good interfaces to see what is going on, the explosion in tools that DevOps brought is making us dashboard-weary. Make certain your centralized code quality information store can be used as the single pane (or pain, depending upon implementation) of glass for initiating scans and reporting results.
    • Test tool support: As mentioned above, most of these tools are watchers that rely on another source to run tests. Make certain that there is some manner of coordination between these two so the test runner can be kicked off from the dynamic scan or vice-versa. More manual steps aren’t needed here and just slow the process.
    • False-positive rate: Interactive testing still struggles with false positives, though these tools are getting better. Have an understanding about average false-positive rates of the product in question, then ask about customization options to reduce this number in your given environment without reducing security posture.
    • Cost to configure/maintain: As is probably obvious, tooling an application to look inside of it is a step beyond normal production needs. Make certain the overhead of adding interactive testing to a project and the cost of integrating are worth the results to be had.

    Vendors call it “interactive” because it watches the interaction of the pieces of code inside the app as it’s running. Many customers call it “interactive” because the “tool” used to run apps for testing ends up being people “interacting” with the application. Both are somewhat accurate, though automation is coming apace, as it is for everything software testing.

    Choose a product that has enough automation today to suit your organization’s needs, and is progressing to wow you. Of all the security tools out there right now, interactive holds the greatest promise for wowing us. Since it is happening at runtime and can see inside the application, everything from environment to installed applications on the host could be covered, and that’s where some vendors are headed. An integrated environment security test tool with deep knowledge/reporting that includes knowledge gained from static scans and source code analysis is on the horizon—and, given the direction of all of DevOps, making that solution fully automated and reporting back to build systems is coming also.

    Interactive won’t replace the other steps in DevSecOps, but it will replace some of their functionality—or more often enhance some of their functionality. If a static scan notes a potential vulnerability, dynamic could verify if it is a real vulnerability before a human ever sees a report on the issue, for example.

    I’ll end this as I’ve ended the others: You all are kicking rear and taking names in a tough IT environment that exploded into near-100% remote for most of you. Keep kicking rear and don’t forget security. It is more important as your organization becomes geographically dispersed because now applications that were “secure enough” for the internal network are shared publicly. Even with infrastructure protections such as VPN in place, more caution should be applied to those applications simply because they are more exposed than “must be on our LAN” allowed for.

    Most users forget that in the end, someone is running those servers and keeping things working. So from me, for all those who’ve never seen the inside of IT, thank you. And keep rocking it.

  • DevOps Deeper Dive: ServiceNow and DevOps, One Year In

    DevOps Deeper Dive: ServiceNow and DevOps, One Year In

    It’s now been a year since ServiceNow launched its DevOps integration initiative. Since then, thanks to the arrival of the COVID-19 pandemic, the way organizations manage IT has utterly changed. With more employees now regularly working from home, more organizations have shifted toward relying on IT service management (ITSM) platforms that, like ServiceNow, run in the cloud.

    At the same time, the overall IT environment has become more complex as a greater number of applications based on microservices that span everything from containers to serverless computing frameworks are deployed in production environments. Most of those distributed applications are being built and deployed by DevOps teams who are finding it necessary to collaborate more with IT operations teams who still rely on ticket-based workflows to manage jobs and tasks.

    As organizations invest more in digital business transformation initiatives fueled by these applications, the pressure has intensified to bridge the cultural divide that has long existed between traditional IT operations teams and application development teams that have embraced best DevOps practices.

    At the core of that divide is a desire on the part of DevOps teams to automate IT process management. Tasks that once required IT personnel to implement manually increasingly now are being automated by developers employing tools and platforms that expose both APIs and command-line interfaces (CLIs). Not every IT task can be fully automated just yet, but with the rise of machine learning algorithms and other forms of artificial intelligence (AI), a great leap forward is clearly being made.

    In fact, the rise of AI coupled with a need to more aggressively reduce costs are motivating organizations to investigate how they can better unify the management of IT, said Judith Hurwitz, principal analyst for Hurwitz and Associates, an IT consulting firm.

    “It’s a major change,” said Hurwitz. “There’s a lot more focus on the issue of managing errors.”

    ServiceNow is investing in AI to address that issue, including partnering with providers of DevOps platforms to gain access to the data required to train AI models. That effort will simultaneously improve the developer’s experience at a time when organizations need to accelerate the rate at which applications are being developed, deployed and updated, said RJ Jainendra, vice president and general manager for IT business management and DevOps at ServiceNow.

    “The change management process is becoming automated,” he said.

    ServiceNow, which has more than 1,000 customers and contract values in excess of $1 million, is not the only provider of an ITSM with similar ambitions. Not only are providers of rival ITSM platforms moving down the same path, but new entrants have also emerged in the form of vendors that are extending DevOps platforms into the realm of ITSM. Atlassian, for example, has launched an ITSM initiative aimed specifically at DevOps teams looking to eschew a ticket-based approach to IT in favor of workflows that are managed directly by DevOps teams.

    As the responsibility for managing IT end-to-end continues to shift left toward DevOps teams, many won’t embrace ticket-based workflows. Eventually, DevOps platforms and legacy approaches to managing IT using tickets will converge. ITSM platforms are still the systems of record for recording IT events, so integration between DevOps and ITSM platforms is required.

    In the meantime, replacing IT processes that employ ticket-based workflows which adhere to frameworks such as ITIL will not be easy, said Mitchell Ashley, CEO and managing analyst at Accelerated Strategies Group.

    “Ticket-based workflows are incredibly sticky,” he said. “It’s not a question of undoing them as much as it is unraveling them.”

    In fact, Ashely said a ticket-based approach to managing IT may be too deeply ingrained in the psyche of IT teams to be replaced.

    “Ticket-based systems are a lot like email,” said Ashley. “They will be with us forever.”

    As long as ticket-based approaches to managing IT workflows remain in place, however, the potential for culture clash across teams that have divergent approaches to managing IT will remain high.

  • Out of the Silo: Big Data and DevOps Meet in the Middle

    Out of the Silo: Big Data and DevOps Meet in the Middle

    Given the myriad benefits they provide, it seems crazy that big data and DevOps have been implemented independent of each other

    If you have been working from home during the recent lockdowns, you probably don’t feel like you are making many new connections, but when we come to look back on this time in a few years, it might prove to have been one of the most effective networking sessions of the past decade.

    Nowhere is this more true than in the twin worlds of big data and DevOps. It seems that being forced to work from home, far from locking engineers in both disciplines deeper within their silos, has brought them out of their shells. In recent months, we’ve seen an outpouring of speculation on how DevOps and big data can work together, and even a number of impassioned manifestos on why it is time to bring DevOps ideas to big data.

    In this article, we’ll look at why this crossover is suddenly so popular, how these two disciplines can engage in a symbiotic relationship with each other, and how they are already doing so.

    The Pandemic and the Silo

    For consumers, the experience of lockdown has accelerated internet usage trends. While some of the changes that have recently swept the online world were easy to guess, the speed at which they have taken hold has been astounding. It’s therefore no exaggeration to say, as the New York Times put it recently, that the virus has changed the way we use the internet.

    These consumer trends are driving changes throughout the software development industry, forcing firms to adapt to rapid release, testing and update cycles.

    One of the biggest changes in the way that developers collect data over the past decade has been the source of the data. This year, and largely due to the COVID-19 pandemic, we passed a notable watershed: Mobile devices and smartphones now account for more than half of all internet traffic, resulting in an increased data flow that boggles the mind and creates issues of its own. This increased data load from consumer mobile devices, rather than from corporate data acquisition systems, is forcing teams to work more closely together.

    In the words of Bill Detwiler, editor in chief of TechRepublic, in a recent CBS interview: “The COVID-19 pandemic has accelerated the blending of data analytics and DevOps, meaning developers, data scientists, and product managers will need to work more closely together than ever before.” For most firms, the way in which these consumer trends are fed into the development life cycle is via analytics teams. This has meant that, during the pandemic, analytics teams were generating actionable insights at an increased rate, and this has been the driving force behind the newly intimate relationship between big data and DevOps staff.

    Waterfall vs. DevOps

    To understand the way in which big data and DevOps teams can best work together, it’s instructive to visualize the way in which developers, operational staff and data analytics agents work.

    A decade ago, most software developers were using some form of waterfall development methodology. As the name suggests, this approach was essentially linear—the specifications for software were set in advance, and after this point multiple teams worked in tandem to deliver a continuous “stream” of software updates.

    The DevOps framework changed that by encouraging communication and collaboration between operations and development staff. The idea, in short, was to ensure that software underwent continual testing—not just in terms of usability and security, but also against the requirements of the operations staff who were charged with maintaining it.

    Now, we might be facing a shift of similar scale. Many firms have now adopted big data frameworks, but these systems generally have been seen as a way of harvesting and collating market insights. This was always a waste of potential for big data because as long as it was regarded as part of marketing, it’s utility in other parts of an organization were difficult to discern.

    Not any longer, it seems. The changes caused by the pandemic—both in consumer behavior and in the way that organizations communicate internally—have given developers an appreciation of the value of the data that analytics teams hold.

    Pioneers Show the Way Forward

    It’s also worth noting that big data and DevOps teams working in tandem is not a utopian vision; rather, this way of working was already being explored within leading companies even before the pandemic.

    In retrospect, in fact, it seems crazy that these two teams ever worked independently. If you’re a transportation company, the ability to track your loads on the road and the health and safety of the cargo that they’re carrying has become mission-critical. If you’re in the armed forces and using drones on the battlefield to conduct and report reconnaissance in real-time flyovers, the ability to adapt software parameters on-the-fly can be the difference between success and failure.

    The military is, in fact, the place to look for examples of how big data and DevOps will shortly become one process. Big data in the military has long been more advanced than that in the civilian sector and is beginning to inform everything from IT predictive analytics to real-time usage analytics.

    The Future of Big Data and DevOps

    There remain, of course, significant challenges to be overcome before the promise of DevOps working with big data teams can be realized. Perhaps the most thorny of these is the fact that computing performance is crucial for big data in a way it hasn’t been for development: The latter teams may need to build capabilities to make use of the insights generated by big data teams.

    Still, communication can only be a good thing, and if the pandemic has forced some of us to emerge from our bunkers and start to work together, then at least one good thing will have come from it.

  • BVSSH and the Digital Zeitgeist

    BVSSH and the Digital Zeitgeist

    I like the book, “Better Value Sooner Safer Happier” (BVSSH), by Jon Smart with contributions from Zsolt Berend, Myles Ogilvie and Simon Rohrer. It is not only a punchy title that captures much of what we do in IT, but it also has the depth and nuance that is sorely needed. It focuses on outcomes while recognizing the intrinsic unpredictability of the systems (in the broadest sense) that we work in.

    DevOps

    Although it will be of interest to most IT-related disciplines, because of the people who follow Jon and his publisher, the book’s first audience will probably be the DevOps community. DevOps is a broad church, but many of the constitution have a strong focus on getting stuff shipped frequently, quickly and reliably. This is reflected in the metrics that are typically promoted for DevOps: deployment frequency, lead time for changes, change failure rate and mean time to recover. It is good to note that lead time is measured from code commit to production, so very right at the end of development. They are concerned with the tools for, and process of, successful deployment of increments of software. The functionality that is being shipped is often of less interest to those tasked with deployment. The boxes just have to be shipped, whatever their content. Most of the 67 practices in the excellent “DevOps Handbook” reflect this. The principles behind DevOps, however, can be applied beyond the deployment area, and many people do this. But DevOps’ sweet spot in terms of its contribution to improving activities is deployment.

    Agile

    Similarly, Agile also has a sweet spot: developing software increments that are potentially deployable. This definition of done demarcates where Agile guidance defers to DevOps guidance. An equally interesting demarcation is at the start, where the focus is on opportunities, hypotheses, requirements and specifications. Does Agile guidance help when there are unarticulated user needs and ambiguous hypotheses? Or is this the natural habitat of business analysis? Dave Snowden speaks of “pre-scrum techniques,” implying that Agile shows its value when requirements are clear enough for development of the first viable product increment. Just as with DevOps, Agile also embodies principles that can be applied beyond its sweet spot of software development.

    IT Operations, IT Service Management and Value Realization

    At the end of the value stream, we are concerned with ensuring that the potential value of the software products is actually realized. Much of this is beyond the scope of influence of the service provider, where IT operations (including site reliability engineering) and IT service management concern themselves with ensuring that the systems are performing well and that the users have access to the systems. Not only does the information system have to be operationally resilient, but users also have to use the functionality effectively, interpret the information correctly and take better decisions and, finally, act on those decisions.

    The ‘What’ of BVSSH

    Return of investment in digital products and information systems is only realized when people or things actually do something with them (or avoid undesirable action). This extends the definition of done way beyond deployable, deployed and accessible. “Done” is when value is realized, and this is the “what” of BVSSH. As Jon says, “It’s why you are doing what you are doing. It is of value to someone. It could be financial; it could be maintaining public safety; it could be charitable.”

    The ‘How’ of BVSSH

    The “how” of BVSSH is represented by better, sooner, safer and happier. Better refers to quality that is built in from the start. Sooner covers the end-to-end value stream, although I would extend the scope beyond the provider’s “getting it into the hands of a customer.” Safer is about “governance, risk and compliance, information security, data privacy, regulatory compliance and resilience in chaos. […] It is speed and control, not one or the other. […] The better the brakes, the faster you can go.” Finally, happier covers customers, colleagues, citizens and climate. “It is a more humane way of working, with empowered multidisciplinary teams and high levels of psychological safety, enabling experimentation and improvement.”

    Digital Zeitgeist

    I was delighted to see parallels with what we had written in ITIL 4 High-velocity IT. We recommend considering five objectives that help you identify and assess your weakest link across the whole value stream, and discuss which improvements you could make:

    • Valuable investments – Strategically innovative and effective application of digital technology.
    • Fast development – Quick realization and delivery of digital services and products.
    • Resilient operations – Highly resilient digital services and products.
    • Co-created value – Effective interaction between service providers and service consumers.
    • Assured conformance – Adherence to governance, risk and compliance (GRC) requirements.

    Valuable investments and co-created value correspond with value, fast development with sooner, resilient operations with better and assured conformance with safer. Happier manifests itself in co-created value but also in the five key behavior patterns that I believe employees aspire to:

    • Help get customers’ jobs done.
    • Trust and be trusted.
    • Accept ambiguity and uncertainty.
    • Continually learn and improve.
    • Do the ethically right thing.

    As I pointed out in another article, Gene Kim came up with a similar concept to the aspirational behaviors in his book, “The Unicorn Project.” He calls them the five ideals:

    • Locality and simplicity in our code and organization.
    • Focus, flow and joy in our work.
    • Enablement of improvement and achievement.
    • A culture of psychological safety.
    • A relentless focus on our customers.

    This all reinforces my belief that many of us are thinking along the same lines. We have tuned into the zeitgeist. People are increasingly concerned about doing the right thing and doing it well, and I am sure that “Better Value Sooner Safer Happier” will contribute to energizing this community.

  • Demystifying the Low-Code Category

    Demystifying the Low-Code Category

    The low-code category is estimated to grow substantially in the coming years. By 2024, Gartner projects 75% of large enterprises will have adopted four low-code or no-code tools for both IT application and citizen development needs. But what exactly is low-code, and what are the scenarios in which it is needed?

    Low-code, like so much other software jargon, is somewhat ambiguous. Under this umbrella term exists a well of various tool types—website generators, form builders, API connectors, database builders, workflow automators and more, each requiring varying levels of technical proficiency. Some are 100% codeless and UI-based with drag-and-drop templates. Others need programming acumen to set up to complement a developer’s pre-existing workflow. When we talk about low-code, we’re typically referring to platforms that help create internal business utilities.

    I recently connected with Divyesh Kharade, co-founder and CEO at DronaHQ, to demystify the low-code category. Below, we define citizen developers, break apart low-code versus no-code and dig into specific types of low-code scenarios. Given this knowledge, technology leaders can better identify what tools they need to increase rapid development for their business needs.

    Hard Code Is to No-Code as Manual Is to Driverless

    So what’s the difference between traditional coding, low-code and no-code? To demonstrate the nuances between emerging code paradigms, Kharade compares them to automobile types.

    Manual Coding

    Traditional coding is like a manual car with a gearbox

    With a manual car, you must know how to switch between gears. Not to mention, you must understand driving itself and how to navigate busy streets, all while following traffic laws. We can compare manual driving to traditional coding. Manual coding is for trained developers.

    For example, consider we need to develop an application to interact with a database. To create this from scratch, this could mean coding a PHP application, connecting it to a back-end database management system such as PostgreSQL and hard-coding commands for ingesting data and manipulating entries.

    Manual coding requires an adept understanding of programming languages and development frameworks and libraries and collaborative development processes such as git. Naturally, traditional coding is in the professional developers’ realm and often necessary for software teams developing proprietary software-as-a-service offerings. It affords ultimate customizability.

    Low-Code

    Low-code is like an automatic car

    With an automatic car, you must still know how to drive, but gear-switching is automated. Cruise control is a nice perk, too. Similarly, low-code seeks to make development easier. It even enables some non-tech folks to construct applications. Low-code is used by professional developers and citizen developers.

    If we consider our database example, a low-code solution would likely involve a one-time registration of a database. This would require a little technical expertise to initiate, Kharade said. However, after which, it would be smooth riding—a user interface would be utilized to develop applications that interact with the database.

    Low-code platforms often incorporate various drag-and-drop building blocks to help develop applications. These pre-generated components may include tables, textboxes, dropdowns, charts, maps, forms, user directories and other elements. Low-code solutions typically make code under-the-hood accessible and portable, too. Degrees here vary. Some, such as some-code, are more geared toward alleviating operational tasks for skilled engineers.

    Low-code solutions also may assist with the surrounding operations necessary to create a fully functional app, such as hosting, deployment and monitoring. Example providers in the low-code spectrum include Appian, Claris Filemaker, Mendix, Outsystems, Quick Base and Salesforce Lightning.

    No-Code

    No-code is like a driverless car

    In an automated car, AI handles all. Driving through traffic and re-routing is automated. You don’t need your hands on the wheel—but you do need a destination. Similarly, no-code is the most usable, non-tech option for application development. No-code is geared toward citizen developers and non-tech users.

    No-code takes low-code usability to a new level—100% UI-driven, with pre-built templates and the ability to string together utilities. No-code is popular in connectivity and triggers, taking the burden out of integration. Of course, the more you automate, the more granular control you sacrifice. Many no-code options simply require logins and permissions for business applications you already use. Examples include Zapier, IFTTT, Kissflow, Airtable and Retool.

    The trend toward low-code and no-code is industry-agnostic, too, having seen adoption by banking, manufacturing, consumer goods, eCommerce, and other areas, Kharade said.

    5 Common Low-Code Scenarios

    Now that we understand the variants, what are enterprises building using low-code? Kharade sees four common scenarios:

    1. Building internal forms: Collecting data in a form, such as for an inspection or audit. May require PDF generation. Non-tech folks with an understanding of their industry could create forms.
    2. Extending with publicly available forms: Making the form public for registration or lead generation. Requires little added functionality and a no-code user could likely implement.
    3. Working with databases: Junior engineers will readily understand database mechanics, but it’s not entirely non-tech, said Kharade. For example, skills may be required to synchronize databases with other cloud operations.
    4. Business process management (BPM): Digitizing the traditional corporate project approval processes. What was once paper-based or email-based is streamlined. It could involve picking up an order, pushing to a manager and a manager approves. Digitizing this process requires a deep understanding of the data structure.
    5. Purely open applications: Perhaps used for onboarding or internal job postings. Requires a fuller amount of user interaction design, workflows, file hosting and API connectivity. May require skilled developers.

    “Building your data structure at the start is extremely critical,” Kharade said. To him, more complex projects will still likely require skilled engineers at some point. But, as you can see above, there are many areas where low-code and no-code could streamline the creation of simple apps and tools.

    Low-Code, Demystified

    In other pieces, I’ve attributed the rise of low-code to an ongoing developer drought and the emergence of a digital-first economy during COVID. Throughout the pandemic, “there has been a frenzy to digitize any manual process,” noted Kharade. “People are scared even to use a pen someone has used.”

    Low-code has in part become a critical option to stand up replacement business applications rather effortlessly, providing citizen developers or non-tech users new digital capabilities. With its surge in popularity, the marketing language around this area is a bit befuddling, and many applications claim to be low-code or codeless.

    Of course, you could call any tool with a UI “no-code.” Technically, your iPhone apps are codeless from a user’s point of view. However, what sets these low-code development styles apart is their use in forging internal business applications and automating repetitive software development tasks. By utilizing low-code, traditionally non-tech companies could wrap operational capabilities around basic applications and scale them like tech companies.

    Another key to low-code, which I will expand on in a follow-up piece, is solving the integration hurdle with third-party APIs. “It’s difficult for a non-tech user to register an API,” Kharade said. One must understand authentication, OAuth, payloads, HTTP methods, responses and headers just to make a single call.

    API-driven services have needed better usability for quite some time. Low-code layers could make consuming a vast array of SaaS more inclusive—a fascinating prospect to problem-solvers of all skillsets.

  • Integrating Security in the Development Process With DevSecOps

    Integrating Security in the Development Process With DevSecOps

    Occasionally, it’s worthwhile to reflect on how we develop and deliver software during times of rapid change and significant disruption. In those moments of reflection, we learn from the exciting trends and changes that are taking place. Recently I had the opportunity to commiserate with two technical thought leaders at Perforce: Stuart Foster, product manager, and Steve Howard, static code analysis evangelist.

    The disruption caused by COVID-19 goes much deeper than just the rapid shift to work-from-home. Development teams are being asked to keep up developer velocity, while the organization as a whole accelerates digital transformation projects, shifting priorities and emphasizing investments needed to successfully navigate difficult and uncertain economic and market conditions.

    In our conversation, we note how investments already made in shifting to the cloud, remote and cloud-based development, automated testing and pipeline automation and security tools are helping organizations today. We also explore how current conditions influence product roadmaps, causing software teams to take a holistic look at their development processes and tools, and organizations to rethink how to take their software delivery capability to the next level.

    Stuart and Steve share their software best practices on collaboration, automation, security, standardization and more.

    Explore our conversation in more depth by viewing the video and transcript below.

    Transcript

    Mitch Ashley: Well, I’m happy to be joined by Stuart Foster, who’s product manager with Perforce, and Steve Howard, static code analysis evangelist, and I think a lot of other things, too—does a lot with Perforce. So, welcome, gentlemen—good to be talking to you today.

    Stuart Foster: Thanks, Mitch.

    Steve Howard: Hello.

    Ashley: You know, we’re talking about—you know, Perforce does a lot of things, and I think we’re just kind of focusing on what maybe some of the current conditions, current best practices are. There’s a lot happening right now in everybody’s world—a lot of change, a lot of disruption.

    But before we get to that, could I have you both introduce yourselves? Maybe Stuart, would you start first?

    Foster: Yeah. Hi, everybody, I’m Stuart Foster, I’m Perforce’s product manager for our static code analysis products.

    Ashley: Great—Steve?

    Howard: Yeah, and I’m—well, I have, as you say, many jobs and roles within the organization, but primarily focusing on the evangelism around using static code analysis for both of our products, Klocwork and QAC, here at Perforce, yeah.

    Ashley: If you’re working with developers, you gotta be doing evangelism, right?

    Howard: Yeah. [Laughter] 

    Ashley: They expect you to give them support, and be talking to them, in a different kind of way. Tell us—would one of you tell us a little bit about Perforce and what all you all do?

    Howard: Yeah, sure—well, I’ll take that. So, Perforce is an organization, obviously as, you know, originally comes out of the version control software. But really, it’s about developer tools and how we can help make the developer’s life easier in the day to day tasks. So, whether that be trying to prove compliance to standards or just trying to get the stuff out the door in the first place—anything that we can do to help make that process smooth and reliable is kind of where we are. And, you know, these days, that has a bit of a—a buzzword, if you will, around the DevOps tooling ideas, but essentially, it’s developer tools and making their life more comfortable.

    Ashley: That’s great, because you all fit into a number of places in the sort of tool chain, pipeline, workflow process across the development life cycle.

    Howard: That’s right, yeah.

    Ashley: So, that’s awesome. Well, let’s get into this. I’m really curious about what you’re finding in market, and one of the things we like to do when I’m talking with experts like yourself is, let me just try to share some of the things that we’ve experienced within the past, but also kinda recently that it’s happening, because we’re all dealing with economic change, disruption, COVID, work from home, all of those kind of things, but you know, we’ve done some research at my company and there’s a lot—of course, a great, great emphasis on acceleration of digital strategies and, of course, that puts a lot of pressure and emphasis and people are betting money on software being the answer to helping them implement their strategies.

    Are you seeing the same kind of thing, that acceleration of digital transformation and software—elevation of software projects?

    Foster: Yeah. We’re seeing that across the board, even in our own company here. You know, a lot of us have transitioned to work from home, and then you have to start thinking about the considerations for that, right? 

    And what we’re finding ourselves and working with our customers is, a lot of people are shifting more technological tools, right, to be able to better produce workflows and code reviews, how to—working from home, security, right? How secure are your remote development work stations? How is security being built into your software and your workflow? So, tools are being used across the board for that. Just being able to rely on a piece of software versus in-office workflow has become more and more important. And amongst all that, then there’s the goal to, you know, keep development velocity up, which could be a challenge when working from home, right? So, we’re seeing a lot more DevOps automation of, you know , a lot of workflow process and things like that.

    Ashley: Yeah, there’s no more popping over the edge of the cube or to the table next to you, right? Somebody sitting there at the café, in the office, or down the street. It’s a fully digital world, right? You’re not sitting with people very often.

    Foster: Yeah, we’re relying on Slack, we’re relying on Slack calls, Zoom videos, everything to just stay in touch and work and collaborate with one another, yeah.

    Ashley: Steve—yeah.

    Howard: But I think that’s where—yeah, so, I was gonna say, I think that’s where those centralized processes that we’ve kind of all been working towards, luckily, for the last few years, are really gonna pay off. Because how do we not have that? If you imagine how things were maybe five years ago, it would’ve been a much bigger transition to get to where we are now, whereas it was almost like most of our organization was kind of ready to go. We were already there, just—you could call foresightful, but really, it was a little bit of chance, I think. Yeah, those processes have held things together remarkably well, and we’re very lucky for it.

    Ashley: You know, nobody would wish for something like COVID or a pandemic on any of us, but if you look back, you know, I think back when we were virtualizing things and developers were starting to be able to just create a fully self-contained environment to develop on their laptop—I saw people working on planes, right? First time I saw somebody writing code on a plane—that’s awesome.

    But so many things, and then of course, adding the cloud and all the services and software and tool chains and pipelines that we can create now, it—I mean, I think we’re lucky, if you were gonna have something like this happen, now is the time where we can actually continue to be productive, and put more emphasis or pressure on ourselves to deliver software. Do you agree?

    Howard: Yeah.

    Foster: Yeah, absolutely.

    Howard: Yeah—sorry, Stuart.

    Foster: [Laughter] We agreed at the same time, that was great.

    Ashley: [Laughter] 

    Foster: But you’re right, I think, like, some of it—you know, it’s a little bit accidental, but as you mentioned, setting up the development workflow to be able to do it on a laptop, people are shifting their hardware, they’re removing their hardware and going to the cloud, right? So, it’s kind of been like an expansion and a reduction, all—just naturally, but also, you know, you think about DevOps and there’s also, you know, cost savings to be had by not having to have this footprints, not having to worry about these things.

    So, this could be, in some ways, pretty revolutionary or changing for development costs for a lot of companies.

    Ashley: Steve, you were gonna jump in there—anything to add?

    Howard: Yeah, no, exactly the same. I think the fact is that we—you know, a lot of that infrastructure is being built up and the idea of being able to run our development pipelines kind of in a cloud environment or whatever and having that all ready to go just meant that we didn’t have to pick up ginormous work stations. I remember back in my days of developing in aviation software, we used to literally have, you know, Unix boxes stacked up on the side somewhere that we had to go and log in on each one and run our testing for each single one. It’s just unthinkable. It would never have been possible.

    Ashley: That would be insane today. You would never. I mean—

    Howard: Yeah.

    Ashley: – if you have a choice, you would never do that, right? [Laughter] 

    Howard: Well, exactly, and the very fact that, you know, 10 years ago, we still had to do that, how could we have transitioned? It wouldn’t have been possible. And so, it really is testament to how far we’ve really come in 10, 15 years to see where we are with our testing processes, the fact that we can do, you know, 99 percent of it, if not all of it can be done completely with no connection to the physical space.

    Ashley: Mm-hmm.

    Howard: It’s all—and that can even mean, you know, in the cloud completely, so it’s not even within our organization. It’s securely being done off site somewhere in the ether. [Laughter] 

    Ashley: Yeah.

    Howard: And that process is still completely manageable, it’s something we can all see as developers, everyone can get to see where we currently are with that process, you know, what the latest test run gave us across the whole—

    Ashley: I’m really curious—yeah, I’m really curious what your experience in market is. Do you see more people who are kinda doubling down and getting even more serious about their DevOps implementation and taking it to the next level, or do you see more people coming to you that maybe are relatively new to DevOps and are looking for tooling and looking for ways of helping them, you know, not just get started and learn all the problems themselves, experience them themselves, but looking from the experience of a software provider like yourself, or is it a little bit of both?

    Howard: I’d say a little bit of both. I mean, obviously initially, there was such a lot to do already and everyone kind of had no time to really think—understandably, but probably within, you know, since the end of the summer, maybe, things have started to come back and people are actually going, “Well, hang on a minute. We’ve got a process, but now, how can we actually make this a lot easier for ourselves?” and looking to improve that.

    And I think, you know, for a lot of the organizations where, perhaps, doing things off site would never have even been considered. And I think this was to Stuart’s point—that kind of, that’s been forced upon people and it’s almost gonna change the way we develop forever now as a result of that, because we have now, we’ve done it, we’ve experienced that it’s possible, and it’s safe and it’s secure. 

    How can we now make that better and make our lives easier by not having that massive footprint that Stuart was mentioning? We’ve actually got something that’s very, very lean, it’s in the cloud, we’ve got machines when we need them, but not when we don’t need them, and how can we really make that process as efficient as possible from the results side, you know, making sure we’re doing what we’re supposed to be doing as quickly as possible, but also actually trying to reduce our footprint on process and power, for example? You know, the development time that’s involved in that, how can we make that as efficient as possible?

    Foster: Yeah, and I also think what we’re seeing, too, is, you know, our existing customers, they’re doubling down on their tools, you know, because they need to rely on something, right? And that’s also, what it’s done is also, I think, is changing some of the roadmap items that all products are looking at, right? There’s a whole new—not a whole new paradigm, but you know, there’s a little bit more seriousness being taken in terms of some of these features and functionalities of being able to work remote, or the requirements for more cloud usage, right? We’re talking ease of use, we’re talking about things that are, you know, related to workflows to make working in these conditions—not just in these conditions. Assuming you get back to the office, just more efficient as well.

    Ashley: Mm-hmm.

    Foster: So, we’re seeing that at the same time, too. And then, you know, from the perspective of new customers coming in, they’re almost expecting these things to already be there, right? Because they’ve run up to these problems as COVID has created and they’re trying to find the solutions that are gonna be kinda turnkey out of the box.

    And also, I’ve done, I’ve been talking with various analysts related to our product, but it seems as though the analyst community itself is, they’re seeing the requirement for, you know, ease of use in DevOps becoming more important as well at the same time.

    Ashley: Mm-hmm. I think that may be also, in part, the expansion of DevOps into the organization. They may have had a core group of teams that were really taking the challenge of DevOps and implementing it and now, how does the rest of the organization do the same thing, but accelerate their adoption of it?

    Foster: Yeah, and I think also, a lot of development groups within a single company—you know, you may have a security team, you may have a development team, you may have a LiveOps team—they’re starting to recognize that there are choke points in the development processes.

    Ashley: Mm-hmm.

    Foster: And so, how do you unblock that? How do you make it more easy? How do you offload some of that choke point onto a broader group, right? A lot of the idea of DevOps, DevSecOps, whatever you wanna call it, right, is that developers are owning the code that they produce in more broad ways. That’s writing unit tests, that’s making sure they do the QA on it, right? That’s when they’re, you know, they have to implement the security requirements then and there, right? They need to ensure the traceability is done, right? They have to—they’re taking that into their hands. It’s becoming not so much that there’s a DevOps group that magically handles all this infrastructure, it’s becoming part of each developer’s responsibility as well, right?

    Ashley: Hmm. Interesting. You know, I know, as you scale things out and you adopt new tools, tools do a lot of things for you, but there’s oftentimes, there’s approaches that you need to adapt into your tools, things like what are our coding standards, what are our testing, what level of testing do we do? How do we break it into chunks? When do we do security testing of our code?

    And that’s part of that learning curve to is, how do you adapt a tool set to both what your requirements are, but also, you would like it to kinda take you to the next level. What are some of the things that really can help people kind of propel their expertise in the organization’s ability to deliver software more effectively?

    Howard: Yeah, that’s a really good point. So, one of the things, you mentioned coding standards there, but obviously, you know, those can come from multiple sources, they can be something that’s actually being required by a standard, for example, if it’s in a safety critical, security critical world. It could be something that’s actually demanded by the organization itself—they have their own rules or there’s certain things in any particular project that, if you do things in a certain way would make, you know, it would be dangerous or insecure or something. So, they have some controls, as well, of that.

    And what we do see is, the more that we can get that information out to our developers, for example, the more value that has as well. So, yes, we can help enforce coding standards, for example, with our Static Analysis tools. But that’s only half the story. Enforcement is one thing; actually getting the developers to understand what the problems are as they’re creating them and to have easy access to the help and the quick feedback of those problems makes it much more powerful, because it gives them, (a) you know, all the resources they need to deal with the problem quickly and to not perhaps find it a challenge to have to deal with, but also, they learn. 

    And so, the next piece of code they write doesn’t generally have the problem. So, there’s a developer learning element there as well, which we can control centrally, and then spread out to all of these remote workers working—you know, without that team collaboration that we used to have, we’re still able to do the same things. So, that’s become something that’s really focused people’s minds on the capability there in terms of what that means. And as I say, that applies to security standards that are well known or requirements for quality that we have to work to for a security or safety standard—

    Ashley: Mm-hmm.

    Howard: – but also the company’s own rules.

    Foster: Yeah, and I think, you know, outside of just simply the tools, development teams are, you know, taking a step back and re-evaluating or thinking more about what their software development process is, holistically, right? You know, Steve mentioned there some of the tools, best practices, but you know, you also have to think what kind of, you know, software development methodologies might you be using. You know, sometimes it doesn’t matter whether it’s agile, waterfall, whether you’re using Scrum or Kanban, you know, I think it’s giving people a moment to think about what’s the most important kind of Dev process that is gonna fit this team or how you have to work now, how it fits the businesses. 

    And then implementing processes to ensure the organization, communication, and what systems need to be put into place to help prevent any problems that arise during development and kinda identifying and understanding that. Then you’re picking the tools, you’re building your development workflow, whether it’s in environments, it’s setting up DevOps pipelines to ensure that everything’s followed correctly. It’s the tools, but it’s the process, and that’s changed, too.

    Ashley: That’s interesting. You know, we’ve done some research about the influence that developers have had on the organization, too. Even outside of development teams, you’re seeing DevOps and agile kind of principles, even though they aren’t calling it that—daily standup meetings, shorter intervals of deliverables, more kinda asynchronous communication tools and collaboration kind of tools, which really makes it easier, I think, for the development teams, the product teams—you’re a product manager yourself, Stuart.

    Foster: [Laughter] 

    Ashley: And beyond—operations, security—everyone is kind of forced to work a little bit differently, but also can benefit from what each other knows about how to do that more effectively. And we seem like we’re at this sort of serendipitous time of being able to leverage that, which fits right into the tooling approaches that we can take.

    Foster: Yeah, and you know, when you look at it, like, it always just ends up communication. Whatever the communication is, whether that’s the workflow, whether that’s in-person, whether that’s meeting, whether that’s documentation, it’s all about communication, and that’s true not for just development, but for business, right? Developers working, you know, with other groups—marketing, sales—everything, it’s all communication. It just keeps business running. And that’s kinda the funny kinda perspective that may not necessarily be outright visible by simply saying, “It’s communication.”

    Howard: What’s interesting is, that’s also kinda mirrored in the tooling, because a lot of the work we’ve been doing recently is about how to make sure the tools have all got open interfaces to communicate with the next thing in the pipeline or to feed that data back up to some dashboard that’s gonna be shared with the rest of the team.

    So, yeah, it’s kind of an interesting point, but that also applies with the tooling that we’re trying to build around that.

    Foster: Mm-hmm.

    Ashley: Mm-hmm. A really great point. So, to give you fair warning, I’m gonna ask you your three recommendations on best practices in the current climate, so be thinking about that.

    I was thinking about your comment, Steve, about being able to better integrate tools together and then taking the data from the tool sets, the pipeline of the process that we’re going through and the pipeline of work—there’s so much value in that data that sometimes ends up as exhausts or on the cutting room floor, right, to use two different metaphors. But that information could be extremely valuable, putting it into dashboards, feeding it into continuous improvement processes, shortening the window for getting feedback for, “Here’s a security vulnerability or a coding standard” or some kind of an error that you can fix in minutes instead of days and weeks and sometimes months, right? The security audit at the end of the release is much easier, because you’ve already gone through so much to it. Those can all be things that can help us.

    So, I gave you a little bit of time there to think about your three best practices. I did my best job of stalling that I could. So, who would like to go first? What would you recommend people consider today?

    Foster: Yeah, I’ll go. Just, I want to reinforce that message of,  you know, figuring out how you’re going to work as a development team, develop that communication, right? And that’s using your tools.

    I think in the world of remote work from home, having kind of a common language—again, back to communication—of how, you know, each developer’s system is set up. So, common environments, they should be using as close to the same setups as possible so that, you know, when one of you is running into an issue, it’s easier to get that information across, right? You’re not gonna have to install something obscure because somebody’s using something obscure. You should all be trying to talk and use the same tools so you’re all speaking the same language. That allows you to have that velocity that you could otherwise lose.

    And in this world, too, security hasn’t been more important than ever—security is more important than ever. So, think about securing your Dev processes, developing secure software, it’s gonna be very important. And those are kinda my three.

    Ashley: Okay, great. All good ones. Steve?

    Howard: Yeah, I’d answer—so, my three would be, first of all, to automate; take the process away from the day to day effort of the development teams and organizations around them. So, yeah, that’s the first one.

    Report—so, that’s the communication piece, I guess, but get the information to the right people at the right time and hopefully in the right sort of time window.

    And then shift left. So, then, we make it more efficient. Then we look to where we can try to remove the fat in the process and take away the time that was wasted and try and move it to the right position in that process. So, yeah, those three, in that order. [Laughter] 

    Ashley: Great. Excellent, excellent. I’m curious what you both think will be some of the things that will stay with us, the things that’ll last past a forced work at home, forced work remote. Maybe people are returning to the office, maybe they aren’t. What do you think are some of the things that will stick with us? Because it wasn’t like we were doing this for two weeks and then we’d just go back to the office—this is an extended period, we’re developing new habits, we’re changing how we’re working. Why go back, sometimes, right? What are your thoughts?

    Foster: I think you’re gonna see a lot of these workflows stay around. I think that the reliance on the numerous tools to keep velocity up and reduce and automate are just gonna stick around. You know, you don’t want to be wasting time on trying to get something to work. It’s easier to just simply automate it and get it out of your hands so that, you know, at least from a development perspective, you can just focus on what’s important, which is, you know, coding, the feature, getting the product out the door, right?

    Those are gonna stick around, and I think the tools, over the course of time, are just gonna keep reinforcing and strengthening that kind of automation pipeline.

    Ashley: Good.

    Howard: Yeah, no, and I think, from my perspective, just to add the one small piece there is, the cloudification, essentially, of the processes. So,  I think, you know, people will stop having the premises to host great, big server racks in, and that’s just all gonna move off site, off premise, outside of the organization, for sure, yeah.

    Ashley: Yeah. To kinda add what you both have said, which I think supports your thoughts on this is—you know, as we change to whatever we’re gonna go back to, I don’t think it’s gonna be back to what we were doing. But it’s gonna be a hybrid, right? I can’t imagine everyone shifting back to a different way. It’s—some people are still, maybe even more percentage of our teams are working remotely, never going back into an office, but we may have some that do.

    We’ve broadened the reach across the globe of people that we’re working with, the product and vendor, tool vendors that we’re working with. Those things aren’t gonna change, right? 

    Howard: No. No.

    Ashley: We’re gonna stay doing that. If we’ve found something that works better, you’re gonna stick with it, right? So, you’re gonna stick with—you’re gonna stay in the cloud, push more in the cloud, right? And leverage some of the automation, the processes that you talked about, Stuart.

    Well, this has been really fascinating. Would love to have you both back, have you guys back and we can talk some more about—I’m gonna delve into static code analysis evangelist, your role, Steve, get into some of that, which I know you all have some of your products do and to security and to some other areas within the software pipeline, but this has been really great. I’ve really enjoyed talking with you both.

    Howard: Yeah, it’s been a pleasure.

    Foster: Great. Thanks, Mitch.

    Howard: Bye bye.

    Ashley: You bet. We’ll see you soon.

  • The DevOps Long Tail of Salesforce’s Slack Buy

    The DevOps Long Tail of Salesforce’s Slack Buy

    While most of the focus on the acquisition of Slack this week by Salesforce for $27.7 billion clearly revolves around digital business transformation initiatives, the implications of the deal for DevOps teams that have been employing Slack to collaborate for years is significant.

    Salesforce owns both Heroku and Force.com in addition to providing developers with a set of low-code Lightning tools for building applications on top of software-as-a-service (SaaS) applications built by Salesforce.

    During a conference call with analysts this week, Salesforce CEO Marc Benioff made it clear most of the initial focus will be on tightening integration between Slack and the company’s broad portfolio of customer relationship management, marketing, analytics and artificial intelligence software. However, Slack first gained traction as a collaboration service that DevOps teams employed to share updates and notifications. Many DevOps teams still employ Slack for that purpose and it’s only a matter of time before all the units that make up Salesforce tighten integration with Slack.

    It’s not clear to what degree that integration might convince DevOps teams to either stay with or switch to one of the several platform-as-a-service (PaaS) environments that Salesforce makes available. However, the Lightning PaaS that Salesforce provides for organizations that want to extend the company’s SaaS applications has been gaining significant traction. Rather than writing entire applications from the ground up, the path of least digital business transformation resistance for many organizations is to employ low-code tools such as Lightning to extend existing SaaS applications.

    Salesforce also own MuleSoft, which it positions as a platform for integrating both SaaS and on-premises applications to further those digital business transformation initiatives.

    That approach has gained significant traction in the last six months as organizations have expanded reliance on SaaS applications to enable employees to more easily work from home to help combat the COVID-19 pandemic. For its most recent third quarter, Salesforce posted revenues of $5.42 billion, an increase of 20% year-over-year. Benioff said the company is now lifting its future guidance to slightly exceed pre-pandemic levels. Salesforce is projecting fiscal 2021 revenue at the end of its fourth quarter will total $21.11 billion. Revenue guidance for fiscal 2022 has been raised to $25.5 billion.

    Most of the custom applications being built on top of Salesforce platforms are constructed by professional developers. That shift toward employing Salesforce SaaS applications as a platform has created demand for DevOps platforms from providers such as Copado and Gearset. Most recently, Gearset has begun offering free training to encourage the adoption of best DevOps practices among developers of applications based on the Salesforce platform.

    Benioff said the first fruits of the acquisition of Slack will manifest themselves next year. In the meantime, DevOps teams that have standardized on Slack for collaboration should expect to be hearing a lot more about Salesforce tools and platforms on a Slack channel near them.

    Of course, none of this is lost on Microsoft, which is similarly moving to incorporate Microsoft Teams within DevOps workflows. It will be up to each individual DevOps team to decide which approach to collaboration makes the most sense from here.

  • Governance, Quality Critical in the New Digital Norm

    Governance, Quality Critical in the New Digital Norm

    The shift to digital is certainly not new. But the speed of digital adoption has been accelerated as organizations react to the COVID-19 pandemic and implement remote working and contactless or self-service channels for customers. What’s more, the evidence shows that trend is here to stay.

    Analyst Gartner’s CIO Agenda 2021 report shows that 76% of CIOs reported increased demand for new digital products and services as a result of the pandemic. But far from being a temporary spike, 83% of CIOs said they expect that to increase further in 2021. There was also a 65% increase in the use of self-service by customers during the crisis, and 79% of CIOs expect that figure to grow next year, too.

    These trends all put increasing pressure on DevOps teams to drive continuous improvement and development of products. Some 83% of developers say they are releasing code faster and more often than ever before, according to the “2019 State of DevOps Report.”

    But with the pressure to develop faster, there is a battle to find the right balance between speed and quality. Move the needle too far toward either end of that spectrum and the results can be equally disastrous for the business.

    In Digital, Quality Matters

    Rushing releases and updates out too quickly can lead to poor quality or defective code. If this impacts the user experience, it can have a significant impact on adoption and ratings. A report on commercial and retail app testing by Testlio, for example, shows that 50% of users won’t download an application with a three-star rating from an app store. And that rises to 85% for an application with just a two-star rating.

    In the second annual OverOps DevOps survey, over half of respondents said they encounter critical or customer-impacting issues in production at least one or more times a week. And more than 40% of critical production issues are first reported by end users or customers rather than by internal monitoring and alerting tools.

    But 45% of developers in the same study said they are under pressure to move fast, which doesn’t give them enough time to ensure the quality of the code they are producing.

    Manual Bottlenecks

    While DevOps has tools to develop, test, ship and containerize software, there is often a lack of governance and orchestration. This makes it difficult to get that balance between speed and quality.

    The major challenge for DevOps is the time-consuming and manual nature of testing and QA, which causes new releases and updates to be either delayed or of poor quality. The testing life cycle remains highly manual and updates must be tested across all devices, platforms and networks.

    More than half (55%) of respondents to Kobiton’s “State of Test Automation” survey for 2020-2021 said automating testing would improve software quality. Yet just over three-quarters (76%) said they still conduct most of their testing manually.

    And it is this lack of automation and orchestration that is really holding back DevOps efforts in many organizations today. In a survey by research analyst Forrester, “Face the Workflow Automation Gap Head On,” two-thirds (67%) of IT leaders said the lack of application workflow orchestration leads to services not being completed in time and 55% admit that it takes valuable time away from strategic initiatives.

    Managing the DevOps Workflow

    The key to ensuring better governance and quality in DevOps and overcoming the manual effort and time pressure is to integrate automated workflow orchestration into the software development lifecycle process.

    This orchestration enables DevOps teams to test early and often, and ensure new releases and updates are ready to go to a live production environment.

    For example, modern workload automation tools allow IT ops teams to easily standardize processes in development, test and deployment with the help of built-in wizards and templates. And rollback capabilities and automated process documentation take much of the pain out of managing DevOps processes. Workload automation also provides greater coordination with highly configurable automation that only runs processes when a certain set of conditions is met.

    Ultimately, this helps DevOps teams automate and streamline the QA and testing processes so changes are carried over into the production environment without developers having to manually transfer new code from the testing environment.

    And that means DevOps teams can automatically enforce governance and standards and maintain that essential balance between speed and quality in today’s digital norm.