Category: DevOps Toolbox

  • Gitpod Open Sources Automated Local Development Environment

    Gitpod Open Sources Automated Local Development Environment

    Gitpod announced today it is making available an instance of its Gitpod integrated development environment (IDE) available under an open source license.

    Company CEO Sven Efftinge said DevOps teams will now have the option of deploying Gitpod themselves as an alternative to the existing cloud service provided by the company.

    Designed to be used in conjunction with repositories such as GitLab, GitHub Enterprise and Bitbucket, Gitpod automates the building of development environments on-premises, Efftinge said. It continuously monitors updates to any Git repository.

    Gitpod will then configure the right tools for a specific git branch, automatically compile machine-executable code and download all the dependencies required to allow developers to build code on-premises. Rather than having to manually configure a desktop environment, developers can start coding in seconds, Efftinge said.

    Gitpod borrows concepts from continuous integration platforms and applies them to development environments, he said, noting developers today typically spend multiple hours per week setting up and maintaining local developer environments.

    By automating that process, he said, the local development environment can also better align with production environments. One of the reasons why code doesn’t work in a production environment when it is first deployed is because the local development environment has been manually configured in a way that doesn’t accurately reflect the production environment, Efftinge noted.

    That issue becomes even more problematic when developers are working on multiple projects involving, for example, separate microservices that are all going to run in different production environments, he added.

    Gitpod also prevents drift by making sure all versions of a local desktop environment among developer teams remain consistent. Collaboration also becomes easier when the members of the teams have standardized on the same instance of a local desktop environment.

    Efftinge said there are already hundreds of thousands of developers using the Gitpod cloud service. The open source edition provides an option that will enable DevOps teams to self-host their own instance, he noted.

    Gitpod, formerly TypeFox, collaborated with Google, Ericsson, Arm and Red Hat to develop the open source Eclipse Theia project, which provides a foundation for building IDEs in the cloud using TypeScript, CSS and HTML. Theia, now being advanced under the auspices of the Eclipse Foundation, consists of a front-end running in a browser or in the local desktop application and a back-end running on any host. Both the front-end and back-end communicate through JSON RPC over WebSockets. Gitpod leveraged that project to build its own cloud-based IDE.

    In the wake of the COVID-19 pandemic, there’s naturally a lot more focus on automation and developer productivity. Most developers will be working from home for the foreseeable future to help combat the spread of the virus. Of course, most developers have been writing code outside the office for years. The challenge now is enabling teams of developers to develop applications as efficiently as possible regardless of where they are located. Eliminating inefficient manual tasks such as maintaining local development environments could be a significant step in that direction.

    It’s not clear yet whether DevOps teams are more or less productive since the onslaught of the COVID-19 pandemic. However, it is apparent the need for a consistent experience among teams of highly distributed developers is acute.

  • Did Your Last DevOps Strategy Fail? Try Again

    Did Your Last DevOps Strategy Fail? Try Again

    Let’s get one thing out of the way. DevOps isn’t a panacea—it isn’t magic, it isn’t a requirement for any enterprise and it won’t work for every team in every situation. Above all, it isn’t a yardstick by which an outsider can measure great operations, development or IT. And if anybody tries to tell you it is, feel free to say thanks and politely change the subject. You’re the one responsible for delivering the services your business depends on, and if the way you do it meets the needs of your business and the team is happy, stick with it.

    But if you’ve tried adopting DevOps methodology, it’s likely because your business needs to substantially alter itself to meet specific goals. And DevOps has demonstrated the ability to help many organizations. Unfortunately, just as many seem to abandon DevOps initiatives and roll back, sometimes more frustrated than if they hadn’t tried it in the first place.

    IT might be the team responsible for reliability, but this is a big challenge in an increasingly “fail fast” era. Many businesses are encouraging their departments to experiment, learn from their mistakes and keep trying until they deliver business-transforming innovation. But in IT, the high visibility of issues—even those initially within the accepted risks of a new project—seem to be treated differently. Even minor and expected teething pains can be judged as failures in hindsight. And many of us have seen instances in which attempting something new and encountering difficulty seems to make it five times harder to get off the ground on the next attempt.

    DevOps is a prime example. As its culture and practices gained popularity, companies were quick to jump on the bandwagon—only to stumble in the execution or not deliver anticipated “transformation” or measurable ROI. It’s not uncommon for these companies and decision-makers to be left with a bad taste in their mouths. They may be reluctant to revisit DevOps and try again, even with the gained value of previous investments and lessons learned.

    This isn’t much of a surprise: Humans don’t like to investigate public failures, and everything in IT is public, assessed in binary absolutes. It either works or it doesn’t, apps are up or down, and everyone in the company can see them. It’s also natural for businesses to switch their focus to the next potential success if personal political capital was part of a DevOps project. And as engineers, looking forward is in our DNA. We’ve built our careers around finding new and better ways to meet customers’ needs, solving novel challenges, and permanently squashing nagging issues to make room for new technology. The trick is to avoid considering DevOps a passing fad.

    There’s significant value to be gleaned from any investment in DevOps—a better understanding of the human dynamics of your organization, at a minimum. If your team tried to implement some of the processes of DevOps or took the advanced step of adopting DevOps culture, don’t forget you did it for a reason. Go back and review what led you to consider DevOps in the first place. Chances are the business needs behind it haven’t changed and may have even expanded.

    Outline those earlier reasons—they’re likely still there, even under novel circumstances such as shifting the team to work from home. Did your DevOps effort meet its original objectives, regardless of any rear-view assessment? Drill into the details where it didn’t. Was it due to culture, communication, risk reassessment or operations challenges? Did your team end up building something different than what you intended—a compromise not meeting the business’s needs? Take your time; you likely had many good people on the effort who are eager to share what they learned. A previous misstep could be due to a skills gap, software, management support or something as basic as infrastructure. The first step in taking another swing at DevOps is analyzing the previous attempt with data instead of opinions.

    And there’s a good reason you’re likely planning to try again: The stakes are high. According to Forrester, 80% of revenue growth will depend on digital offerings and operations by 2022. Organizations will survive and grow depending on their ability to design and deliver technology services, respond to issues and meet growing user expectations. At the same time, considering the environment brought on by COVID-19, IT teams are seeking new ways to sustain operations and use the time to build a head start for when business picks up.

    With this in mind, here are a few ways businesses can approach evaluating the execution of a first DevOps attempt to inform a successful second try.

    First: Deputize an Investigator

    You’ll need a deputy to help you conduct a forensic analysis and your QA team might be an unexpected place to find the right candidate. QA likes many of the outcomes of DevOps practices because they’re often suffering horror-show weekends at the hands of big-bang monolithic deployments at several companies. If you don’t find a detective there, empower someone who focuses on quality service and considers it a peer to availability, security and resiliency.

    Your first job will be to demark the fault lines. Remember, the task isn’t to assign blame and a good admin-side manner is required to prevent this. Remind the team the mission is to avoid making the same mistakes, not to point fingers. Perhaps you originally had fantastic buy-in but everyone got caught up in the wrong details. Was the problem operational? You’ll need to know.

    Second: Admit Mistakes and Ask for Feedback

    Once you’ve conducted your analysis, you’re ready to take it to the next step: humanizing past technical actions. Consider what the previous attempt might have been like for different teams and people. Remember what it was like when you rode the help desk, when you were sitting in the data center on a weekend or when you were working as a dev lead under an impossible deadline. Chances are you’ll remember the common frustration was external direction not taking people into account. DevOps success is primarily about people. Align your DevOps reboot with the humans on your team and the processes will follow.

    For instance, your company may have hired outside consultants to “rub a little DevOps on it,” and it’s possible they evangelized a lot of dogma. “Do exactly these things, this exact way, or you’ll fail at digital transformation,” they might have said. There may have even been FUD and frightening charts. Perhaps they said everything would be neatly wrapped up in six months and you’d achieve a high-performing, blended, and fully active nirvana within a year. “You could be the next Netflix!” You’ve probably heard this story several times by now, and if it’s happened to you, know you’re not alone.

    But your approach this time will be different because it will be yours. You will have noted sharp edges needing to be filed down. The broader team will be integral to conversations from the get-go. Internal champions won’t be under the influence of ballyhoo, fancy decks or hard sells. Your team will have a list of concerns but also possibilities reflecting a shared interest in modernizing operations. One look at salaries for job postings with “DevOps” in the skill set has likely piqued more interest from your team than a year ago.

    Open conversation has always been the hallmark of good forensic analysis. Express what you think went wrong the last time and encourage frankness. Acknowledge concerns—previous outcomes may have validated many of them. Your team will be looking for proof you’ve given thought to a process that might—in extreme circumstances—temporarily affect availability or lead to a security concern. Maintain an open invitation for everyone on the team to be a part of the conversation and hear their concerns. And wherever possible, lean toward person-to-person communication. You’re changing hearts and minds, not reviewing governance policy.

    Third: Unite Your Team by Confronting Obstacles Together

    Don’t perform a shotgun wedding between ops and dev. Administrators and developers are drawn to their technology foci for personal reasons and interests. One of the most cited reasons for unsuccessful DevOps plans is a directive to homogenize the team, followed by shock this didn’t work. Developers are attracted to and rewarded for innovation and building new things, while admins take pride in finding ways to migrate the mission-critical apps everyone forgets about onto new hosting platforms. They’re complementary, integrable engineers, but they’re not interchangeable cogs.

    Contrary to popular opinion, telling developers they’re going to carry a pager for escalation doesn’t magically improve code quality and can slow innovation. They may even quit, even in this chaotic economy. And telling ops they need to learn code patterns, git merge and dev toolchains will be an unwelcome distraction not related to keeping their business running or meeting their personal review goals. They also may quit.

    It might be helpful to share with your team the simple idea you embrace: Unfounded stories of friction between dev and ops aren’t about the teams. They’re usually someone else’s war story about the organization, technology or process obstacles dividing them. At its heart, DevOps is about clearing these obstacles, not replacing them with new ones.

    By 2020, you’ve likely met someone from a team who had an opportunity to work based on tenets of DevOps, and they likely have no intention of going back. They’ll tell you they built or modified interaction models and evolved their deployment methodology organically. They streamlined the way code is built, improved testing at the bench level, staging and production. Even some companies needing to maintain specific waterfall processes for business or regulatory reasons may benefit if the transition is organic and incorporates their specific needs.

    Fourth: Set Your Plan in Action

    The last step—and this time, hopefully, the easiest—is to set your plan in motion, especially if you’re doing so at a smaller scale with better instrumentation than before. Ops teams and developers are people of action. We like to research, test and discover, but we’re happiest when our work sees production and we have a positive impact on the business. And often with initial forays into DevOps, stymied progress is what makes teams give up. By tracking ops and business metrics together, all the stakeholders will be able to share a sense of progress toward the overall goals, even when you break a few things along the way. Think of it as fail fast insurance.

    For example, consider adding development metrics and business metrics alongside your traditional infrastructure data. Track rate of change, error rate over time, deployment events and PR requests to get a measure of release times. Share your application performance management (APM) metrics with the whole team—real-time user-to-app-code-to-infrastructure-to-resources data sparks insightful cross-team conversation. But you should also track metrics affected by ops quality, including visitor time on site, page abandons, service desk ticket rate and CSAT. You likely already have the data you need, but perhaps it’s siloed in different systems. If your dashboards combine data mirroring the mix of teams and infrastructure flying in formation, it’ll be much easier to identify issues, evolve your initial plan to suit your unique environment and improve overall DevOps collaboration.

    And this time, you’ll be able to see code check-ins, unit tests, builds, pipeline progress, deployment to staging and prod, and follow-through on performance, issues and anomalies. If the team gets nervous trying something new, you’ll have actionable data, the production feedback loops developers crave and common charts everyone agrees on. It’ll be easier to know your DevOps effort is working and to keep pushing forward as you address unexpected challenges.

    You’ll Know It When You See It

    I made a joke in a talk once that DevOps is a lot like being in a relationship: You kind of fall into it. You learn about it, adopt some of its practices and enjoy the experience when it works. You don’t set out to “get in love” and likewise don’t set out to “get in DevOps.” Rather, you find yourself in a situation developed with experience over time, and you wake up one day and realize, “Hey, we’re a DevOps shop!” That’s why you can’t buy it in a box, and nobody else’s will be like yours. It’s not about the technology, it’s about the humans working together to manage it.

    Maybe this is the best reason to give DevOps another shot. It didn’t spring from a consulting team as a framework to drive engagement or from a vendor with an appliance requiring admins to bend to arcane workflows. It came from people; from developers and administrators who fought the same operations challenges we all have and who wanted to share what they learned. And this is why, outside of a bit of time investment from your team, DevOps is free. It’s made to help, not to sell you anything.

  • The Role of AI, ML-Powered DevOps in Digital Transformation

    The Role of AI, ML-Powered DevOps in Digital Transformation

    Global businesses are in the midst of an enormous digital transformation wave. As we step into the realm of industry 4.0, exponential technologies are becoming a fundamental segment of traditional business settings.

    Despite having access to transformative technologies, however, many organizations fail to embrace disruption and harness their potential to stay ahead of the curve. Much of this stems from their inability to foster a collaborative environment wherein myriad teams and operating IT systems work in unison to achieve their goals. Without a strong foundation of infrastructure automation and well-chosen team collaborations, embarking on the digital transformation journey is difficult. And to do that, adopting a DevOps mindset is necessary. In essence, organizations need to incorporate DevOps practices to transform, compete and protect their new value pools without sacrificing quality, stability and productivity.

    Digital Transformation and DevOps

    DevOps helps enterprises succeed with digital transformation by triggering a paradigm shift in the cultural mindset of the business, breaking down silos and driving continuous change and rapid experimentation.

    There are multiple benefits of merging DevOps with a digital transformation strategy. First, this methodology breaks down the silos between IT and business operations, thereby ensuring consistent levels of productivity, efficiency and service delivery. This has a direct impact on companies’ time-to-market. Second, bug fixes are much easier due to the automation of toolchains. Third, the automation that DevOps introduces improves developer/IT productivity as they can focus more on innovation rather than being caught in a cycle of bug-fixing and firefighting.

    Despite DevOps’ contribution to digital transformation, its adoption in many industries is still slow due mainly to scarcity of skills and the right toolset. Complete automation remains elusive. Additionally, patchy adoption has given rise to a two-paced overall technology environment—one part is fully integrated with DevOps and the other part is users still mulling over the “how” of tightly integrating it in the overall process.

    Advanced technologies such as artificial intelligence and machine learning could resolve these issues. They can alleviate operational complexities in DevOps to help organizations transform at a faster pace. The following are some of the benefits offered by these technologies.

    Better Automation

    The need to rely on manual processes can be reduced with AI- and ML-based technologies, which has an enormous impact on data analysis. Organizations can use powerful AI data mapping techniques to automate data transformation processes with ease and speed. They can make use of the predictive ability to accelerate the process, increasing accuracy by leaps and bounds. This transformed data can be easily integrated using another solution AI integration, and so it becomes easier for users to work on data for extracting business intelligence and streamlining decision-making. This entire process takes only a few minutes to complete. Plus, since the need for manual intervention is curtailed, developers who previously were mired in handling transformation operations can move on to more strategic tasks such as governance, control and resource planning.

    Better Security Through Intelligent Anomaly Detection

    AI and ML-powered technologies, with their highly precise features, augment system security to deliver better performance. With a centralized logging architecture, users can record and root out suspicious activity on the network. These technologies togehter with DevOps can help mitigate the impact of threats and hacker attacks to help companies drive their digital transformation initiatives with precision.

    Better Team Collaboration

    In any organization, two teams function in parallel: the developer team, which has the responsibility to code fast, and the operations team, which ensures minimal disruption. While maintaining this balance can be difficult, transformative technologies such as AI and ML can help these two teams work in unison, improving collaboration by helping them have a single, unified view into system issues across the business ecosystem.

    Better Customer Experience

    AI-based technologies can have a direct impact on organizational productivity and performance. They can develop and launch their products faster (keeping customer expectations in mind) with lower TCO. Plus, DevOps-inspired service teams are able to provide a higher level of service, resulting in more satisfied customers

    AI-powered technologies are critical to kickstart DevOps performance and ultimately drive digital transformation initiatives. Infusion of AI not only improves enabling faster development and deployment cycles through automation, but also enables better collaboration and uncovers and remediates key issues, helping businesses unlock digital transformation value.

  • What Is Resilience Engineering?

    What Is Resilience Engineering?

    Admitting things will go wrong isn’t easy for anyone or any team. But modern engineering practices have moved beyond this fear, giving birth to a new practice in DevOps and site reliability engineering (SRE) known as resilience engineering.

    Resilience engineering today isn’t thought of as a function. However, just as DevOps was a description of culture before it was a role and site reliability was an extension of operations before it was a focus, I wouldn’t be surprised if resilience engineering became a function in the new future. The first question most will ask however is, “Isn’t this just SRE?” The purpose of the term is to change the focus from simply reacting to incidents to developing long-term response strategies for them.

    Because the expectation in these environments is that things will break, resilience is the responsibility of existing DevOps and cloud operations teams. When applications and services do break, a “fly by the seat of your pants” response strategy will not work.

    A Focus on Frameworks

    Resilience engineering, while rooted in engineering practices, is largely focused on building strategies and a framework for their execution. This leaves the process of building resilience into a largely unestablished system in part because each system is unique. And, how you respond to issues in that system will likely be unique, even if the management plane that reports issues is not.

    The job of resilience engineering is to:

    Establish procedures, habits and decision trees

    When things break, fight is the only option. Operators and on-call engineers need to address issues in a systematic and repeatable way and do their best to remove emotion and fear from the equation. This not only helps triage and resolve issues, but it also makes sure the activity associated with the issue leads to meaningful insights in post mortems and future collaboration. Part of that is establishing habits and decision-making processes for those who are on-call. The processes help prioritize what to focus on, help catch details because details are critical.

    Be data-driven

    Resilience engineering must rely on data. This is another place where traditional SRE practices grow with a focus on resilience. In typical SRE environments, the focus is on the now, using real-time dashboards of the current state. When you think about resilience you are thinking about the past’s impact on the future, not the now. The only way to do that is to make sure the data supports it; thus, part of resilience engineering is making sure the data is there. Instead of data silos that most organizations have across their delivery chain. Resilience engineering should ensure that telemetry across the entire delivery chain is captured, correlated and shared. The reason this is critical is that what happens early in the delivery chain directly impacts incidents. That activity can be the source of answers, it can be the triggers for rollback, or it can be the clarity needed to prevent similar issues in the future. Without continuity between each stage of the delivery chain, it’s easy to miss correlated events that can lead to more systemic problems.

    Engineering out of reproducible incidents

    For most, the best part of resilience engineering is taking what is learned from previous incidents and finding ways to automate future resolution. Learning from data and having consistency in habit leads to the ability to create runbooks and automate remediation for known issues. Often incident response audit trails can read like playbooks for addressing issues of a particular type. When the resolution is not directly related to code and the potential of issues to surface again in the future is inevitable, being able to build intelligence to address it saves waking someone up at midnight and much shorter impact on customers.

    The Resilience Stack

    Organizations looking to embrace resilience engineering need to have a toolkit built for it. It’s pretty straightforward but worth highlighting. The resilience stack will include:

    1. Observability and/or monitoring tool.
    2. Incident response tool.
    3. On-call strategy documentation.
    4. Post mortem process and documentation.
    5. Documented processes including recommend response steps.
    6. Path to automation.

    For those with a relatively mature and automated environment, the next step is chaos engineering—embracing chaos as a way to get ahead of incidents before they happen in the wild.

    Get your markdown skills to maximum level. There is a lot of documenting that needs to happen with comprehensive resilience engineering. But these documents should not be shelf-ware—they should be living and ultimately lead to the implementation of automation or feedback to development.

    As for monitoring, observability and incident response tools, it’s not enough to simply implement them. Knowing how data will be collected, consumed and actualized is also necessary. So is establishing an on-call strategy with purpose, not just because having everyone on-call is the “cool thing to do.”

    It may seem obvious to say that organizations want system resiliency. What is not obvious is how to execute it. When organizations see the gaps (and are often embarrassed by them), they understand that resilience is a focus for either current functions or new ones in the future. That is why it’s worthwhile to talk about resilience engineering and what makes it effective.

  • Spotify Adds Custom Deployment Templates to Service Catalog Project

    Spotify Adds Custom Deployment Templates to Service Catalog Project

    Spotify has entered the next phase of the open source Backstage catalog project by adding support for templates through which the process of deploying software components now can be automated.

    Backstage was developed by Spotify to create an open source catalog through which DevOps teams could build portals through which developer tools are centrally managed.

    Stefan Ålund, platform developer experience product lead for Spotify, said the goal is to bring some order to what otherwise would be a chaotic IT environment. By standardizing the tools made available to developers, Backstage enables IT organizations to develop more consistent workflow processes, he noted.

    Ålund said DevOps teams via custom templates can automate those workflows to the point where a microservice, website or other software component can be deployed via a single click. That approach also serves to encourage reuse of both developer tools and the modules those tools were used to create, he said.

    In some instances, those templates will eliminate the need to depend on site reliability engineers (SREs) to deploy the same code over and over, he added.

    Spotify is currently proposing to make Backstage a sandbox-level project that would be further developed under the auspices of the Cloud Native Computing Foundation (CNCF).

    In the meantime, Alund said Spotify will continue to refine a service catalog that has been widely employed across DevOps teams for the past four years on top of a core instance of the open source Jenkins continuous integration/continuous deployment (CI/CD) platform.

    It’s not clear how DevOps-mature an organization must be to realize the need for a catalog through which modules of code could more easily be reused. In some cases, the transition to microservices may inevitably force the issue. Rather than having developers potentially reinventing the microservices wheel, a portal would make it easier to discover what software assets already exist and deploy them automatically.

    A catalog also provides the added benefit of making it easier to track the provenance of a project as well as who currently has operational responsibility for it within the context of a larger software supply chain enabled by best DevOps practices, Alund noted.

    Regardless of the level of DevOps maturity inside an organization, the need for a catalog to track services quickly becomes apparent as the number of microservices developed increases. It’s said that every company is now a software company. If software is to be managed as a digital business asset, then it’s critical for organizations to determine what modules of code they have and then determine which modules are the most valuable to the organization.

    Only then can every company that aspires to be a provider of software that happens to manufacture something or provide a service be managed like a true software company. Anything short of that goal is just a mere statement of aspiration.

  • Oracle Launches Managed JSON Database Service

    Oracle Launches Managed JSON Database Service

    Oracle today unfurled as standalone Autonomous JSON Database service that it will manage on behalf of developers that require a document database.

    Gerald Venzl, a developer evangelist and distinguished product manager for Oracle, said the Autonomous JSON Database service is based on support for JSON data types that Oracle currently provides in its Autonomous Database service based on its relational database.

    Priced at a quarter of Oracle Autonomous Database service, Oracle is also targeting rivals such as MongoDB by also pricing Autonomous JSON Database service at roughly 30% less than rival managed database service, Venzl noted.

    In addition, because Autonomous JSON Database service is based on the same platform Oracle employs to deliver its Autonomous Database Service, developers can add support for a wide variety of other data types by upgrading to the Autonomous Database Service with a single click, added Venzl.

    That approach provides developers with more flexibility should their data requirements change, or they simply initially chose the wrong type of database for their application, said Venzl.

    Other capabilities provided by the Autonomous JSON Database include support for built-in machine learning algorithms and spatial queries; fine-grained access controls; a server-side procedural language; low-code development tools; support for ACID-compliant transactions with no time or transaction size limits, support for cross-collection joins and/or aggregations and a search index for JSON documents.

    Oracle also makes available an open source document store application programming interface (API) dubbed Simple Oracle Document Access (SODA) that makes it simpler for developers to employ programming languages such as Java, JavaScript and Python to build applications on top of a JSON data store. Autonomous JSON Database stores JSON documents in a native tree-oriented binary format that Oracle claims is optimized for fast reads simplified updates.

    It’s not clear to what degree IT organizations will embrace managed database services. Oracle is making a case for managed database services that essentially eliminates the need to rely on database administrators to manage the infrastructure the database is deployed on as well as any upgrades made to the database itself.

    Developers in recent years have embraced document databases in part because they are easier for them to provision. In most cases, developers download a document database that they at least initially manage themselves. The challenge IT organizations inevitably encounter is the number of document databases that need to be supported grows rapidly. Developers who are focused on building applications don’t always have the time required to manage fleets of databases.

    Oracle is, of course, making a case of managing a variety of classes of databases. As enterprise applications continue to evolve in organizations the number of data types organizations are supporting continues to expand. A managed service focused on only one class of database may not be as appealing as a suite of managed service options.

    Regardless of approach, it’s clear database management is getting more automated. The opportunity and challenge now are finding the best way to incorporate database management with a larger set of DevOps practices.

  • Pushing Beyond Agility: The Kanban Maturity Model

    Pushing Beyond Agility: The Kanban Maturity Model

    Kanban is not a novel idea. It is a well-practiced and known method for organizations to increase productivity and efficiency, reduce the lead time of processes and improve delivery flow. However, historically Kanban has been frequently misunderstood.  Many people think that Kanban is just a whiteboard with stickies in columns of to-do, doing, and done. Or just a visual representation of a board in their agile tool. This resulted in many organizations missing out on the full potential of Kanban.

    The Kanban Maturity Model (KMM) is challenging this idea by defining certain steps for growing the maturity of the organizations that use the Kanban Method. The KMM collects and summarizes a decade of experience applying Kanban across diverse industries, in businesses of all sizes. By codifying these experiences, it addresses two common problems experienced in Kanban and agile implementations: overreaching and plateauing. We see overreaching when organizations or teams learn about some interesting practices and try to take them on before they are ready for them. While the practices have shown to be valuable in evolved environments, when taken on too early they can backfire. Plateauing happens when improvement levels off as the original problem that initiated the change initiative is abated. While there have been some improvements, there is potential for significantly more improvement. The KMM addresses this by identifying a road map and coaching tools for taking teams or an organization to the next level of improvement.

    As defined by Teodora Bozheva, Kanban trainer and consultant, and co-author of the “Kanban Maturity Model” with David J. Anderson, “The Kanban Maturity Model provides guidance for developing cultural values and management practices that enable enterprise agility, better customer satisfaction and business outcomes. It is an organizational maturity model that helps organizations evolve their agility and resilience.”

    The KMM maps Kanban practices as well as cultural values against seven organizational maturity levels. At first sight, the KMM may look complex. However, by advancing through the different stages, organizations are helped in a variety of ways with a road map to achieve their improvement goals.  For example, it can help relieve staff from overburdening, make processes more predictable and sustain a balanced workflow. In addition, businesses can deliver faster to market, align around a shared purpose and strengthen organizational values.

    When used in conjunction with software technologies such as Kanbanize, a Kanban automation solution for Agile Project Management, the model helps users fully optimize the workflow across all business functions and bolster the full intent of Kanban. Kanban software solutions and the KMM are stronger together. When companies simply invest only in Kanban automation solutions, they lack the required guidance and resources to fully maximize such tools. Similarly, without the automation of processes, insights and metrics provided by Kanban software technologies, deeper organizational maturity on the KMM scale is difficult to achieve.

    KMM: Understanding the Maturity Levels

    Transitioning from individual gain to the long-term company goals, each level represents a different step in the organizational journey toward agility with Kanban. The seven levels are arranged based on the company focus, main values, how stable the business is and what benefits it receives from Kanban. It is important to understand that each level of the model includes transition and consolidation practices. The transition practices are key to getting past the plateau and helping move from one level to the next,  causing the company to reflect on what can be improved in the process. The consolidation practices are then pulled to achieve the outcomes that the maturity level describes.

    Level 0 – Oblivious

    If your organization is not aware of the need for a structured work process, you are at maturity Level 0. Most organizations at this stage do not have a systematic approach to organizing the way they work and have a difficult time applying Kanban on a team level. At this stage, organizations typically visualize work on a personal level using either a physical or online Kanban board.

    Level 1 – Team Focused

    At maturity Level 1, team members already have built the habit of using Kanban on an individual level. After individuals start to recognize the advantages of simple workflow visualization, it is time to transmit the benefits of Kanban from an individual to a team level.

    An indication that an organization has initiated the transition toward using Kanban at the team level is that the work from the personal Kanban boards is moved to a shared team Kanban board using per-person swim lanes. This way, team members will easily recognize their own tasks, but at the same time, have an overview of what others are doing.

    An important step at this stage is to define and visualize initial policies. These are norms or rules that the whole team agrees to follow for the sake of normal functioning and improving work processes.

    Level 2 – Customer-Driven

    So far, your team should have an understanding that using Kanban helps to boost collaboration and bring transparency to the work process. The next step is recognizing the workflow. In other words, the team starts to understand what and how things are done and realize the need for a defined work process. The goal is for workers to understand what is expected of them and what they can expect of their colleagues with a shared vision of what finished product should look like.

    However, at this stage, while the process, policy usage and decision frameworks are consistent, there is still inconsistency of the desired outcome.

    Level 3 – Fit-for-Purpose

    By the time a company reaches maturity Level 3, they get a deeper understanding and better definition of their processes, workflow, policies and decision frameworks. It is important that the whole team agrees on all of them and understands how they help them achieve better results.

    As you start to outgrow maturity Level 2 and begin the transition from a customer-driven to a “fit-for-purpose” process, an organization becomes better at meeting customer expectations in a sustainable manner, as well as balancing upstream and downstream flow. The steps for maturity should be dedicated to complete alignment of the organizational requirements and processes needed to consistently meet customer expectations with predictability, a fast and balanced workflow, actionable metrics and shorter lead time.

    Level 4 – Risk Hedged

    Maturity Level 4 introduces risk-hedging practices, data-driven decision-making frameworks and use of predictive models. At this level, organizations embrace a model-driven management approach to strategic planning that anticipates risks, forecasts outcomes and results in consistent economics. All these improve overall business economics and robustness against unforeseen events and exceptional circumstances.

    Level 5 – Market Leader

    At maturity Level 5, not only have design, implementation and service delivery become routinely “fit-for-purpose,” the business is now entirely “fit-for-purpose” from a shareholder and end user perspective. The focus of this level is now on continually optimizing the workflow for efficiency and improved economic outcomes without sacrificing quality, increasing margins, minimizing costs and optimizing the value of work done.

    Level 6 – Built for Survival

    The deepest stage, maturity Level 6, is when a business can be established as “built to last.”

    The business is capable of questioning and assessing:

    • Is the way we do things still competitive?
    • Are new technologies, processes, methods or means becoming available that we should be investigating or adopting?
    • Do we offer the right products and services? and if not, how should we change?
    • Are we serving the right markets? Do we have the capability to serve our chosen markets adequately?
    • Who are we as a company? Is our current identity relevant and appropriate, or do we need to reinvent ourselves?

    These questions are strategic concerns, and the answers can help establish capabilities and services that align with the broader company strategy and bottom-line.

    A Road Map for Business Resiliency

    Over the past few years more and more people have learned, understood and applied the Kanban Method correctly and demonstrated significantly improved results. Knowledge work of all forms, from operations to project management to product innovation, the use cases and impact of Kanban across industries and business functions are extensive but sometimes underutilized. The KMM provides a greatly detailed map on how to take your company from a shallow practice that helps sort out individual needs to a fully functional business model. When adopted in conjunction with Kanban automation software, the KMM enables organizations to evolve and improve processes, business outcomes and customer expectations, and drive business resiliency and robustness.

  • Harness Acquires Drone CI Project

    Harness Acquires Drone CI Project

    Harness announced it has acquired Drone.io, creator of the open source Drone continuous integration (CI) project.

    Company CEO Jyoti Bansal said Harness, which provides a continuous delivery (CD) platform delivered as a service, will offer Drone to organizations that want a CI platform alongside a CD service from a single vendor. However, Harness will also continue to facilitate the integration of its namesake CD platform with other CI platforms.

    Drone will continue to be freely available as open source software and will be re-christened Harness CI Community Edition. Drone Enterprise will be sold as Harness CI Essentials Edition. Later this year, Harness plans to introduce Harness CI Enterprise Edition, which will extend the core platform.

    The two companies claim there are currently more than 50,000 active Drone community users for a project that is supported by 250 contributors. Organizations that have adopted Drone include eBay, CapitalOne, Cisco Systems and VMware. Instead of requiring scripts, continuous integration pipelines created in Drone can be declared and managed as code in Git. That approach creates a standard syntax for pipelines that are easier to create, use, maintain and troubleshoot. The two companies claim that reduces the time and cost of continuous integration by a factor of five to 10 over rival platforms.

    Analyst firms are projecting the DevOps software market will generate $15 billion in revenue by 2023, signaling an opportunity to provide a more modern CI platform that is easier for organizations to employ, Bansal said. Jenkins, the most widely used CI/CD platform today, traces its lineage back to 2004.

    While the overall market continues to grow, however, there’s been a wave of consolidation among vendors attempting to construct end-to-end DevOps platforms. Many enterprise IT organizations tend to prefer to rely on as few vendors as possible to reduce integration costs, which is an issue Harness in part is trying to address by acquiring Drone.io.

    Harness is a member of both the Continuous Delivery Foundation (CDF) and the Cloud Native Computing Foundation (CNCF). Drone is already available on a wide variety of platforms, including Kubernetes, and it’s not clear if either arm of the Linux Foundation will play a major role in advancing the development of Drone. The CNCF has thus far accepted Argo, an open source CD platform for Kubernetes, as an incubation-level project.

    In the meantime, competition among providers of CI/CD platforms is intensifying. Jenkins, originally developed by CloudBees, is now being advanced under the auspices of the CDF along with Jenkins X, a CI/CD for Kubernetes environments, and Spinnaker, a CD platform originally developed by Netflix. GitLab, Microsoft and its GitHub subsidiary, JFrog and CircleCI all have established major rival CI/CD ecosystems of their own.

    Ultimately, it will be up to each IT organization to decide which CI/CD platform makes the most sense for them. It’s even possible many departments within the same organization will make use of multiple CI/CD platforms. Over time, however, most enterprise IT organizations are expected to adopt a CI/CD standard to better facilitate collaboration across multiple DevOps teams.

  • Atlassian Adds Asset Management to ITSM Portfolio

    Atlassian Adds Asset Management to ITSM Portfolio

    Atlassian this week announced it has acquired Mindville, a provider of IT asset management software that the company plans to integrate with its Jira ServiceDesk platform.

    Edwin Wong, head of product for IT at Atlassian, said Mindville will extend the reach of its IT service management (ITSM) portfolio, which includes Opsgenie for incident management, Jira for project management and the recently acquired Halp software for conversational ticketing.

    Mindville, which already makes its software available on the Atlassian marketplace, has more than 1,000 customers including NASA, Spotify and Samsung. The acquisition of Mindville presents an opportunity for those IT teams to manage IT assets within the Jira ServiceDesk platform, which is widely employed as a help desk to manage interactions with end users, said Wong.

    Atlassian has been steadily bolstering its ITSM portfolio at a time when competition across the sector is fierce. In the wake of the COVID-19 pandemic, many IT organizations are re-evaluating their IT help desk platforms now that it has become apparent many employees will be working from home much more regularly.

    At the same time, IT organizations are looking to reduce the total cost of IT, which becomes easier to achieve if they acquire all their ITSM tools from a single vendor. Going forward, Wong said IT teams should expect Atlassian to continue to tighten integration across both its ITSM and DevOps tools portfolio. The goal is not so much to converge every offering into a single platform as much as it is to seamlessly share data between all the tools that make up that portfolio, he said.

    Atlassian this week disclosed it generated $1.6 billion in revenue for the fiscal year, a 33% increase over the prior year. Total revenue was $430.5 million for the fourth quarter of fiscal 2020, up 29% from $334.6 million for the fourth quarter of fiscal 2019. Atlassian ended the fourth quarter of fiscal 2020 with a total of 174,097 customers based on an active subscription or maintenance agreements. The company said it added 3,046 net new customers during the quarter. However, it recorded a net loss of $385.2 million for the fourth quarter of fiscal 2020, which included a non-cash charge of $382.7 million.

    Atlassian tools can be deployed on-premises or in the cloud and the company has been offering discounts to IT organizations as an incentive to entice customers to shift to the cloud. In the wake of the economic downturn, it’s not clear to what degree organizations will prioritize spending on ITSM tools. However, with more employees and IT administrators now working from home, the need for cloud-based tools to manage a highly distributed IT environment has never been more apparent. One of the things that will differentiate Atlassian is the teams-centric approach the company takes toward ITSM and DevOps, said Wong.

    In the meantime, as the Atlassian ITSM and DevOps portfolio expand, IT teams should expect the divide these two distinct approaches to managing IT to continue to narrow.

  • GitLab Extends Scope, Reach of CI/CD Platform

    GitLab Extends Scope, Reach of CI/CD Platform

    The latest update to the GitLab continuous integration/continuous delivery (CI/CD) platform adds a bevy of additional capabilities spanning multiple capabilities, from being able to manage application development and deployment projects in smaller chunks to allowing remote teams to work more efficiently.

    Brendan O’Leary, senior developer evangelist for GitLab, said a Minimal Viable Change (MVC) capability in version 13.2 enables DevOps teams to break down work into smaller, more manageable chunks that are less disruptive. At the same time, GitLab is further reducing disruption by enabling deeper integration with Jira project management software from Atlassian. DevOps teams can provide bulk updates to projects using Jira in addition to creating confidential “epics” that only a limited number of users can access, said O’Leary.

    GitLab Geo has also been updated to improve replication performance to ensure local content is fresh. That capability has become especially crucial for DevOps teams that now routinely have large numbers of members who are working from home to help combat the spread of COVID-19. Many DevOps teams were already often working remotely prior to the pandemic; now large organizations are moving to extend those efforts at scale because it’s not clear when, if ever, DevOps teams might be heading back into an office, noted O’Leary.

    Other new capabilities include CI test results within a Release Evidence module for tacking compliance data; a global search tool for GitLab.com; tools for tracking designs stored in GitLab; and the ability to run custom load tests as part of a CI/CD pipeline more easily.

    DevOps teams can now associate Feature Flags with related issues; invoke container host monitoring and blocking; track changes to wiki pages; drive feedback into web-based integrated development environments (IDEs) in real-time; enable PHP developers to access a Composer Repository to discover dependencies; and employ a Code Quality Merge Request widget.

    Finally, DevOps teams can run the GitLab Runner tool to launch jobs on instances of z/OS running on IBM mainframes. O’Leary said that capability is especially critical as more organizations that have mainframes embrace best DevOps practices to drive digital transformation initiatives.

    In general, digital business transformation initiatives are fueling adoption for DevOps as organizations look to accelerate these initiatives to reduce overall costs and potentially increase revenue. As part of those efforts, O’Leary said organizations are looking for a highly integrated DevOps platform that minimizes the amount of time and effort DevOps teams need to spend integrating components and managing the platform. That urgency is also driving more organizations to embrace the software-as-a-service (SaaS) edition of GitLab, he added.

    In the meantime, competition among CI/CD platform providers continues to intensify in the wake of an ongoing wave of consolidation. The paradox is that consolidation is not being driven by declining demand; rather, many IT organizations are looking to streamline DevOps processes by standardizing on a single platform. As such, the race to add as many capabilities to a CI/CD platform as possible has never been more heated.