Tag: ibm

  • 7 Great Thoughts on Real-world DevOps Transformations

    7 Great Thoughts on Real-world DevOps Transformations

    Last week, IBM InterConnect brought together quite the gathering of IT pros engaged in DevOps, continuous delivery and digital transformations of their core businesses. Throughout the week, speakers from the Fortune 500 brought forth stories of real world experimentation, success and lessons learned from their DevOps journeys.

    Here are some of the best chestnuts to make it out of the show:

    Chris Nowak, senior vice president of DevOps for Bank of America

    “We’re in sales. Our job is to sell DevOps inside the organization and unless I have the reporting and the data, I’ll get questions every week from CIOs that I can’t answer.”

    Nowak recommends that organizations interested in gaining executive support through incremental shifts to DevOps and small wins along the way do their best to collect baseline metrics so they can offer evidence of the potential for improvement through DevOps.

    Rich Moran, vice president of web architecture for Fidelity Investments

    “When you automate bad processes, you just do bad things faster.”

    A longtime architect, Moran explains he’s never seen a tool solve a process problem. In his opinion, DevOps transformations require organizations to think through processes and processes before implementing an automated pipeline, getting a good understanding of how software will be delivered, which groups are involved and when, what the flow will look like, how code will be checked and how approvals will work. Because when those details aren’t addressed and people just start running tools, that’s when they fail.

    Gary Gruver, president of Practical Large Scale Agile

    “You will probably write more code for test automation than you will code for running your product. And that is not bad.”

    According to Gruver, test automation is one of the most important pieces to a DevOps transformation at enterprise scale and it’s also one of the things most often done wrong. Organizations must strive to getting it reliable, stable and maintainable.

    Heather Cox, chief client experience digital and marketing officer for global consumer banking at Citi

    “The payments and banking space is being fundamentally transformed. It has been said that people need banking, they don’t necessarily need banks.”

    Cox kicked off the conference with this well-Tweeted thought, introducing the idea that large enterprises may be dragged kicking and screaming into DevOps and continuous delivery due to overwhelming competitive pressures. Small companies are now able to operate at previously impossible scale and completely disrupting enterprise dominance within their markets.

    Jim Neumyer, senior application developer for HM Health Solutions

    “Take small bites. Don’t shove the ice cream cone in our mouth all at one time.”

    As Neumyer explains, the smaller the bite, the easier it is to tweak things along the way. Just as continuous delivery emphasizes iterative improvements in software development, the DevOps and Agile journey isn’t meant to be made in one massive leap.

    Matt Ellis, vice president and CTO of architecture and technology for IBM Software Group

    “You don’t know what the user wants until they see it.”

    As one of the lead executives in charge of leading the internal IBM DevOps transformation, Ellis emphasized the importance of fast cycles of end user feedback in driving timely innovation through continuous delivery.

    Pascal Eymery, vice president of strategy and business development customer support at Airbus

    “The good thing about cloud and mobile is you can develop very quickly. You can scale fast if it works or just try something else if it doesn’t.”

    Eymery’s organization has been tasked with helping deliver more value to airline customers through technological innovation. This includes developing iPad apps for pilots for Airbus cockpits that allow them to optimize takeoff and landing performance for fuel economy and baking in better telemetry improve maintenance windows. The fail fast and iterate mantra has been strong at Airbus.

  • Q and A with Carmen DeArdo: DevOps at Nationwide

    Q and A with Carmen DeArdo: DevOps at Nationwide

    Just before the IBM Interconnect show in Las Vegas last week, we had a chance to speak with Nationwide’s Carmen DeArdo and talk about some of the challenges he has faced at Nationwide as DeArdo and his team work to bring DevOps and Agile principles to their delivery value stream.

    DeArdo is no stranger here at devopsy.kinsta.cloud, and recently shared his column Nationwide banks on DevOps to drive towards Continuous Delivery. At Nationwide, DeArdo is the director of application development tools and technologies. DeArdo is responsible for driving continuous delivery utilizing DevOps, Lean and Agile techniques across mobile, distributed, mainframe and other technologies.

    Here, we interview DeArdo on the importance of transparency into DevOps processes and the importance of attaining efficiencies throughout the delivery value stream.

    devopsy.kinsta.cloud: Talk to us about how, as you optimized certain aspects of your delivery value stream, you found wait states in other areas of the chain created delivery backlogs?

    DeArdo: If you actually look at the entire delivery value stream, we started out optimizing the middle because we started with Agile design, development and acceptance testing. We gained a lot of benefit out of that. If you take a step back and think about your entire delivery stream, and your continuous delivery efforts, what you realize is that on the upfront process you end up with wait states and lack of visibility flow at that end.

    What is happing is that as your teams get better, they actually run out of things to do. There’s nothing for them to pull forward anymore.

    Then, on the downstream side of delivery, you still have the issues through your path to production – especially if you have managed test environments. You still have manual processes, manual testing steps in deployment. Even if you’ve automated some of them, you still have manual processes. And you end up moving at the speed of the lowest common denominator. What you find is that you’re going to get diminishing returns now unless you start to address those wait states or contention points on either side of design, develop, and test.

    These inefficiencies, on the planning side, start to bleed back into the business. Many times your business areas still have a fixed mindset in terms of their budget and yearly cycles. They’re not used to determining how to continuously feed high priority work into the backlog of your Agile teams. And then on the other side of the pipeline, how can you take what’s being produced by these teams and move that more quickly into your path to deployment?

     

    devopsy.kinsta.cloud: That’s interesting. Your challenge is taking your continuous deployment and continuous improvement mindset and then feathering that into the annual and quarterly planning mindset of the business?

    DeArdo: On one side, what you’d like to have is more of a continuous planning, continuous flow so you’re not dumping a lot of stuff in a bursty way onto your teams. They’re going from wait state to being overburdened. You don’t have that continuous flow. And then on the downstream side, how do you start to automate some of the things and get rid of some of those manual practices? We’re very good at deploying to our continuous integration and deployment to our dev environments.

    But then beyond that, things tend to get bogged down. We sort of go slow at the beginning and slow at the end and go very fast in the middle. Well, if you’re going to improve your overall speed, you need to look at those beginning and end spots and say, “How can I try to address those?”

     

    devopsy.kinsta.cloud: To improve throughput throughout, it sounds like you need more feedback, more planning throughout the year with the business.

    DeArdo: There are a couple of things we need to do, and part of it is around driving more towards continuous planning. The other side is about of having an automated deployment capability. Giving the business more capability, it goes faster if it makes sense from a risk and value capability perspective.

    We’re actually focusing more on that latter part right now. We are building this automated delivery pipeline, which starts with release planning and then goes all the way through deployment.

     

    devopsy.kinsta.cloud: What are some of the high-level challenges that you’ve had optimizing that last mile phase?

    DeArdo: I think one of the biggest challenges, although people like to talk about tools, is is around the variance in your own processes. If you have too much variance in your own process, then you don’t want to instantiate that into a tool because all you’re taking is a bad current state and making it a permanent current state.

    So we have meetings with vendors. The last one we had, we’re pretty far along this path, but the last one we had, we probably spent 90% of the time just talking about the variance in our own process and the fact that it’s not one-size-fits-all, but you have to have a small number of patterns that you’re trying to instantiate and implement. You have to be able to tell the difference between business value-added variance and waste variance.

    I sometimes quote “The Wizard of Oz.” It’s like are you a good witch or a bad witch? Are you good variance or are you bad variance? Everybody wants to think what they’re doing differently has value, but in reality, most of it is arbitrary. There might have been a good reason for it at one point, but at this point, there is no value add in having that variance.

    One of the variances we have is our path to production: what environments, what phases and things like that. One pattern might be an urgent need to get a business capability out very quickly. So I have a certain environment, a certain way to get certification in an expedited way. It’s not about going through an environment. It’s about proving that you have the quality that you need to deploy.

    That one pattern might have a lot of automated testings run in one environment that you can get to very quickly to certify the quality and then release it. Another pattern might be around a record keeping system which is managing financials. You just have things that you have to go through. The system will have dependencies. So you’re going to go through a more elongated path to production.

    That’s just an example of two patterns you would use based on a technology and a business need, not just because I’m in Organization A versus Organization B or Organization C. I don’t care what organization you are, if it fits this pattern and this technology, if it fits this pattern, use that and then if it fits this other one, use that. Those are good variances based on the fact that there’s a business need. There’s a technology driver that defines how you’re going to deploy.

     

    devopsy.kinsta.cloud: That is an excellent explanation. I think many people get caught up in their “one right way” of doing things and have a tough time looking objectively at alternative ways.

    Let’s talk about your “hidden factory” metaphor. Is the “hidden factory” a metaphor for a lack of transparency into different areas of IT?

    DeArdo: Right, and the fact that you really don’t have a model. You have views. One of the things I point out is that you have a business development view, you have a project planning view, and you have release metrics, project metrics, and you have a release view. You have a path to production. None of that is visible. Some of it is hard to find. Some of it is visible if you’re in the tool of choice. But there is no visibility and no linkage or integration of that as you move from putting in your business needs at one end and seeing the code moving into production at the other end.

    DevOps is about shining the lights on that. My view is you can’t manage what you can’t see. Another example sometimes I use is a basketball coach. Let’s assume you’re a basketball coach but you’re not allowed to watch the games. What you get after every game is a score sheet. It has the score. It has maybe your shooting percentage and turnovers, assists, but that’s it. Now you have to practice for the next game to work on improving something. Well, how do you know what to improve? So let’s say your shooting percentage was low, assuming you have enough metrics to know what low is.

    Maybe your shooting percentage is bad. Maybe you think, “I’m just going to practice shooting.” Well, maybe that’s not it. Maybe the wrong people took the shots. Maybe you took contested shots, bad shots. There are a number of reasons you can have a bad shooting percentage, none of which have to do with the fact that you have bad shooters.

    But that’s sort of the way we manage IT today. We’re asking executives to manage things they can’t see based on a set of metrics, but they don’t really watch the game.

  • IBM InterConnect: Disruption and the stakes of DevOps

    IBM InterConnect: Disruption and the stakes of DevOps

    It’s only a day into the main sessions at IBM InterConnect and it’s already clear that the most persistent theme that’ll be impressed upon the 21,000-strong crowd this year is one of business disruption. Woven throughout programming about cloud, mobile, analytics and DevOps innovation, the case studies already presented yesterday offer a testament to the disruptive power of IT transformation—and there’s more to follow in the next few days. Most important to the DevOps community, these stories don’t just show the hows of making good on DevOps, continuous delivery and iterative IT strategies. They also show the whys driving DevOps momentum.

    Sometimes the DevOps community can get so fixated on the intricacies of orchestrating DevOps practices and processes that it misses the forest for the trees. Ultimately, DevOps is about helping the business completely shake up product delivery models, customer interactions and core business processes through a makeover in how IT delivers its services. And so, it becomes clear through this disruptive message that the show this week offers an informative glimpse of what the stakes are for DevOps transformations.

    Throughout the day, IBM talking heads and a number of big-name customers explained how its become a eat or be eaten digital world across all industries as new technologies introduce new modes of doing business.

    “If you don’t believe that your industry is changing, then you’d better step back and take a look at what your competitors are doing,”  said Robert LeBlanc, senior vice president of cloud and software solutions for IBM, “because there are going to be disruptors and the disrupted. I’ll tell you that it is much more fun to be a disruptor than disrupted.”

    It’s a real concern in the financial sector, according to Citi’s head honcho for consumer digital experience, Heather Cox. In the general session yesterday, she explained that her two biggest challenges are caused by disruptive technology forces. The first is facing up to new entrants into the field of financial services that has had barriers to entry diminished by increased mobility and connectivity.

    “We have new people stepping into our landscape every single day,” said Cox, chief client experience digital and marketing officer for global consumer banking at Citi. “The payments and banking space is  being fundamentally transformed. It has been said that people need banking , they don’t necessarily need banks.”

    Almost equally challenging is the fact that her customers’ expectations for digital interactions are being rewritten by forces completely outside of her industry’s sphere of influence.

    “I no longer look to my competitors to try to determine where we need to go or how we  need to think about innovation,” she said. “I have the likes of FitBit, Uber, Nest–things that have nothing to do with banking but have everything to do with setting our clients’ expectations.”

    In order to meet head-on the kinds of challenges Cox outlined, IT executives are going to need to do a better job taking advantage of the data and the tools already available to them, explained Pascal Eymery, vice president of strategy and business development customer support

    “Look around 360 degrees, because I’m sure you have customers and suppliers and employees who have tons of data ready to be shared to create value for others,” he told the crowd, explaining that speed is paramount, especially as cloud and mobile technologies put continuous delivery in the realm of possibility. “One very good thing with new technology is its capability for agility; with cloud and mobile you can develop very quickly, you can try something and then you can scale fast if it works or just try something else if it doesn’t.”

    Fundamentally, both IT and line-of-business executives grappling with the decision to start a DevOps journey should ask themselves a big question, said Gary Gruver, president at Large Scale Practical Agile.

    “If you could start to say yes to all of the business requests coming in to IT and become two to three times more productive, would that matter for your business?” said Gruver, who explained in his InterConnect session yesterday how he was able to achieve that kind of productivity gain through DevOps practices while managing a team of 800 developers in HP’s printer firmware division.

    “As executives leading large organizations, if you felt like you could deliver 2x to 3x productivity as opposed to trying to go out and hire two to three times more people and ruin your cost structure, there probably isn’t  anything more important that you could be focused on.”

     

     

  • Dibbe Edwards, VP Rational Software Development at IBM, On Standardizing Tools, Process, and Technology to Build DevOps Success

    Dibbe Edwards, VP Rational Software Development at IBM, On Standardizing Tools, Process, and Technology to Build DevOps Success

    Dibbe Edwards, VP Rational Software Development at IBMWe had the pleasure, for IBM InterConnect 2015, to speak with Dibbe Edwards, vice president, Rational Software Development about the success IBM has had in implementing DevOps processes within their organization. In her current role, Edwards is responsible for leading Rational’s development business that includes application lifecycle management and reporting, quality and requirements management, systems development and architecture management, and integration and open software development across both the IT and Systems domains.

    Here is our conversation with Edwards about IBM’s internal DevOps transformation and the importance of, and challenges associated with, standardizing on tools, process, and technology to build DevOps success.

    devopsy.kinsta.cloud: Can you tell us a little about what your presentation will be about on Tuesday? It’s about how IBM has led its own internal DevOps transformation, and I think that is something that would be of great interest to devopsy.kinsta.cloud readers.

    Edwards: From an IBM perspective, we’re moving aggressively towards adopting DevOps practices. We have a larger software group, DevOps Center of Competency. The group is really taking these practices and the transformation efforts and rolling them throughout IBM. The session and the talk will kick off about that, and transformation at scale across the entire IBM company.

    devopsy.kinsta.cloud: In a presentation you gave at DevOps Enterprise Summit, you highlighted the challenge of standardization as one of the top three challenges in an enterprise move to DevOps. Could you share a little about what you meant by that for our readers, and maybe some of the lessons learned at IBM as you worked to standardize your people, processes, and toolsets.

    Edwards: We talk about how there are three elements to any transformation. That’s the process or the ways of working. There’s the culture of getting people to think differently and work differently. And then there are the tools. It has to be a combination of those three things that will drive any sort of successful transformation, you can’t really do one very well without the other.

    So standardization, or coming to a common way of achieving DevOps practices, is an important aspect because it gets people speaking the same languages. You’re able to have, then, a single version of the truth in terms of the viability of the project and where you’re going and you know that you’re communicating effectively. That’s been an important part of us being able to not only get this off the ground, but be able to scale it up at a company the size of IBM.

    devopsy.kinsta.cloud: What were some of the challenges that IBM encountered working to standardize? Did you identify those processes that worked and saw that they could be applied horizontally and then slowly put them in place across the different groups? How did you get buy-in to do that?

    Edwards: I would say the culture and the ways of working, or process, go hand in hand. I think if you don’t view that that’s the case, than you are in for a real challenge. If you try to just write down a bunch of processes and apply them in an organization without acknowledging and understanding the culture of that organization you are going to run into a lot of challenges. And getting buy-in from the organization is also a very essential part of it.

    What I’ve done in many of the organizations to drive towards a more standard way of working and modifying the process is to get the teams personally involved. What we did as a part of our transformation in both the web organization as well as the Rational team is start with a look at our current process and look at what was working and what was not working.

    We had set our business objectives. We wanted to deliver more quickly. We were delivering once per year. We wanted to deliver on a quarterly basis to speed up our time to market and get more valuable capability in the hands of our clients. We wanted to eliminate waste. That meant spending more money on innovation and less money on maintenance.

    What we did is we looked at our process from beginning to end. That meant everything from how we worked with our product management team, who help us make our business decisions and set our investment priorities, to a complete analysis of our development process, our testing process and our deployment process. We looked at those and we said, “What are the biggest inhibitors to us moving fast?”

    We built very specific plans. We actually established work group leaders to go and bring in other members of the team to determine how to go about addressing any inhibitors. We just started picking the biggest inhibitors, the ones that were our biggest pain points and put plans in place to address those.

    I think one of the important things about this is that you have to recognize that in order to improve the situation, you have to prioritize those investments along with your product investments. From our perspective, it certainly wasn’t something that could happen overnight. You also can’t stop the delivery train while you’re doing all this stuff. So, it has to be prioritized alongside the other work that you’re doing.

    Then the key thing is once you establish what your key focus areas are and you have the buy-in from the teams and recommendations from the different work groups, you begin to implement those things. At the end of each one of your sprints, you reflect on how you did and reflect on the improvements that you’ve been able to make and you identify your next set of inhibitors.

    It really then becomes a focus on continuous improvement, gaining momentum and reporting on whether you are really removing the inhibitors that you set out to remove.

    devopsy.kinsta.cloud: Are there a specific set of challenges around a large organization standardizing on toolsets?

    Edwards: One of the things that we’re big believers of in IBM and even within my organization and other parts of IBM is that there are certain things that you need to standardize on. If you’re managing a large program, you need to have the ability to, like I said, have a single version of the truth on the status of the project. So, things like how you do the tracking of your work, your dashboards and how you report on things, how you track your defects. The definition of a sev-1 defect should be consistent across teams that work together.

    But then underneath that, there’s flexibility that we give our teams in terms of tools that they might want to use. As an example, we support Git with our products. Sometimes we acquire companies and they want to use Git as their source code management repository. We’re okay with that. We just need to have this single sort of way to govern and manage the projects so we know that we’re meeting our business commitments and quality commitments that we make to the business.

    Another example is, from a testing point of view, I use in my organization Selenium for some of our automated testing because it was a solution that worked best for the type of Web-based situation that I have. We use some page object frameworks, which is a principle that is supported in Selenium. It helped us to be more efficient.

    The message I wanted to come across is that standardization is important with tools, but it doesn’t mean that every single thing has to be from the same vendor and it doesn’t mean that you can’t bring in things that work really well for your particular team. That’s another thing, I think, that helps from a cultural point of view is that there are some things that people can be pretty passionate about or have been effective for them in the past and bringing them into this overall governance structure is something that has helped us also sort of break down some barriers around people wanting to move forward with new approaches.

    devopsy.kinsta.cloud: What helps drive the cultural shift? I would imagine success begets success. When teams start to see success with other teams it probably makes it easier to get buy-in horizontally through the organization.

    Edwards: That’s true. There are multiple aspects of that as well. One of the key things that I have always believed in with the team is that you need to have some quick wins because, like you said, success breeds success. If you can get some good momentum under your belt with something that really has a positive impact, then it will get other people to buy-in.

    As an example, one of the things I talk about is our build time. It was a very frustrating thing that touched every developer and every tester in our organization because it took them a really long time to get a build. That was viewed as one of our key inhibitors. We spent quite a bit of concerted effort focusing on eliminating the amount of time that it takes to get a build. In many organizations, that can be an inhibitor.

    We had to invest in multiple different ways, but our initial leap was from 36 hours to 12 hours, which is huge, and along the way we had incremental improvements. Every time it got faster, it built more momentum and more excitement on the team and they could see immediate productivity impacts in a positive way for themselves.

    Another key area for us was implementing the use of patterns in our test organization. We found we were spending a tremendous amount of time setting up the test environments where we needed to actually validate our product and customer-like scenarios. One example is it took us 30 hours to setup an environment because we were doing it manually.

    We were able to implement patterns, which took us some time to build, but once we had those in place, we were able to deploy those environments in an automated way in three hours. We could then spend that 27 hours doing useful, constructive testing and being able to be more creative with our testing and finding more problems and being able to test so much earlier.

    Those are examples of things that were real momentum gainers for us.

    devopsy.kinsta.cloud: That’s fantastic. I think you’ve shared a lot of useful information for people who are thinking about going down this path. I would like to ask you about one objection, or belief, that repeatedly comes up in my conversations with enterprises. They’ll say that they can’t embrace DevOps in their organization because they don’t have the resources. They’ll say “Well, that’s Netflix or that’s Amazon doing those things or that’s IBM, a software development company doing that. We can’t do that because our core competency isn’t software development.” What’s your response to those types of positions?

    Edwards: Definitely. I think as I look at this, I’ve spoken had, myself, almost 50 briefings last year just talking to clients about this topic. People in every single type of business, everything from manufacturing to banking to insurance to retail, everyone is under a similar pressure: “How do I respond more quickly to the market? How do I make my company more competitive?”

    The reality is that IT is a very critical part of that today. There was a point where maybe IT wasn’t a differentiator. But today, IT is absolutely core. So, what is this all about? It’s about being able to be more agile and interact more rapidly with their clients and provide value-added capabilities to them and get their feedback. I think that certainly the business need is there.

    Now, as you start to think about some of the companies that aren’t running their business off of this, we talk a lot about some of the challenges: like how do you get the stakeholders brought in to want to participate in doing this type of development? What I’ve seen with many clients that are not “IT companies” is that they usually start with a pilot of some project that’s a reasonable size. And they have agreement from their business stakeholders and from the IT organization and they bring all their testers and developers and their operations and their business stakeholders together and they run some pilot projects.

    When they do that, the types of results I have heard insurance companies and banks have from such pilot teams have been outstanding. They’ve been able to get wonderful feedback from their stakeholders around how much more the application that was being built addressed their business needs. How they got into production so much faster.

    The types of results were excellent. That has helped, I’ve found, to drive the momentum to other parts of those of businesses. Because at the end of the day, just like the rest of us, it’s about return on investment. It’s about having confidence that what you’re doing is the right thing. This process is really about helping to shine the light on that. And using these types of DevOps approaches is about doing that.

  • Live Blogging IBM InterConnect 2015

    Live Blogging IBM InterConnect 2015

  • IBM InterConnects DevOps & Systems of Record/Systems of Engagement

    IBM InterConnects DevOps & Systems of Record/Systems of Engagement

    There are many planes and points-of-view from which to examine how DevOps changes development. One way to look at it is to cut an application down the (more or less) middle, dividing it between its system of engagement and its system of record. Briefly, the system of engagement interfaces with the customer while the system of record engages with the backend systems that contain the data stores that the application leverages for the benefit of the customer. These two systems must interoperate smoothly and intuitively with each other internally, and with the systems and people they interact with external to the app.

    DevOps affects the entire workflow as development, testing, and operations work together to better build their apps. “This is a big part of what IBM InterConnect  is about,” says Mike Fulton, IBM DevOps for Enterprise Systems CTO, and blogger, https://makingdeveloperslivesbetter.wordpress.com/. DevOps really defines how enterprises pull systems of record and systems of engagement together more cohesively while enabling people from different components of the development-operations / CD process to communicate to and learn from each other more quickly and efficiently, speeding the arrival of deployable software. DevOps connects workflows into this learning process even as workflows enable efficiency improvements. IBM tools surrounding development workflows participate in that process.

    IBM Tools

    “IBM provides a series of tools to help you move through each unique state of the development lifecycle,” says Fulton. IBM’s Rational Team Concert (RTC, http://www-03.ibm.com/software/products/en/rtc) is an ALM targeted to DevOps team work for teams of several developers, testers, and operations professionals working with application building workflows. IBM’s UrbanCode Deploy (UCD, http://www-03.ibm.com/software/products/en/ucdep) helps teams deploy apps onto different systems and to a variety of test tools.

    “You can build pieces in IBM Worklight Studio to use for building a system of engagement,” says Fulton. IBM tools make it easier for teams taking a DevOps approach to create code more efficiently and precisely, reaching a higher standard of quality, while getting it out to the customer for quicker feedback sooner so the teams can figure out how they need to further innovate the app for the better.

    “Whether you’re using IBM’s tools or anyone’s, the notion of having well-defined processes for building apps is important,” says Fulton. IBM’s RTC can track workflow for the pieces going through the system to get developers to work on the code and to check the workflow so that the system hands code over to testers while making sure there are no regressions. This intertwines with the build process in UCD so builds start seamlessly with the most appropriate timing.

    When DevOps teams have good, clear communications and processes for how to build an app, they can optimize for speed while making the process and the app better. This is a result of learning while using workflow tools. “If you don’t have these processes in place, you will struggle with how to build apps quickly and efficiently,” says Fulton.

    Forward-Looking Questions

    IBM InterConnect attendees looking forward to Mike Fulton’s talks should ask themselves the following questions in preparation to absorb and thoroughly benefit from these sessions. “One of the talks on enterprise devops focuses on the systems of record side. One of the questions you should ask yourself is, ‘how can I improve my process so that I can become more agile and be able to respond more quickly to customers’ demands?’” says Fulton. And that is potentially a multitude of questions since the answers will vary widely from customer to customer.

    “Come into these sessions and IBM InterConnect as a whole ready to talk about specifics. Come with the thought of where and how you think you can improve the entire process you use to build your apps at your business,” says Fulton. Attendees can discuss their answers and more questions with Fulton and with each other, talk about their experiences as these relate to others experience with IBM UrbanCode and with other tools.

    “One key is to have an understanding of what you have in your application development environment, where it is today, in order to know where you want to go with it,” says Fulton.

    Get ready to enjoy a rewarding IBM InterConnect.

  • Enterprises using mobile dev to dive into DevOps

    Enterprises using mobile dev to dive into DevOps

    As increasingly more enterprises investigate how to begin their DevOps transformations, many of them are finding mobile development (mobile dev)  a perfect test bed for instituting continuous delivery practices. While speed-of-delivery has become top-of-mind for most IT applications today, it is paramount for success in the world of mobile apps.

    “The rapid pace of how quickly OSes are evolving, as are the number of different devices and form factors are all a driving force across a lot of different disciplines and businesses,” says Stephanie Trunzo, chief operating officer for mobile design and development firm Pointsource. “I would say that one of the driving forces to mobile is time-to-value and acceleration to market. It’s kind of an incubator for changing processes overall—we’ve seen that again and again.”

    In her role, Trunzo has worked with companies to rapidly develop new mobile capabilities using DevOps and Agile principles. In many cases, it goes against the grain of their traditional development and operations modus operandi, but they’re willing to make exceptions for these mobile projects that require faster lifecycles due to the business drivers.

    “When they see it’s working and we gain some credibility, then it’s like ‘Why aren’t we doing everything this way?'” says Trunzo, who next week at IBM InterConnect will present an example of how DevOps can help enterprises quickly scale their mobile development efforts.

    Together with Pointsource client, Primerica, Trunzo and her team were able to help the insurance and financial planning giant to push a key business mobile app to a workforce of 95,000 insurance representatives in just five months from concept to delivery. Tom Swift, executive vice president of field technology for Primerica will join Trunzo in presenting the case study at the show.

    “Traditionally, in-house development projects could see up to an 18-month release cycle, but Primerica knew they needed to accelerate to shift the business to include the mobile focus,” Trunzo explained. However, acceleration is exactly what the business needed in order to retain sales talent.

    According to Trunzo, Primerica found that it needed a mobile app to help educate and engage with competitive representatives and was able to deliver one that gamified sales objectives. In addition, it offered very practical tools for representatives to present pertinent information to clients when visiting at their kitchen tables.

    “It’s been a great experience,” she says. “Their numbers and results are fantastic and that’s a story we’re going to be telling on stage at InterConnect.”

  • Inside the mind of a true DevOps evangelist

    Inside the mind of a true DevOps evangelist

    IBM InterConnect is imminent. Next week more than 20,000 people will descend on Las Vegas and take over the north end of the strip for IBM’s massive event. One of the primary topics attendees will be focusing on is DevOps. IBM’s Rosalind Radcliffe—a respected evangelist for DevOps—will be there to share her passion and knowledge as well.

    Rosalind Radcliffe is a Distinguished Engineer, in Rational currently responsible for the driving the System z and Power Systems aspects for the Jazz foundation and Jazz foundation based products—or so her LinkedIn profile indicates. Really she’s just a very smart person who loves to help customers solve problems.

    At InterConnect Radcliffe will be talking about DevOps. She is hosting a number of workshops for DevOps for enterprise systems. She will also be engaging in panel discussions with clients to discuss things like how an organization can transform its current environment and the part that DevOps plays.

    I had an opportunity to speak with Rosalind recently, and gain some insight into her perspective on DevOps and what it means for IBM enterprise customers. Two themes seemed to come up repeatedly: breaking down silos, and finding a common ground.

    Radcliffe stressed that top-down support from executive management is crucial to a smooth transition. “At a business level [executives] understand DevOps is necessary. They know the value and they want to do it,” she explained. The challenge is how to adapt and make that transformation without disrupting business.

    Where do you begin? If you’re Rosalind Radcliffe you start by finding common ground. All the way from the business perspective to deployment and across all platforms it’s important for all parties to see the same point of view and work toward a common goal.

    That’s not always easy to do when you’re dealing with different teams using different tools and platforms, and with separate political agendas. The first step is breaking down silos. Rosalind told me, “Everyone says that, but that’s really what has to happen.”

    She explained that customers don’t have to throw out the organizations structure or retool the teams themselves necessarily. It’s about redefining how the teams interact and work together, not about reorganizing the teams.

    Radcliffe is passionate about DevOps, but her real drive is helping customers achieve their goals. DevOps is hot now, but it’s just an evolution of the tools and processes businesses use to find a competitive advantage. DevOps may pass, but the need to streamline processes and accelerate delivery will live on.

    “A few years from now we won’t be using the word DevOps,” said Radcliffe. She told me that DevOps is just the Agile principle taken to the full enterprise. It provides a more comprehensive end-to-end perspective that enables enterprise-scale transformation.

    The reality, according to Radcliffe, is that customers need to come up with an enterprise strategy, but it helps to start small. She works with customers to find those initial baby steps that help them gain momentum that eventually allows them to make the bigger transformation.

    Vegas isn’t really her scene, but she’ll be there next week for IBM InterConnect. She can do without the flashing and dinging of the slot machines or the Vegas shows. But, she’s driven to engage with and help enterprise customers, so she’ll brave the busy Vegas environment to share her passion for DevOps.

  • Comparing DevOps to traditional IT: Eight key differences

    Comparing DevOps to traditional IT: Eight key differences

    You can make the argument that in the Software Delivery Life Cycle (SDLC) value is created in two places.  First, when the software is created (development) and second, when the software is delivered to the customer and feedback received.  The rest is transportation.  The faster one can move code from the hands of the developer to the customer and receive feedback, the more value can be realized by both.  Don’t get me wrong, there is benefit to various “transportation” activities (testing, QA, staging etc.).  But those are not value creating activities, they are risk mitigating processes.

    A DevOps organization understands this value equation.  They focus on the processes that add value, organize themselves around those actions and do the best to minimize the risk.  Traditional IT gets it too – at least conceptually.  However they treat all stages in the SDLC with equal importance or worse emphasize the wrong stage(s).

    In general, when comparing DevOps organizations to traditional IT, DevOps will have policies and practices that differ from those of traditional IT along the following eight key dimensions,

    mustafa

    Planning & Organization

    1. Batch Sizes: Go from Big to Mirco

    Traditional IT has a bias for going big and for good reason.  First, most development shops grew out of the waterfall method which by its inherent nature takes a lot of time.  Second, since releases are costly and disruptive, operations allows developers only a few windows a year to release software.  And third, its simply not sexy – doing big is how you get promoted.  As a result, development organizations maximize productivity, by planning big projects, that involve a lot of code, bundled (hastily at times) into a release, and jammed into production.

    A DevOps organization takes the opposite point of view and believe that small is beautiful.  They understand that large batch sizes are inherently complex, risky (since there are so many moving parts), and hard to coordinate.  Small batches sizes, on the other hand, are simple, easy to understand and test rigorously, and less risky.  If things go wrong the impact is minimal and it is much easier and faster to fix.  In other words, by going small organizations are able to perform more frequent releases and become more responsive to the customer. 

    1. Organization: From Skill Centric Silos to Dedicated Cells

    Traditional IT is organized around skill centric silos.  For the most part silos work, they band like skills together, drive greater utilization, and benefit from economies of scale.  However, where these “cost optimized” silos break down is at the hand offs.  In a typical IT environment, a new feature has to go through at least 3 – 4 silos before the customer gets it.  It is not uncommon for an idea / code to spend 80% of its time waiting or ping-ponging back and forth between silos.

    A DevOps organization also operates in a silos but at a different cross section.  Here teams are arranged in “cells”, consisting of dedicated cross functional teams, and focused on only one application.  By creating this self-sufficient cell that consists of developers, testers, business analysts, and operators, an idea can move from one stage to another without hand offs, promotes cross-training / understanding (key to collaboration), focuses the team on the end goal, and encourages the “shift left” thinking.  As for utilization and scale benefits, the rules for response states that for every ¼ reduction in cycle time, productivity will improve 2x, and operating costs by 20%.

    1. Scheduling: Centralize to Decentralize & Continuous

    Efficient scheduling is at the heart of a Traditional IT organization.  Since resources are pooled, projects are usually clamoring for access to SMEs and / or infrastructure.  To get around this, enterprises have invested in sophisticated scheduling planning systems.  And while these systems are quite sensitive, they are inherently inaccurate, take up to much time to manage, and in some cases become the very bottleneck that they are trying to alleviate.

    In a DevOps organization scheduling is pushed to the local cell level.  The combination of smaller batch sizes, dedicated teams, and automated processes makes scheduling more simpler to operate. How? First, forecasting is limited to the very near future (2 – 3 weeks) where the teams have better insight.  Second, there is no fighting for people’s time since it is a dedicated team.  Third, there is no waiting for infrastructure since it has already been defined and automatically provisioned.  And fourth, it eliminates time consuming loop backs to management for escalations and decisions.

    Performance & Culture

    1. Release: Turn a High Risk Event to a Non Event

    In a Traditional IT organization, releasing software into production is a high risk proposition.  It is fraught with issues, escalations, and constant fire-fighting.  The process is tightly managed, governed from the highest levels, and requires participation from all parts of the organization.  It is not uncommon for IT to set up war rooms staffed 24×7 for weeks before and after the release.

    DevOps organizations, on the other hand, make the release of software into a non-event much as possible.  They reduce risk by daily integrating code into the trunk, automating testing, ensuring all environments are in sync, reducing batch sizes (as mentioned above) etc.  In other words, they only promote code from one stage to another after they are confident that it will work in production.  Thus eliminating all the hoopla about release windows and they are able to move new functionality into production at a much faster clip.

    1. Information: Focus is on Dissemination vs. Actionable

    Both types of organizations generate and share a ton of data.  The difference lies in how the teams uses data.  In Traditional IT, information is generated by specialists (e.g. operations team), bundled together with other data into a massive report, goes through management approval, is then shared with other managers, who then send it out their specialist (testers, developers etc.).  In most cases the report goes unread, simply because there is too much data, not timely enough, and / or not the right data.  In other words, information is shared but poorly consumed, and rarely used to take any actions.

    Within a DevOps organization, it’s the team cell that gather and creates the data.  Since the data is to be consumed locally they only collect the data (also automated) that the team deems is necessary.  And since the data is processed within the team, it eliminates the time lag of creating lengthy reports, manager approvals, and queue time (sitting in some ones email box).  As a result, the team is quickly able to read and react to the data – resulting in faster feedback time.

    1. Culture: Do Not Fail vs. Fail Early

    Traditional IT is fundamentally a risk averse organization.  A CIO’s first priority is to do no harm to the business.  It is the reason why IT invests in so much red tape, processes, approvals etc.  All focused on preventing failure.  And yet despite all these investments, IT has a terrible track record – 30% of new projects are delivered late, 50% of all new enhancements are rolled back due to quality issues, and 40% of the delay is caused by infrastructure issues.

    A DevOps organization is risk averse too but they also understand that failure is inevitable.  So instead of trying to eliminate failure they prefer to choose when and how they fail.  They prefer to fail small, fail early, and recover fast.  And they have built their structure and process around it.  Again the building blocks we have referred to in this article – from test driven development, daily integration, done mean deployable, small batch sizes, cell structure, automation etc. all reinforce this mindset.

    Measure

    1. Metric: Cost & Capacity to Cost, Capacity, & Flow

    Silos work for Traditional IT because they are directly tied to its measurement model – cost and capacity.  IT is measured on how much can it get done (capacity) for the least amount of money (cost).  It is no wonder that cutting cost, while trying to keep capacity constant, has been all the rage in IT over the last two decades.  It’s one of the reasons why outsourcing became so popular.

    And while this model works great for stable legacy applications, the newer “system of engagement” applications require an additional metric – the element of time.  DevOps organization understand this paradigm shift and have added “flow” as an additional metric.  Flow forces an organization to take a look at its end to end cycle time, identify areas of waste, calculate true productive time, quantify quality, and focus on activities that add the most value.

    1. Definition of Done: “I did my job” vs. “it’s ready to deploy”

    Another source of measurement difference is in how the two types of organizations define done.  In Traditional IT, done is defined as the specialist doing “just” their part and handing it off.  In essence, their done is more focused on meeting the hand off deadline vs. making sure what is done is deployable.  This varying definition leads to some bad habits such as sub-par work, quality loss, finger pointing, and an overall sub-optimized process.

    To get way from the finger pointing mentality is another reason why a DevOps organization prefers to create a dedicated cross functional team.  With every member of the various parts of IT represented in this “cell” structure and all of them being held accountable for one and only one thing, they all end up having just one definition of done – bring quality software to market.

    If you would like to learn more about this topic, please join me at IBM InterConnect 2015.  I will be hosting several workshops on DevOps.


    About the Author/Mustafa Kapadia

    Mustafa KapadiaMustafa Kapadia is the Service Line Leader for IBM’s DevOps practice, a business advisory practice focused on helping large enterprises transform their software & application delivery.  He has over 17+ years of experience in the tech. space, both as a service provider and a management consultant.

    Prior to joining IBM, Mustafa was a management consultant with Deloitte’s Strategy & Operations practice. He lives in San Francisco Bay Area, is an avid blogger (when time permitting), a speaker, and adviser to start ups.

    Connect with Mustafa LinkedIn| Twitter

  • Mapping out your DevOps journey

    Mapping out your DevOps journey

    I am writing this on a flight from Washington, DC to Austin, TX. How long does it take me to get to Austin, you may ask? The flight is 3 hours and 3 minutes long. The time it takes me, however, is much longer as I do not live at the airport (although it surely feels like it). How long a journey takes depends on where you start.

    A question I get asked often is how long will it take my organization to adopt DevOps? First of all, one does not just adopt DevOps. One starts a journey of adopting the capabilities that make up DevOps (more on that soon). Adopting DevOps is not a one-time thing – it is an ongoing thing. That said, even when it comes to adopting a single capability of DevOps, say Continuous Delivery, how long it takes you depends on where you start.

    It’s a journey

    Adopting DevOps is not a “one-and-done” project. It is adopting a mindset, a culture. It is a commitment to a journey of continuous improvement by adopting a set of capabilities and practices that are based on Lean principles. IBM has identified a set of six capabilities to adopt in this DevOps journey:

    1. Continuous Business Planning
    2. Collaborative Development
    3. Continuous Testing
    4. Continuous Release and Deploy
    5. Continuous Monitoring
    6. Continuous Feedback and Optimization

    Adopting DevOps requires process improvement, automation of the processes using tools, and organizational change to enable a DevOps culture.

    Where to Start?

    The question then becomes – where does one start? This requires knowing ‘Point B’ where you want to go – what business goals do you want DevOps to help you achieve? And it requires knowing the ‘Point A’ of your journey – where you are today – and how mature you are when it comes to practicing these capabilities today. Once you know Points A and B, you can chart out an adoption road map. Starting from a level of immaturity where you don’t even have good source code management practices, and wanting to get to ‘no downtime’ deployment, is going to be a long journey.

    The IBM DevOps pipeline Value Stream mapping workshop

    At IBM, we help our customers get started by conducting a ‘DevOps pipeline Value Steam Mapping workshop’. This strategic workshop is a 1-day (usually 6 hour) executive workshop designed to enable IBM to understand your business and IT goals (Point B) and to help you identify gaps in your existing DevOps capabilities (Point A) that IBM can help you address. We identify ‘Point A’ by mapping out your end-to-end Application Delivery pipeline, and identifying areas of inefficiencies in the pipeline.

    The result of the workshop is a prioritized list of DevOps Capabilities and an adoption ‘roadmap’ to start your DevOps adoption journey.

    ‘Get Mapped’ at IBM InterConnect

    During IBM InterConnect, The Premier Cloud and Mobile Conference in Las Vegas, February 22-26, I am conducting condensed versions of these workshops, right there on-site. These are 2-hour sessions during which IBM DevOps SMEs will work with you to map out your application delivery pipeline and identify your key ‘bottlenecks’ or inefficiencies. We can then schedule a follow-up at your site to jointly develop a DevOps adoption roadmap so you can address these bottlenecks using the relevant DevOps capabilities – along with process improvement, tool adoption for automation, and organizational change.

    Space is very limited for dedicated workshops (“DevOps Transformation Workshops”) – contact your IBM rep about nominating your company for one of the sessions. If none are available, sign-up for either the “Innovation Workshop” or “DevOps Technical Workshop,” which are similar, but will have multiple companies participating.

    For more information about IBM InterConnect 2015 DevOps Workshops and how to sign-up please visit: