Tag: ibm

  • Five Harsh Truths About DevOps

    Five Harsh Truths About DevOps

    DevOps can provide tremendous productivity improvements, but it’s not a panacea. As much as we’d want it to be the solution for all of our software development problems, here are five truths you should consider.

    1. DevOps may lead to juggling job roles and coming out of your comfort zone

    Five Harsh Truths on DevOps_pic 1With DevOps, the development team is responsible for writing the automated scripts that deploy the application. That used to be manual work done by someone in operations. Just as in manufacturing, automation will eliminate jobs. Typically, that system administrator can be retrained to work in development writing those deployment scripts, but programming is a different skill from restoring databases. If you can’t adapt, it’s time to update that resume.

    2. Not everything should be automated

    Yes, DevOps can be made to work on any platform, including the mainframe. No, it’s not confined to projects using agile. You don’t have to use Ruby or PHP; it’ll work for Fortran applications too. But be realistic. Transforming an application to use DevOps is expensive. You should not invest in something that is slated for sunset, or only has one release per year to fix some minor bugs. Legacy systems are considered legacy for a reason. Focus on the top 20 percent of your portfolio instead.

    3. Developers will need to get their hands dirty

    Five Harsh Truths on DevOps_pic 2Some developers like to do one thing, and one thing only: write code. Grudgingly, they’ll test; they’ll attend team meetings if they have to; and, if tortured, they’ll write documentation. But forget about getting them to create the installation scripts.

    That mindset is not going to fly in a DevOps world. Developers need to think about how the application will run as a nonfunctional requirement, and treat it with the same level of importance as security, performance and data privacy. Unless they feel ownership of the installation process, monitoring the environment and collecting end-user feedback, you have not really implemented DevOps.

    4. Operations no longer can be ticket-driven

    Usually, the operations team doesn’t get involved until someone from the development side opens a ticket for deployment. That’s too late for any kind of meaningful integration. The answer is not opening a ticket three months earlier; tickets are meant to be assigned, worked and closed within a short period of time. The type of collaboration needed between development and operations is far more complicated, and should be treated like it’s a project. That’s really difficult for most operations organizations. It’s not part of their culture, and they’re not staffed for that.

    5. Your process is really, really bad

    Five Harsh Truths on DevOps_pic 3As soon as you start automating your software delivery process, you’ll find out exactly how inefficient it really is: duplicate reviews, inconsistent forms, competing standards … When you take away the people layer, you can’t hide the crazy anymore. You don’t want to take what you have today and force it into an automation tool. You will need to standardize before you optimize, and optimize before you automate. That means a lot of different towers will need to cooperate—something that won’t happen unless there is an outside party driving the cooperation with a big stick.

    To learn more, check out the hangout with industry experts: What will DevOps look like in three to five years?

    What aspect of DevOps do you think people are uncomfortable to talk about? Leave a comment below or contact me @baspluim

    About the author / Jan S (Bas) Pluim

    Bas Pluim

    Bas Pluim is a Cloud/ DevOps solution architect in IBM’s innovation practice. He works with clients on infrastructure solutions, process re-engineering, automation tools and transforming the overall software delivery process. Bas is also a member of the IT Specialist certification board, a gaming enthusiast and an advocate of social media tools

  • DevOps is a Risky Business

    DevOps is a Risky Business

    I spend a considerable amount of time with clients discussing DevOps and the potential value it can bring to them, but there is one theme that always resonates: the ability of a DevOps approach to eliminate risk. While many of us understand the benefits in terms of being faster (improved productivity), cheaper (reduced cost) and better (improved quality), I find that a conversation based around risk, especially when talking to the business or department heads, usually gets straight to their concerns in a language they understand.

    IBM’s definition of DevOps is not simply about connecting development and operations; it is fundamentally about providing a capability that: 1) allows lines of business to connect with their customers (which may be internal employees) quickly, and 2) facilitates rapid feedback from their customers so relevant adjustments can be made. DevOps, therefore, embraces the philosophy of iterative (and incremental) development and delivery, whereby solutions are delivered through a series of incremental releases.

    DevOps is a Risky Business_1

    By ensuring all aspects of a solution (requirements, designs, code, executables, tests, etc.) evolve over time as each increment is completed, DevOps is fundamentally focused on addressing risks including:

    • The risk of not knowing the requirements (have you ever tried to write down and freeze the requirements for a mobile app?)
    • The risk of not knowing the solution (especially when it’s new, you’re defining a new architecture or you’re embracing new technologies)
    • The risk of not knowing the effort (especially when the solution is novel for the organization)
    • The risk of not delivering on time (when the pace of the team, for example, is an unknown)
    • The risk of not providing the right level of quality (and the impact this may have on customer sentiment)
    • The risk of adopting inappropriate practices (meaning that the approach being taken by the team is not working for them)
    • The risk of having an ineffective delivery environment (including automation through the use of delivery tools)

    I could go on. There are so many risks that can be addressed simply by delivering working software iteratively, that it’s surprising how many organizations continue to fall back to a “waterfall” mentality—even in high-risk environments where much is unknown.

    The tack I’ve taken here originates from my time at Rational Software Corp. (which IBM acquired in 2003), where we would emphasize the need to deliver software iteratively and progress was measured based on the results achieved (i.e., working software) rather that the documents produced. My favorite graphic from that time is the one shown below, which shows how a modern approach changes the risk profile associated with a delivery project, since it focuses on removing risk as early as possible in the life cycle.

    DevOps is a Risky Business_2

    In summary, incremental and continuous delivery evident in a DevOps approach allows us to call out risk early and determine its resolution. DevOps often is used along with “lean startup” thinking (and its build-measure-learn cycle) and monikers such as “fail fast” since these are, at their heart, also focused on addressing risk.

    Take the DevOps self-assessment to find out where are you on your DevOps journey

    About the Author / Peter Eeles

    Peter Eeles

    Peter Eeles is an Executive IT Architect in the DevOps Global Tiger Team, IBM Hybrid Cloud, where he helps organizations improve their IT delivery capability in order to drive tangible business value. He has a particular interest in the adoption of architecture, agile, DevOps and cloud as innovation enablers. In the IT industry since 1985, Peter comes from a delivery background and was previously chief architect of IBM Rational’s Worldwide Solution Delivery organization, where he led many large-scale transformations in a variety of industries. Peter has written many papers and several books, including “The Process of Software Architecting” (2009), “Building J2EE Applications with the Rational Unified Process” (2002), and “Building Business Objects” (1998). He runs his own website at www.architecting.co.uk.

    Connect with Peter on LinkedIn and Twitter.

  • 3 Ways to Become a More Agile IT Organization

    3 Ways to Become a More Agile IT Organization

    In 1960, the average life expectancy of a Fortune 500 company was 75 years. Today, the average lifespan is just 15 years and declining further. So what gives? We only have to look as far as the “Uber-effect” to understand why so many companies fail. Uber very simply and quickly disrupted a centuries-old industry with the touch of a button—making cab service part of the On-Demand Economy, where consumers get what they want, when they want it, with no delays. Today, agile companies are winning.

    So, ask yourself, is your company a disruptor or a disruptee? The reality is, most companies are the latter, with IT organizations under more pressure today than ever before. Whether it’s the fear of being “ubered” by the competition, or business demands to pick up the pace, IT organizations face a balancing act of ensuring the operation of core applications and being innovative. But the truth is, innovation and maintaining the efficiencies of legacy systems can co-exist.

    While the prospect of competing with born-on-the-web companies such as Uber or Airbnb might seem daunting, there are a few things you can do to become a more agile IT organization:

    Automate manual processes

    How long does it take your organization to deliver a simple, new feature in an application? Two days? A week? A quarter? Traditional approaches to software delivery are too slow for today’s speed of business. These often-manual processes are fragmented, error-prone and time-consuming. A recent Forrester Total Economic Impact study revealed organizations that automated their app deployments experienced an increase in speed-to-market and reduced development cycle times up to 75 percent.

    Take a look at your delivery pipeline and assess where you’re testing and deployments could be automated. Are developers able to easily deploy applications to a test environment, or are they bogged down with unnecessary wait times and manual deployment and configuration steps that are susceptible to errors? If you’re facing a development-testing cycle of two to five days, that’s simply too long. Look to adopt DevOps by automating release and deployment processes wherever you can and aim for continuous delivery, so you can push apps out quickly and be more agile.

    Lean and Mean Equals Agile

    No company will risk its core systems of record for the sake of innovation. At the same time, you cannot invest in becoming innovative if the delivery and maintenance of your core systems are inefficient. The goal is to make these core systems as lean as possible by automating repetitive tasks, freeing resources that can be directed toward speeding innovation. Today there are cloud technologies and services and API management systems that can help organizations streamline the maintenance and operations of these core systems and expose their services as APIs for consumption by new applications.

    Create a multispeed IT process

    While you’re making your core systems as lean and agile as possible, create a second layer, where innovation and agility are the key focus. As your core systems are exposed as APIs, you can begin to use their business functions and services to experiment and innovate. Cloud-based development platforms allow organizations to stand up complete development, test and production environments quickly to incubate and deliver new, innovative applications that consume these services from the core systems, delivering new and innovative business capabilities in a fraction of the time traditional methods would take. These innovative apps can be delivered and decoupled from the speed of delivery of the core systems, enabling what is known as multispeed IT.

    While the status quo might seem like an easier option, by doing nothing, you risk not only being passed by the competition, but your line of business leaders may bypass you altogether, turning to “shadow-IT” and outside vendors to meet their needs. While this hypergrowth of the tech industry is unprecedented, it is not a fad. The pace of innovation will only get faster and your only options are to fail or adapt and be agile.

    About the Author / Sanjeev Sharma

    sanjeev-sharma

    Sanjeev Sharma, CTO and Distinguished Engineer – DevOps Technical Sales and Adoption, IBM Cloud Unit, is a 20-year veteran of the software industry with expertise in DevOps, mobile development and UX, lean and agile transformation, application lifecycle management and software supply chains. He is a DevOps thought leader at IBM and speaks regularly at conferences. He has written several papers and is the author of the “DevOps for Dummies” book.

    Connect with Sanjeev LinkedIn | Twitter

  • Putting the ‘Biz’ in DevOps

    Putting the ‘Biz’ in DevOps

    I was having a conversation with a client recently and we both came to the conclusion that DevOps, as used in some conversations, is misnamed. DevOps, by virtue of its name, implies that the focus of improvement is aimed at development and operations. While this is true, I believe that DevOps, at a higher level, is to improve the practices of getting business needs into production more quickly and reliably. The picture below illustrates this higher-level life cycle.

    pic 1

    The goal in any meaningful DevOps practice is to reduce the time and improve the efficiency in moving from the “Business Need” on the left to the “It’s Live!” on the right. This is why I’ve been such a fan of using lean approaches to improve the solution-delivery processes.

    So where does business get involved? Clearly, the business should be involved with the “business needs,” but organizations with good DevOps practices have the business working across the whole life cycle. The ability to do course correction and steering during the lifetime of a project is so important. We know that things change and what we plan on building may be different than what we actually deliver. Having the business in close affinity to the Development and Operations team is a good step to helping drive this alignment. If we get things right, we might be able to build a much simpler DevOps delivery cycle that looks like this:

    Pic 2

    It is also important that we should be measuring things that matter to the business. By doing so, this will also aid in improving the alignment across business, development, and operations. Below are few business oriented metrics that I have used to improve solution delivery processes for my clients. These might be good to put into your “BizDevOps” measurement strategy:

    Metric  Details Benefits/Impact
    Deployment Frequency  How frequently are new releases reaching your user? This metric should be stable release to release. Your end users should see a steady cadence of bug fixes, new features, etc., that build confidence in the products you deliver.
    Change Volume  How many new stories (or features) are in each release? Your end users should see new features being released consistently.
    Renewals, User Volume, New Users  Is your user base increasing, decreasing or staying the same? A growing user base shows if your product is being viewed as useful.
    Revenue per user  Is revenue or cost changing over time with your user base? This is another indicator that shows the value and economic impact of your product.
    Client Experience KPIs
    •  Customer Ticket volume
    •  Incident Severity Ratios
    •  Availability of Systems
    These metrics give you a perspective on the overall quality of your product.

    Adopting the right business-oriented metrics that are meaningful for your team and projects will help you expand your DevOps capabilities into a broader, more meaningful “BizDevOps” practice!

    For more information on metrics that are relevant, take a look at my blog, “How project managers can measure a cloud project’s success.” Also, refer to Forrester Consulting’s report on the Total Economic Impact of IBM UrbanCode at https://ibm.biz/BdXUjt 

    About the author / Rick Weaver

    Rick Weaver

    Rick Weaver is a Director in IBM Cloud leading the US East Cloud Advisors. Rick has extensive experience working with some of IBM’s largest clients around the world. Rick has led work in helping clients around the world improve their practices around DevOps, software engineering, agile adoption, automation and cloud implementation.  In prior roles, Rick has led Rational Lab Services for AP and China, IBM’s SOA Tool strategy, helped drive the internal transformation of IBM tool development and integration, and has led the worldwide technical sales team for WebSphere Tools. Rick lives in Dallas, Texas and has worked for IBM for 25 years.

    Connect with Rick LinkedIn | Twitter

  • The New Age of “Operations” in a DevOps Enterprise

    The New Age of “Operations” in a DevOps Enterprise

    My encounters with commercial clients in the DevOps space have been exciting, curious, political, and challenging. What most don’t realize is that DevOps is not just about infusing tool automation into a delivery pipeline, but it also has to do with re-mobilizing and challenging the status quo when it comes to “who does what”. As teams become more tightly integrated, functional lines blur, and uncertainty may set in.

    I find more and more, that clients and colleagues want to know:

    • What happens to the operations/run tower people if tools like UrbanCode Deploy automate the promotion of applications and releases to run-time environments?
    • What happens to our system administrators and “build out” teams, if tools like Chef, Puppet, Vagrant and pattern-based provisioning systems like IBM Cloud Orchestrator and UrbanCode Deploy with Patterns can perform solution stack build outs with minimal custom network, hardware, software, and middleware configurations?
    • If developers can provision and deploy their own apps, what do the sys admins do?
    • Will Operations Staff be replaced by tool automation?

     The truth is, now, more than ever, a savvy, astute, and innovative operations staff is essential to successfully execute effective DevOps within the enterprise.

     As development and test teams are being empowered to deploy their own applications with tool automation, Operations will need to shift the focus to enabling and empowering these teams with standardized, reusable automation assets. Design, development, maintenance and management of these automation assets will be the core foundation of DevOps success within the enterprise. A corollary to this is a set of standards and policies must be clearly defined and adopted as a framework for implementation.

    Standardization is paramount to making DevOps successful on a wide scale in the enterprise. If we were to think of our applications as a “solution stack” of network, hardware/virtual machine, operating system, middleware, and custom application components, standardized assets in each of the solution layers would enable faster assembly, development, test and delivery of a solution.

    When it comes to effectively enabling the enterprise for DevOps, you must become a hater of snowflakes. Snowflakes can be elegant, but they are unique and difficult to automate with tools. Examine applications and systems for uniqueness…and ask, can it be standardized? Typically, snowflakes occur higher up on the solution stack at the Application or Middleware layers. Network teams are not likely to implement new security policies for each application. However, moving up to OS and middleware, uniqueness is more likely to occur (OS release versions, MW versions and packages and so on).

    Once opportunities have been identified for standardized assets, operations teams must mobilize to enable the enterprise for automation:

    • Encapsulate enterprise policies in standardized automation assets (which can be reused across the enterprise).
    • Centrally manage and maintain automation assets within the enterprise (to maintain standard and policy compliance).
    • Evangelize, encourage, and incentivize the use of automation assets in delivery of applications.
    • Provide a continuous delivery pipeline tool set (preferable, as a service) providing an infrastructure to enable the automation assets for development and test teams

    Automation assets can occur at every layer in the solution stack, providing an opportunity for the new Operations team to inject enterprise influence and compliance at every level. This approach ensures standards and compliance, but also relieves application development and test teams from worrying about whether their application violates any corporate policies.

    Examples of automation assets and some enabling technologies are shown below, but this is obviously not an all-inclusive list (even a hardened shell script can be an asset). The point is, for each layer in the solution stack, assets and corresponding enabling technologies can be chosen to invest in. Some technologies can address multiple layers in the solution stack.

     img

    There is clearly a lot of good, solid, critically important work for the new age Operations team to manage and maintain. Interfacing with enterprise architecture and corporate standards groups are essential. However, the focus remains largely around empowering and enabling delivery using standardized assets.

    You can also watch this short video that I recorded recently. Please do share your feedback on this blog and how you see the evolving role of IT Operations in a DevOps Era.

    https://www.youtube.com/watch?v=TRlbiPcFOxc

    img2

    About the author

    Andrea Martinez is the DevOps Solution Leader for Cloud Services in IBM. Andrea’s mission is focused on delivery of DevOps solutions in cloud and traditionally hosted environments. Andrea has lead the solution architecture, implementation and initial adoption of one of IBM’s first DevOps Deployment Offerings. As a member of the IBM Academy of Technology, and a certified Thought Leader in application architecture, Andrea is keenly interested in enabling and empowering practitioners with innovation and technology to deliver solutions faster.

    Connect with Andrea LinkedIn | Twitter

  • DevOps Journeys of Large Enterprises Highlights

    DevOps Journeys of Large Enterprises Highlights

    I read a recent comment to an article made by my friend Rob England (the IT Skeptic). Rob took exception with the authors point of view about that DevOps was so widely adopted. Rob asked the author of the article, “How many of the Fortune 500 are DevOps shops?”. My reaction to this was “Rob, not sure if you have noticed out in New Zealand, but there are a sizable number of Fortune 500  and other large enterprises that are DevOps shops now.” Maybe not a majority, but a sizable minority and growing every day. DevOps journeys of large enterprises are pretty well documented.

    In fact my friend Gene Kim’s DevOps Enterprise Summit (where I last saw Rob) marches out one Fortune 500  (and other large organizations) after the next to hear their DevOps journey. It is one of the things tat makes that event so special.

    Further proof of DevOps adoption by Fortune 500 and other large enterprises was also readily apparent at the recent IBM InterConnect event I attended in Las Vegas. As part of our video interviews and coverage of InterConnect I spoke to several IT leaders about their organizations DevOps transformation.

    Continuing our release of videos from IBM InterConnect 2016 I wanted to highlight these DevOps journeys of large enterprises:

    Our first journey is Hertz. You have probably heard of them. John LeFreniere of Hertz who is undertaking a huge transformation at Hertz updating their technology stack using DevOps, Cloud and Agile, had this to say about Hertz’s adoption of DevOps:

    John says, “The DevOps methodology is in lock step with where we want to go.”

    Another DevOps journey of a large enterprise was the Maersk story. Maersk if you don’t know is a large shipping company that has been around a long time. I spoke to Spencer Rodrigues and David Loughnane of Maersk.

    As David says, “Devops is about us ultimately delivering a better customer experience.”

    Let me give you one more large enterprise talking about their DevOps journey, Starwood Hotels and Resorts Thomas Seremet tells us about their journey.

    Thomas said that Starwood started their DevOps journey in 2014. A piece of the journey that they have now really concentrated on is the cultural element of DevOps.

    Finally, you don’t have to take my word for it. Let me give you one more interview, this one with Carmen DeArdo of Nationwide. Carmen is always one of my favorite interviews and besides leading Nationwide’s own journey, he has some great insight on DevOps in general.  Here is what Carmen had to say:

    For Carmen the difference at InterConnect this year “was seeing the journey and progression that different organizations are on”. Carmen said they have gone past just agile or CD and are now putting all of this together including changing of the culture.

    So my opinion is that DevOps is well entrenched in Fortune 500 and other large enterprises. Maybe I live in the DevOps echo chamber though. What do you think? Would love to hear about more DevOps journeys.

  • IBM InterConnect 2016: Sounding Off

    IBM InterConnect 2016: Sounding Off

    This years IBM InterConnect in Las Vegas was spectacular. Our devopsy.kinsta.cloud team covered as many of the 300+ DevOps tracks and sessions that we could. We have been editing video and getting ready to report on the show since then. Finally, we have enough ready and the time to give our full report.

    The last 6 weeks or so have been a rush here at devopsy.kinsta.cloud. I literally went straight from IBM InterConnect in Las Vegas to RSA Conference in San Francisco. Coming home from 2 weeks on the road I threw myself into putting the final touches on our DevOps Connect: CD Summit/Jenkins Days events this spring (click the link for more details on these upcoming events).

    So much to report from InterConnect that I haven’t had a chance to write up, but the good news is we have the videos to share with you all. The videos will be available on our devopsy.kinsta.cloud YouTube Channel under the playlist InterConnect 2016. We will feature some of the best in the days and weeks to come.

    Before I share the first batch of videos though I wanted to briefly go over what I consider the main news and themes of IBM InterConnect 2016:

    1. IBM and GitHub partner to deliver GitHub Enterprise as a hosted service or dedicated GitHub. While GitHub needs no introduction to most of you reading this, the ability to host your own GitHub enterprise version for your own private cloud or hybrid cloud is a major plus for organizations uncomfortable using a public repository for their code. I had a chance to speak with both IBM and GitHub folks at InterConnect and the videos on those will be available shortly. But if you are a Git user this could be something that really makes your day.
    2. IBM and VMware partner for seamless migration of VM workloads. I think this is really the short term biggest game changer coming out of InterConnect. Now all of of those VMware setups sitting in peoples private datacenter and server closets can be seamlessly moved to the cloud on IBM. While VMware always offered snap backups and such, this really makes it a no brainer to move your on premises VMware set up to the cloud quickly and painlessly.
    3. IBM brings Swift to Servers in the cloud. Swift has quickly become one of most used languages to develop client side application (mostly iPhone). IBM announced they were contributing code to the Swift community that will enable server-side Swift allowing developers who already know the language to work on the server side. Additionally, IBM Cloud via SoftLayer will be server side Swift ready. This was more of a roadmap announcement with more code and functionality to come. Important about this one is it represents some of the first fruit we have seen from the Apple-IBM partnership announced previously.
    4. Cognitive. I know it is a buzzword, but look beyond the buzzword.  Cognitive, AI or whatever you want to call it has the potential to have the biggest long term impact on how we live our life every day. Not only is IBM making great strides in Watson and cognitive capabilities, the real story is they are making it really easy for developers to hook into via API and bring this cognitive capability to developers everywhere. I spoke to one IBM security person who literally overnight used Watson cognitive to help prioritize large enterprise vulnerabilities. I spoke to another entrepreneur (video just needs her OK to release) who used Watson’s cognitive thinking to make what they claim is the smartest dating app in the market today. But frankly this stuff just barely touches the surface. Cognitive is going to touch everything we so including the IoT space, automation, health care, science and more. We may be seeing the birth of the next big thing right before our eyes.
    5. Bluemix Garage and Bluemix Garage Method – You will see several videos around the Bluemix Garage and the Bluemix Garage Method. In fact the Bluemix Garage area on the expo floor was the most visited exhibit at the show (well except for the Elton John concert I guess). In fact our first video today is a tour of the Bluemix Garage setup on the expo floor with Rachel Reinitz and Sarah Plantenberg, two of the key leaders of the team there. Bluemix Garage is key to the “innovate like a startup, scale to the enterprise” theme that was very prevalent at InterConnect. IBM is setting up Bluemix Garages all over the world to allow teams from enterprises to come in and learn how innovate like a startup. It gives them that startup feel, but with IBM’s own experience, as well as that of others who have been through the program to learn from.  In fact IBM has codified this into the Bluemix Garage Method. More than just code, it is also the processes, policies and protocols that IBM has gathered as emerging best practices for how do get things done in a DevOps/Agile manner.

    I have been following the Bluemix Garage stuff since it was announced at Gene Kim’s DevOps Enterprise Summit last October and am happy to see the progress Rachel and team are making.

    So below is our first video in the IBM InterConnect 2016 series. It is a tour of the Bluemix Garage on the expo floor this year. Below it are links to two other videos also on Bluemix Garage and Bluemix Garage Method. You can see more on the playlist we have set up.

    Also checkout these IBM Bluemix Garage & Bluemix Garage Method videos:

    Interview with IBM’s Peter Klenk on IBM’s Bluemix Garage

    Interview with IBM’s Chris Lazzaro on IBM’s Bluemix Garage Method

  • 5 Things DevOps is Not

    5 Things DevOps is Not

    For those who have been embracing and championing DevOps for years, the growing popularity of DevOps is as exciting as landing your first job out of college! Okay, maybe not that exciting, but still really cool. More and more companies of all sizes are embracing DevOps by including the adoption of DevOps practices directly into their fundamental strategies.

    On one side, this is giving teams the leverage they have needed all along to either begin their DevOps journey or to increase the maturity of existing DevOps adoptions. On the other side, when DevOps becomes a mandate, some of that grassroots passion can become watered down, as the use of the word becomes increasingly overused or incorrectly used.

    DevOps incorporates a new collaborative culture that embraces numerous practices combined together for a continuous software development methodology that places significant emphasis on feedback loops, collaboration and continuous improvement. DevOps requires fundamental cultural changes and includes so many practices that can be overwhelming to those just starting their journey.

    Instead of highlighting everything that DevOps is, I thought it would be good to take a step back and highlight what DevOps is not instead.

    1. DevOps is not simply combining Development & Operations teams

    We’ve all seen this one when the term DevOps comes up. “Let’s combine the Development & Operations team and, voilà!, we now have DevOps.” DevOps combines a set of processes and practices to be adopted throughout the entire delivery pipeline and spans multiple stakeholders. A couple of the key practices within DevOps adoptions include continuous integration (CI) and continuous delivery (CD). Simply combining two teams and calling it DevOps cannot accomplish those practices.

    2. DevOps is not a separate team

    Setting up a separate DevOps team is another trap many organizations fall into when beginning their DevOps journey. In general, I’m not a fan of the DevOps team as I believe it leads to more silos in the end. I’ve also found the creation of these teams can lead to further confusion when the mission is not clearly defined.

    There are some cases where a temporary DevOps team may make sense to help enable the processes and potential tooling that may be needed for adoption, but the key is making it temporary—which is often better in theory than in practice. There are several great blogs out there discussing DevOps teams such as Matthew Skelton’s blog, “What Team Structure is Right for DevOps to Flourish?”

    3. DevOps is not a tool

    Let me be the first to say I actually love the growing number of tools that enable us to continue maturing our DevOps adoptions, but I’ve noticed the use of one or two tools starts to lead to the perception that DevOps is a tool. How many times have you heard?

    “We’re already doing DevOps. We have Chef.”

    “We do DevOps. We automatically deploy through Jenkins.”

    Keep in mind, I’m a big fan of both Chef and Jenkins, but I think the power of DevOps is drastically underutilized if you’re equating the utilization of a single automation tool to DevOps success. Adopting automation and tooling is, of course, a part of DevOps, but only when combined with end-to-end practices of increased collaboration with continuous integration/continuous delivery, amplified feedback loops and continuous improvement (to name a few)! DevOps is a journey and that journey may start with a tool, but the goal should be to first identify your DevOps strategy and then find a tool or tool chain that meets those goals.

    4. DevOps is not a one-size-fits-all strategy

    Because there are so many different business drivers and technologies to consider when setting up an overall DevOps adoption strategy as well as identifying your DevOps tool chain, it’s important to apply the same tenets of DevOps to your DevOps strategy. Embrace change, gather metrics, understand feedback, fail fast and correct your course quickly. As an example, if you initially identify a tool that no longer works for your technology or environment, abandon it and move on. Just because you used it on the last project doesn’t make it a silver-bullet fix for the next one. We need to first understand our current strategy and environment, then react accordingly.

    5. DevOps is not automation

    That one may have caught the eye of a few people, so I’ll clarify: DevOps is not solely automation. Automation is absolutely a huge part of DevOps; however, it is not the only part, and deploying some degree of automation is often used interchangeably with DevOps. I think understanding the key DevOps practices is a great precursor to ensuring DevOps is viewed as more than just automation. Understanding the core DevOps principles is key to understanding the true benefits of DevOps adoption.

    There are a lot of things that DevOps is and I think I share a widely spread passion for DevOps. There are also a few things that DevOps isn’t—or isn’t solely. If you’re just starting your DevOps journey or still maturing your existing model, making sure everyone on your team has some basic DevOps education and is aware of the DevOps strategy for your project is key. It will go a long way in helping everyone understand that DevOps is about a lot of things. It’s also not about a lot of things.

    The list above isn’t exhaustive and I’m sure you all have a few you’d like to see on the list. I’d love to hear you thoughts and suggestions at @Shelbee_SE.

    You also can download and browse through the DevOps for dummies e-book.

    About the author/Shelbee Smith-Eigenbrode

    Shelbee

    Shelbee Smith-Eigenbrode is a Senior Software Engineer/IT Architect at IBM Cloud Infrastructure Center of Competency. She has worked across varying roles spanning the software development life cycle. Her experience across functional roles as well as performing that work deeply inside traditional silos has contributed to her passion for embracing the DevOps culture and transforming the way teams are delivering technologies by adopting DevOps practices. She is a member of the IBM Academy of Technology committed to driving innovation and technical advancement.

  • InterConnect 2016: Culture Matters

    InterConnect 2016: Culture Matters

    The recent IBM InterConnect 2016 focused on plenty of tools and technologies, from cloud/SaaS solutions to containers and automation, but there was another popular topic of conversation heard in the halls—the culture of organizations. The basic premise of these conversations was that unless you get the culture right, all the technology in the world won’t get an organization to where it needs to be to compete in the ongoing digital transformation.

    At Nationwide, we have developed a foundational DevOps model that has two main pillars built on top of Gene Kim’s “The Three Ways” and lean and agile principles.

    While there are initiatives to implement the DevOps-related practices such as continuous integration using Jenkins, continuous delivery using TaskTop and UrbanCode and version control everything using GIT, how does one influence culture? Because clearly if the culture is not correct, technology solutions will not be enough to reach the goals of DevOps in terms of reducing lead time and enabling the business areas to be more responsive to market needs.

    Dev Cul 22

    Trust: The Foundation of Culture

    A key component of what underpins culture is trust. This was emphasized in a blog written by Lee Reid last year titled, “The Simple Math of DevOps.”

    So how does one build trust? Here are 13 behaviors that build trust from Steven Covey:

    Dev Cul 33

    Colin Powell, in a video on the Essence of Leadership, talks in a powerful way about this, saying that one way to build trust is to “Do what you say and say what you do.” He also stresses that successful leaders are those who provide selfless service to their teams.

    I don’t claim to have any magical formula to build trust, but clearly an organization’s transformational success must include a focus on culture and trust. Without this, the true promise of DevOps won’t be realized.

    You can read more about my session, “Achieving continuous visibility across the DevOps Lifecycle” at InterConnect 2016.

    About the Author| Carmen DeArdo

    Carmen-DeArdo-sq
    Carmen DeArdo is technology director at Nationwide Insurance. An ardent advocate of DevOps and a leading speaker in the DevOps and technology related events, Carmen is responsible for driving continuous delivery utilizing DevOps, lean and agile techniques across mobile, distributed and mainframe and other technologies.

  • DevOps and Agility for Multi-Speed IT

    DevOps and Agility for Multi-Speed IT

    Let’s step back for a moment and look at the IT world a bit differently from the traditional technology-centric lens through which most of us IT peeps tend to look at things. Line of business (LOBs) need us, the IT organizations, to deliver capabilities to their customers and users that deliver business value. They also rely on these systems to provide feedback on how customers and users are consuming the business capabilities and deriving value; how they are interacting the business systems; and what capabilities and features they need to get better value. The LOBs are asking the IT organizations to deliver these capabilities with:

    • Velocity
    • Agility
    • Innovation
    • Cost Management

    IT organizations, in most cases, are not designed for velocity, agility or innovation. They are large organizations hindered in their ability to deliver these by legacy systems, myriad practices and tools, overbearing governance and compliance regimes, archaic and siloed organizational structures and cultural inertia. This lack of ability of the IT organizations to deliver agility, velocity and innovation in some cases even results in LOBs creating their own “Shadow IT” organizations to deliver their IT needs.

    Finding Velocity, Agility and Innovation

    The solution of late has been to undergo a DevOps transformation that enables IT organizations to adopt the necessary practices, automation tools and organizational and cultural change to deliver with velocity and agility, and become innovative by being able to deliver rapid experimentation. The origins of DevOps lie in Lean IT, and adopting DevOps is really applying Lean principles to help achieve agility, velocity and innovation.

    DevOps does so by making organizations that are delivering IT systems and software more efficient and lean. Organizations that have adopted DevOps are able to:

    • Get ideas out to production faster
    • Have users/user surrogates use them
    • Get rapid feedback

    Using this feedback the organizations can improve three things:

    1. Applications delivered
    2. The infrastructure delivered
    3. The process by which IT systems and software are delivered

    However, large organizations have been struggling to achieve the results promised by DevOps and achieved by the poster children of DevOps, with whom the movement started. For every Netflix and Etsy out there, there is a large, complex, organization that has been struggling with simply where to start. They may be able to achieve success in some parts of their IT organization—with small, innovative ‘two pizza’ teams working on isolated projects—but not at enterprise scale. They struggle with how to achieve even the results of DevOps adoption they see in their own successful teams, at scale. The organizational and cultural inertia appears to be too difficult to overcome.

    The major reason of this inability to achieve at scale is the persistent struggle in all large organizations between the desire to innovate, and the need for stability. This push-and-pull exists in all organizations—even an innovative startup feels it. The Dev teams are focused on creating innovation thru rapid change and experimentation, and the Ops teams are focused on creating stability and continuity. DevOps addresses this existential struggle by adopting a series of practices that drive cultural change, automation and process adoption that allow these Dev and Ops teams to work toward common goals and balance their needs. Even in large organizations, this can be achieved on small teams that are able to circumvent the legacy organizational structures and practices and figure out how to get all the stakeholders working toward common goals. That is why this works great on small, strategic projects that have well-defined goals and timelines and can “fly below the radar” of corporate governance enforcers. As we move to larger projects with large, potentially distributed teams, spread across different groups and corporate “fiefdoms,” adoption struggles and often fails.

    The Rise of Multi-Speed IT

    One fact these large organizations need to recognize is that they really must have two modes of delivering IT: one focused on innovation (and velocity and agility) and the other focused on optimization (stability and continuity, with agility and velocity). This view is being referred to in the industry as “bi-modal IT” and is actually more of a continuum than a clear-cut two modes model. Hence, the term is evolving now to “multi-speed IT.” However, classifying the continuum into two broad categories based on the business intents of innovation or optimization serves the purpose of determining how to adopt DevOps very well.
    Multi-Speed ITMulti-Speed IT

    One interesting way to look at these two modes is to classify them as:

    1. The ‘Industrialized Core’ that delivers core business capabilities—things that keep the business going, and the primary business intent is optimization
    2. The ‘Innovation Edge’ where experimentation happens and new systems get identified and developed; in other words, the primary business intent is innovation

    Innovation vs OptimizationInnovation vs. Optimization

    The goal of the Innovation Edge is to allow for rapid experimentation, development of minimum viable products (MVP), rapid delivery and fast failure. The goal of the Industrialized Core, on the other hand, is to be lean and efficient and deliver business capabilities in an optimized, predictable, stable and secure manner, with the ability to scale as needed. Note: Eventually systems from the Innovation Edge will need to be “industrialized” once they start serving a core business function. This is a continuum from innovation to optimization.

    The Industrialized Core itself needs to be continuously incrementally industrialized to provide the stability and reliability needed, while getting leaner and more efficient, at scale. The core needs to get to optimization, with agility and velocity, as it delivers the core systems, again at scale. The core, too, needs to adopt DevOps and agile development practices, even for legacy systems, including those on the mainframe. This Industrialized Core is, after all, what keeps the business going and delivers the ongoing business value as the Innovation Edge seeks out new and disruptive business capabilities and avenues to deliver them.

    However, they both need different DevOps approaches and platforms delivering Agility, Velocity and Innovation at different levels.

    These two systems to deliver business capabilities are, in reality, joined at the hip. The systems delivered on the Innovation Edge are dependent on the services provided by the Industrialized Core to deliver the innovations they are developing. The Industrialized Core, on the other hand, consumes most of the budget in typical large organizations, and needs to be optimized to free resources for innovation.

    Consider a typical mobile application (say, mobile banking). To deliver that application, there is a team charged with developing the mobile front end. These kind of applications are developed and delivered in the Innovation Edge. Does all of the data and business logic sit on your mobile phone when you use that application? Of course not. Most likely, the business logic and certainly the data are components of the application that are delivered by pre-existing systems or services in the Industrialized Core. So, the mobile application is hybrid, comprised of components running in both places. To deliver even some experimental features of this mobile app, the company needs to release a hybrid or composite application, delivering components delivered by both the Innovation Edge and the Industrialized Core.

    During the Dev/Test cycle, these two modes of application delivery must be as decoupled as possible, so the development schedules and cycles of one does not drag the other, to prevent the Core from becoming a drag on the Innovation. Creating an API ecosystem is thus essential to decouple the Industrialized Core from the Innovation Edge. The Core provides the business services consumed by the innovative applications being delivered by the Innovation Edge as APIs. A key benefit of developing this API-based architecture is that these APIs potentially can be monetized to third-party partners, generating a revenue source at the same time.

    It is important to note that the architectural and process needs for adopting DevOps in both of these modes are different in many ways. Their needs and how they deliver applications and services differ as they are serving different business goals. In my next post, I will start delving into these architectural and process needs for adopting DevOps for both the Innovation Edge and for the Industrialized Core, which allow the Innovative Edge to allow for experimentation and innovation, and for the Industrialized Core become more optimized.

    Watch this discussion between industry practitioners as to how they have adopted DevOps in a multi-speed IT model: the challenges faced, successes achieved and lessons learned.

    About the Author/ Sanjeev Sharma

    Sanjeev

    Sanjeev Sharma, CTO and Distinguished Engineer – DevOps Technical Sales and Adoption, IBM Cloud Unit, is a 20-year veteran of the software industry with expertise in DevOps, Mobile Development and UX, Lean and Agile Transformation, Application Lifecycle Management and Software Supply Chains. He is a DevOps Thought Leader at IBM and speaks regularly at conferences. He has written several papers and is the author of the DevOps for Dummies book.