Tag: scrum

  • Building a Bridge from Agile to DevOps, Scrum.org Partners with the DevOps Institute

    Building a Bridge from Agile to DevOps, Scrum.org Partners with the DevOps Institute

    Scrum.org, which is dedicated to improving the profession of software delivery, and the DevOps Institute, which is dedicated to fostering a community around emerging practices in Continuous Delivery and DevOps, today announced an alliance that seeks to build a bridge from agile to DevOps. It will include scrum teams, agile practices and DevOps. I think this partnership could have huge implications for both the Agile/Scrum and DevOps communities.

    Let me say from the outset that I am a co-founder of the DevOps Institute, so feel free to take what I am saying (or writing) with a grain of salt. I also have been involved in the formation of this partnership since its initiation. From then until now, I remain convinced that this is a critical step in making software development and delivery better for us all.

    My fellow co-founder at the DevOps Institute, Jayne Groll, perhaps says it better: “There is an inherent organic relationship between Scrum and DevOps. By demonstrating how to improve the collaboration, integration and communication between IT’s roles, frameworks, practices and automation, we pave the way for end-to-end organizational agility and a faster flow from idea to value.”

    While formulating this partnership, I have had the chance to meet and work with some incredible people over at Scrum.org. One of them is Dave West, CEO of Scrum.org. When I first met Dave (you can hear a podcast of that here), he was just formulating his ideas around Agile/Scrum and DevOps being intrinsically linked. Since then, Dave has seen a clear path for this linking and has embraced and enunciated it well. “Scrum without DevOps is impossible to scale. Work needs to flow seamlessly from the Scrum team to production and back again,” Dave says. “It is funny that great Scrum teams have to do DevOps to be great and great DevOps teams use an agile approach like Scrum to enable better collaboration.”

    For me, the real value of this partnership is, as Dave so eloquently states: “I am always shocked that the DevOps community are often seen as different from the agile and Scrum communities, when the reality is that agile and DevOps encourage breaking down those barriers to deliver customer value.”

    At the end of the day that is really what this is all about. The partnership is not just about Scrum.org and the DOI as institutions & organizations—the partnership really has to be about the community of IT professionals who adhere to and practice Agile/Scrum and DevOps.

    As I like to tell people, there is only one truth. There is not a separate set of facts that apply to Agile/Scrum and another set that apply to DevOps. There is not a separate truth that applies to enterprises and another truth that applies only to startups. There is only one truth. If it is truth, it is true. I look forward to this partnership illuminating and standardizing on this one truth.

    By the way, this alliance is just the beginning. I believe that this “one truth” philosophy applies beyond Scrum and DevOps. I think it also applies to ITSM, security and other IT disciplines. Bringing together a common set of best practices and way of doing things across these is inevitable.

    We have crossed a boundary in IT. As I write this, I am at the InfoSec World conference in Orlando. My friend Rich Mogull is delivering a keynote where he is talking about how infrastructure as a service, software as a service and the new reality of ubiquitous, safer endpoints and connectivity are changing the mission of the security professional. These same factors are changing the mission of the Agile/Scrum developer and the DevOps team member. It is a great time to be in IT.

    But it also calls for forward-thinking organizations to recognize, adopt, adapt and evolve. I think this is a great opportunity for organizations like Scrum.org and the DevOps Institute to help lay out a path for common learning and uniting communities. That is what really gets me so excited about this partnership.

    So what are ways for you to find out more and be involved in this? Well, it starts  April 26 in Dallas at the DevOps Connect conference. Dave and Jayne will be delivering a joint keynote and a full afternoon workshop. These sessions will be listed under the “ScrumOps” moniker. If you are in Dallas or can get there to attend DevOps Connect, please do so.

    Dave’s blog lists some other ways this partnership will work together:

    • Consistently describe the ideas of each body of knowledge through Scrum.org and DevOps Institute classes and certifications – providing consistent words and concepts to help ensure that both groups can share a common dialogue.
    • Shared events that bring together the two audiences to create an environment that allows ideas to be exchanged and new ones to grow. It has always seemed odd that DevOps and Scrum/Agile events are separate. It is crucial that the two groups work together and that we as one.
    • Invest in a growing body of thought leadership. Scrum has a very precise, documented body of knowledge with the Scrum Guide, but there is much ‘mystic’ in the DevOps and agile community about certain terms and ideas. DevOps Institute is already working with DevOps Express on building standard patterns and terminology. By working with the DevOps Institute, we can start bringing in the concepts of professional Scrum so that the entire software delivery team can work together as one.

    So stay tuned for more info on this partnership in the coming weeks and months. In the meantime, today is the first day of Scrum/DevOps working together in ScrumOps.

    — Alan Shimel

  • Using DevOps for Non-Code Artifacts

    Using DevOps for Non-Code Artifacts


    Figure: Linking various aspects for an article that can be connected through the “DevOps way of working”

    Innovation lies at the intersection of two or more otherwise-non-related areas. A very intriguing such instance I recently read was of Charles Babbage and Ada Lovelace setting up the foundation of the modern programmable computer by taking the punch card from the loom industry and applying it to their analytical machine (see: Wikipedia or refer to the book, “The Innovators“). There have been numerous cases where one industry has taken up the best practices of another industry and aligned it to work well in a new use case. We don’t have to go far to look at such examples; the IT industry has picked up a lot of manufacturing industry best practices such lean and Kanban.

    Today a lot is being talked about DevOps in the IT world as the new model of software development and support. The DevOps way is being adopted by various teams and everybody is exploring how they can adopt it in their environment. Can we break down the “DevOps way” and extend its principles to some other areas of work?

    DevOps in its simplest definition serves one purpose: Enabling businesses to reach their consumers faster with innovations and new offerings, enabled by tools and automation. By incorporating lean principles, automating various steps and bringing all the stakeholders closer (biz-dev-test-sec-ops), the life cycle is aligned to release continuously. The main objective is to have a releasable version always ready to be pulled, rather than wait for long periods before the next increment is available. That way, releasing it for the end users becomes a simple business call and a non-event.

    How can we extend the DevOps principles to the benefit of other business functions?

    What is the natural process that comes to the mind for completing an assignment? Does it look some variety of the below figure?

    Figure: Generally followed process model for completing an assignment from start to complete. There might be one or two iterations of the output, that means feedback provided once or twice. Low collaboration between stakeholders results in sub-optimal output or significant rework and wastage.

    Some shortcomings in the above process are:

    • There are no defined interim timelines or, even if defined, are not tracked among other competing priorities
    • Feedback is received only once or twice in the whole cycle
    • Approving sub-par quality output to close in time
    • Results in a high cost of change because feedback is received on near the complete version
    • Generated artifacts are not maintained properly, thus reinventing the wheel every time

    Accommodating slight changes in the above process can offer significant improvements overall. The first step is to make the “outcome” at the center of all the other things (instead of “output”). By keeping the end result (outcome) at the center and aligning all other things around it, we ensure that the objective is clear.

    Figure: Suggested process flow model keeping outcome at the center and completing the assignment iteratively and continuously. Output can be picked up when all the stakeholders are satisfied. This model gives an opportunity to start socializing a work-in-progress version and get continuous feedback.

    What I am saying here effectively is that we put the entire focus on the outcome and make the process “iterative” and “continuous.” “Iterative” essentially means that you don’t aim to complete the work in near entirety before going for a review. You break down the task into logical steps which will incrementally show the reviewer the direction or approach you are taking toward the task completion. And continuous refers to the lean flow, enabling the outcome to not get stuck at any stage, and continuously being aware of and removing bottlenecks.

    Make every important outcome a time-boxed event and work toward its closure in an agile manner. One of the best ways to complete something proactive is by creating self-imposed deadlines. Agile (or scrum, specifically) provides a systematic way of putting deadlines in the whole life cycle (McKinsey Article – “Making your marketing organization agile: a step-by-step guide“).

    My belief is that the same concepts can be extended to any important assignment for effecting the outcome.

    Figure: Agile Scrum process which suggests maintaining the requirements in a backlog that is always kept prioritized. Then work in an iterative manner, generating output incrementally toward an ever-improving state, incorporating feedback continuously.

    The key thing to observe here is that sprint duration and ceremony frequency can be adjusted to make them much more frequent than the recommended one to four weeks.

    Some people consider agile-scrum unnecessary. Well, the concept of Minimum Viable Product (MVP) and creating a “continuous” flow in the development of work item can be brought in irrespective of whether a team follows an agile-scrum approach or not. I have drawn that parallel and created a universal model for any kind of artifact (non-code – such as marketing flyer, legal contracts, product documentation, customer presentations, reports etc.).

    Figure: A model for following the DevOps best practices of continuous feedback, collaboration, automation and continuously improving outcome in any type of work environment or team.

    Here the requirements can come from any source internal or external to the organization. The “source content management” should become the single source of truth for any final artifact; it will also be the versioning system to maintain a record of historic artifacts. The orchestration platform could be an advanced CMS tools, a utility application developed in-house or a simple cloud storage tool such as OneDrive, Google Drive, Dropbox or even plain file systems.

    There will have to be a set of process and policies that support this model. I have appended an indicative list below.

    Collaboration sits at the core of the entire model. Unless people come together and share continuous feedback, the DevOps way of working cannot succeed. The lifecycle stages are explained in the next section, but the main idea is to prototype fast, get continuous feedback, fail fast and always maintain a releasable version ready. Feedback should become an integral part of the entire system. Feedback captured internally or from external audience should be captured and stored along with the artifact version for which the feedback was received. The next time the iteration starts, because the artifact is a periodically updating work item (marketing campaign or sales pitch material) or is being enhanced (website content or product documentation), the latest artifact version along with its feedback should be taken into consideration.

    The lifecycle stages for good-to-have artifacts are presented below. These stages could be slightly different than the one indicated in the above model to suite your requirements:

    • Dev (Development environment): Individual contributors local machine. People work on their picked stories (as in agile: a broken down unit of work). This could be an individual or a group of people.
    • Int (Integration environment): All the individual pieces are stitched together to form one coherent outcome. There should be an artifact ‘owner’ (as in agile: product owner) identified, who will do this work on his system. This has scope for automation. It will benefit if done collaboratively.
    • Test (Testing environment): Receive review and feedback by the approver (could be the “owner” or business leader who gave original requirements). This stage has a scope for automation. From this stage onward, the content resides centrally on the source content management system.
    • Pre-Prod (Pre-production environment): Approved and finalized version rests here until sent for final audience’s use.
    • Prod (Production environment): Only those artifacts that are for end users are maintained here (published news item, signed contracts, delivered customer pitch, etc.). Maintain the version-controlled artifact. This stage also becomes the single source of truth for all artifacts. Maintain historic data for record-keeping. Market feedback is captured and stored along with each version.
    • Release & Ops Mgmt (Operations): The purpose of this stage is to ensuring periodic cleanup activities in the source content management system. Ensure periodic enhancements on the content and maintenance of production copies.

    Artifact lifecycle policies, to start. You may identify and add more as per your requirements:

    • Identify owner for each artifact. She would become approving authority for the content.
    • Prototype & fail fast (MVP). Follow agile methodologies as much as possible and adjust sprint duration for different content types.
    • Make feedback your bible. This is necessary for continuous improvement. Record the feedback and act on it.
    • Collaboration should be at the heart of the entire process. All involved individuals should be part of the entire artifact life cycle.
    • No e-mail content should ever be accepted for review, approval or final use. E-mail can be sent with a link for source content management.

    The purpose of this article was to draw a parallel with non-code artifacts so that DevOps philosophy can be understood with a non-development angle. It’s my hope that it is evident that DevOps is not something that can be adopted overnight, and it’s not just about implementing tools. People have to be aligned and trained for the new ways of working. It entails a lot of cultural change to be initiated. And finally, the benefits are better visible as the scale grows; however, small steps must be taken at the beginning to identify a model that is fit for your specific landscape.

    This is the first iteration of this article and it will surely undergo improvements. Feedback and ideas are welcome in comments below.

    About the Author / Kunal Gupta

    Kunal Gupta is Product Owner in IG Group for their Payments team. Prior to this Kunal managed AgileBase, a DevOps platform developed in and by Wipro, a global IT major. Kunal played a key role in defining and streamlining the roadmap for AgileBase platform, its pricing and positioning to global customers. Kunal has diverse experience in Technology Product and Services Industry spanning across Product Management, Presales, Sales, Campaign Management and Demand Generation. He has a worked for major customers in financial, technology, and manufacturing industry across U.S. and European markets. Connect with him on LinkedIn.

  • What DevOps Skills are Organizations Looking for?

    What DevOps Skills are Organizations Looking for?

    DevOps is a cultural, philosophical and organic approach toward automating workflow and getting products to market more efficiently and effectively.

    DevOps engineers are in top demand right now. According to studies by Gartner, 25 percent of top global 2000 organizations will have adopted DevOps as a mainstream strategy by the end of 2016.

    DevOps is both a cultural movement and a philosophy … which can make it difficult to define the specific skill set you need a DevOps team to possess in order to function successfully.

    Of course, an excellent way to show fluency in DevOps is by earning a DevOps Institute certificate—for example, DevOps Foundation®.

    That being said, there are some “mission-critical” DevOps skills that organizations are searching for pretty universally right now.

    1. Experience with infrastructure automation tools and fluency in web languages

    Experience with tools such as Ansible, SaltStack, Puppet, Docker, Chef and Windows PowerShell DSC as well as fluency in languages including Ruby, Python, Java and PHP are must-have skills for DevOps pros.

    Organizations are searching for DevOps candidates who are highly proficient in many of these tools and languages and open to increasing their competencies further when given the opportunity to do so.

    2. Expertise in “soft skills”

    DevOps evolved as a way to enhance collaboration across project life cycles and connect front-end and back-end professionals on either side of the software development and operations spectrum.

    When software developers and operations staff (system engineers, systems admins, DBAs, etc.) collaborate effectively, communicate honestly and work as a cohesive team, the software development life cycle (SDLC) is streamlined, risk factors are mitigated, and projects are completed and deployed with a minimum of bugs, quality defects and glitches.

    In addition, it can be useful for organizations to have DevOps specialists on their team who are comfortable in the role of client consultant, able to interact effectively and build positive business relationships with customers while addressing their needs and wants.

    Organizations look for DevOps candidates who are skilled in interpersonal communication, with an arsenal of listening, negotiation, problem-solving and team-building skills at the ready.

    3. Familiarity with CI (continuous integration) tools

    Continuous integration is a DevOps methodology that continually merges source code updates from all developers on a specific software build, notifying the team of any failures in the process.

    This offers a real-time window into the developing software system, allowing immediate and constant engagement of all team members throughout the project lifecycle.

    CI tools DevOps candidates should be familiar with include CruiseControl, CruiseControl.NET, Jenkins, Bamboo, Hudson, ThoughtWorks’ Go, Urbancode’s Anthill Pro, Microsoft’s Team Foundation Server and Jetbrains’ Team City.

    4. Bonus Skills

    Other skills hiring managers are on the lookout for in the DevOps space include:

    • Extensive knowledge of software build cycles
    • Experience deploying code
    • Experience in software architecture
    • Familiarity with application programming
    • Database management
    • System design

    Useful experience and certifications include:

    • Project Management
    • Risk Management
    • Scrum Master

    The good news is that the industry’s need for DevOps team members with diverse and evolving skill sets is in sync with what DevOps candidates want from their workplace. According to the 2014 State of DevOps Report from Puppet Labs, an atmosphere conducive to learning is a primary component of job satisfaction among DevOps engineers.

    About the Author / Robin Borough

    Robin BoroughRobin Borough is President of Omnikron Systems, Inc., which offers IT and management training and IT staffing services. As an advisor to technology professionals and executives for over 25 years, Robin has built a world-class reputation as a “go to” career strategist in the IT industry, one who’s capable of successfully guiding executives and specialists, at any level, through transition. 

  • Test-First Development: Processes and Tools for Success

    Test-First Development: Processes and Tools for Success

    A lot of software development teams are talking about “test-first” methodologies. The practice involves moving testing up into the very earliest stages of development so automated tests can be written before code. Making this seemingly minor shift can result in much higher quality software and greater efficiencies. Integrating development and testing avoids needless late-stage bugs and complicated redevelopment efforts. It can help software development organizations focus on usability and features and achieve faster time to market. And because of test-first’s reliance on automated tests, organizations gain reusable tests, saving time and increasing standardization for testing and quality assurance overall.

    It’s no surprise, then, that 51 percent of organizations have begun using test-first methodologies, including 37 percent in the past year, according to a recent global survey of 200 software testers conducted by our company. But, despite the enthusiasm for this practice, there are concerns: 44 percent of survey respondents said their biggest fear about moving to this approach was forcing developers to contribute tests prior to completing code, while 19 percent said they worried about removing traditional testing checkpoints on the way to production. Other barriers include the lack of standard practices or tools. That said, test-driven development promises to bring ample benefits to software development teams, the business and, importantly, customers.

    Test-first development is recognized across three broad terms today: behavior-driven development (BDD), test-driven development (TDD) and acceptance test-driven development (ATDD). TDD is an umbrella term for the practice, although it has traditionally focused more on technical, unit testing. BDD and ATDD incorporate user requirements and business benefits along with technical testing. BDD differentiates through its adoption of specific automation frameworks and language for writing and running tests.

    Key Changes for Successful Test-First Development

    Getting started requires change across a few critical areas for most teams. First, evaluate your team for hiring and skills training needs. On the one hand, developers will need to learn basic testing skills, so they can write good tests and run tests before they develop code. Meanwhile, testers must become more proficient in automated testing tools, which usually entails acquiring a fundamental knowledge of programming. Many companies will need to hire key contributors from outside; in which case, leaders should look for well-rounded individuals with past experience using test-first methodologies successfully. An individual who is an expert at one skill, or who is too independent and can’t collaborate well, won’t be an ideal member of a team experimenting with test-first approaches. Leaders also may need to adjust by balancing the ranks more closely between developers and testers so that one group doesn’t rule over the other. Hiring additional experienced testers frequently will be necessary.

    Training of existing staff is paramount, best achieved through a combination of methods including internal training, mentoring, online courses and paired development, where developers and testers can sit side by side and collaborate. More than half of the survey respondents said developers and testers would be jointly responsible for automation test creation within their organizations.

    Beyond cross-training, the cultural challenge of moving to test-first methodologies can be overwhelming. It requires the development of incentives for creating quality products, not just delivering new features at speed. It requires an appreciation and respect for the practice of testing. Unfortunately, testing too often is viewed as a necessary cost of doing business, rather than bringing a clear benefit to the organization and its customers. That mind shift is not only inaccurate, but it doesn’t fly with progressive, Agile thinking. It will take strong leaders to help traditional teams understand the need to change and modernize practices. A leader may forego the buy-in process and instead decide to lay down the law to staff: Staff must move to TDD or BDD, or else. But the results won’t be ideal. Smart developers will find loopholes, such as writing tests that aren’t comprehensive or fully aligned with project goals, so the code will pass more quickly.

    On the process front, organizations that have moved or are moving from Waterfall to Agile and DevOps will have an easier time adopting test-first methodologies. In fact, it’s pretty difficult to implement test-first processes and tools in a Waterfall environment because of the siloed nature of functions and the long release cycles. The survey results support this premise: 55 percent of respondents said their testing process was Scrum/Kanban-driven before transitioning to test-first, while 21 percent said their approach was iterative-requirements driven and 18 percent was Waterfall-requirements driven.

    Along with that shift, test-first teams will need to adopt new metrics that align with this new way of doing business. Instead of looking solely at velocity, development leads should measure how long it takes the team to move a product from feature approval to code release. With a focus on quality and testing, companies also should measure and improve upon bugs, such as number of severe defects post-production. Those types of business and customer-oriented metrics align with the new set of Agile metrics that that many teams are working for today.

    Test-first teams will need to adopt DevOps toolsets, which are designed to push code out to the pipeline faster. Specific technologies that go hand in hand with test-first development include:

    • Continuous integration (CI) platforms such as Jenkins and Team City, to assist in running the automated tests immediately for quick build feedback.
    • Container technology for rapid deployment of test and pre-production environments, to capitalize on having features production-ready soon after coding.
    • Test management platforms including qTest Scenario or Cucumber Pro.
    • Test automation frameworks including Cucumber, SpecFlow , and other open source tools which enable easier support for customization and collaboration.

    There’s a lot to think about when moving toward test-first development. While it may seem overwhelming at first, all of this is achievable in a reasonable time frame if you have the right dedicated resources to see it through. One-third of survey respondents said it took them less than three months to complete the transition to a test-first approach, while 30 percent said it took less than one year. The payoff for software teams, in terms of improving quality, customer experience and reducing costs of innovation, can deliver higher customer loyalty and even faster growth in the marketplace.

    About the Author / Kevin Dunne

    Kevin Dunne picKevin Dunne is vice president of Business Development & Strategy at QASymphony.

     

     

  • DevOps Chat: Dave West, CEO Scrum.Org

    DevOps Chat: Dave West, CEO Scrum.Org

    I recently met Dave West, CEO of Scrum.org. While not one of the founders of Scrum.org, West is the CEO and product owner at Scrum.org. Dave and I spoke a bit what is happening with Scrum.org and how it interacts with DevOps. If you are interested in Agile, DevOps and Scrum, this is a good DevOps Chat to listen to.

    Here is the SoundCloud audio and the transcript is below:

    Here is the transcript of our conversation:

    Alan Shimel: Hi, Alan Shimel here for another DevOps Chat. And this DevOps Chat is with Dave West , product owner and CEO of Scrum.org.

    Dave, welcome to DevOps Chats.

    West: Oh, thanks for inviting me Alan.

    Shimel: Thank you. So, Dave, I’m going to make a wild bet that most of our audience at least is familiar with Agile and Scrum.  But maybe some of them aren’t and maybe there are even some who aren’t familiar with Scrum.org and the role it plays within the Agile community. So why don’t we do a quick level-set of Scrum.org and how it relates to Agile and Scrum.

    West: Yeah, thanks, Alan.

    Yeah, probably. It’s definitely a confusing fragmented place, the Agile community. So Scrum.org is an organization—mission-based organization created by Ken Schwaber, one of the co-creators of Scrum. Him and Jeff created Scrum—interestingly, in the building that I’m talking to you from, over 21 years ago. The outing 21-year anniversary is in October.  Maybe it’s October the 19th. Interestingly. So they created Scrum.

    Scrum.org is an organization that Ken created to, basically, focus on improving the profession of software delivery. We do that with a very large, active community—I suppose not very large—of professional Scrum trainers. About 170 of those. We do that with assessments; training and assessments around the world.

    A significant number of people visit Scrum.org every day to either assess their knowledge or to connect up with a trainer or some training class. 

    Shimel: Sure.  And Dave, one of the interesting things about the different classes and courses, if you will, that Scrum.org offers is the—there’s different sort of—I forgot the exact word, but there’s different roles. Right? Within the Scrum training.

    West: Yeah, I must—what’s interesting, actually, Alan, is that particularly for this audience, one of the reasons why Scrum.org came into being was obviously, Ken created Scrum Alliance.

    He left Scrum Alliance because they wanted to focus on the world of work. And Scrum.org cares about software delivery, and that’s a very important distinction. And so our professional Scrum developer class is actually—focuses on the practices for doing done software. And when we mean, “done,” we don’t mean, “almost done.”  We don’t mean, “Oh, well, it’s kinda done with me.”  We mean done. Meaning, potentially shippable. And when we mean potentially shippable, we don’t mean potentially shippable because operations haven’t looked at it yet, and that’s the potential. We mean, that the product owner can flip a switch and it’s live in the masses.

    So ultimately, this technology focused class, PSD, is one of the reasons why Scrum.org came into fruition, and obviously Scrum Master Product Toner—that the three roles of Scrum—we have classes for all of those different roles, and they’re very team-based. And so that potentially you could have more than two roles in the same class, as well with our team-based classes.

    So yeah, we definitely—we’re trying to improve the profession, Alan. So we have to provide training and certification. Third-party, validated certification on that profession and those professional skills.

    Shimel: Got it. So, Agile’s been around now for a number of years and at this point, I don’t think there’s any doubt that it’s gone mainstream, obviously and has a tremendous impact across the entire software development world spectrum. But, Dave, specifically for as it relates to DevOps, often people say, “Well how do those work together?” Right? I’ve heard people say—actually devopsy.kinsta.cloud before I had started it as a site, when it was just a blog, sort of said, “Picks up where Agile leaves off.” But I don’t think that’s necessarily true. I don’t think it was true then, it’s certainly not true now. How do you describe—let’s put it that way: How do you describe that relationship?

    West: It’s an interesting one.  In fact, recently I was on a presentation with Ken Schwaber. It was a DevOps presentation at a DevOps organization and event and Ken and I were talking about DevOps and Ken’s perspective is very interesting and I think it sort of sums up the original signatures of the Agile manifesto’s perspective on it.

    Ultimately, they believe and he believes in particular that we needed DevOps because nobody really got Agile. And it’s interesting because when they—when the Agile manifesto was signed one of the key terms was, “working software.” Working software. The 12 principles—working software frequently, delivering working software. That word, that phrase, “working software,” is frequently described in the manifesto.

    Scrum focuses on it now. Many people get Scrum wrong because frankly, and I don’t know if you see this, Alan, and if other people have said this to you but, what most people do is they take Scrum and then try to put it into a Waterfall life cycle.

    Shimel: Yeah. 

    West: So they sort of create these things around Scrum and particularly in the DevOps world, the bits after—they have this whole set of processes after the Scrum and hardening sprints.  They have a release train that goes through, you know; Scrum’s just a series of stations on the release train journey and it ends up in operations and the like.

    And so ultimately, Ken would argue that it’s just, unfortunately, people didn’t understand Agility or Scrum in particular and that’s what led to the DevOps movement.

    I have a slightly different view. I think that the Agile was very focused on at least getting testers and requirements people and the customer and the developers together in some way. And by that focus—and that focus was important to get to improve how we’re doing software—it highlighted that we actually need other people involved and that led to this sort of movement; combined with some technology changes like stuff around the cloud and the ability to self-provision and all that kind of stuff.

    So, it led to this sort of DevOps movement. I’m not sort of anti-DevOps. I think DevOps is an awesome set of ideas. I think people like Gene Kim and the Phoenix Project etc.—amazing stuff.  But ultimately, in my opinion, it’s all about improving the profession of software delivery and it’s all about Agile software and I see Scrum and a variety of other approaches really just being incomplete without the ideas of DevOps in them. And that’s certainly true of our PSD class. That’s certainly true of the message that we send to our customers. Sometimes they don’t like it when we say, “Okay, what does done mean to you?” and they say, “Tested.” And we say, “Not quite sure. There’s a few things after test.”

    Shimel: Correct.

    West: And they go, “Well, no.  There’s nothing after test to us. That’s when those ops guys get involved.”

    Shimel: Yeah.

    West: And they’re like, “Well, there might be a lot of—does ever defects come back into the process after test?” Well yeah, of course, you know, there’s – “And do ever customers have issues with it?” Oh yeah, and, “Do you ever get operations saying, ‘well we can’t get this to run on this environment?’” And do you ever say, “It works on my machine”?

    And all of those things get in the way.  All of those things that, whether you call them debt, whether you call them quality issues, get in the way of delivery and working software that amazes the customer, and getting that feedback.

    So DevOps is a great set of practices and ideas and a great movement than can make Agile even more successful.

    Shimel: Absolutely. I call those things “life,” by the way. But, you know, life gets in the way of the best-written software.

    So, a couple of things Dave. I have two specific questions I’d like to ask you.

    One is, you know one of the things that—maybe it’s been a double-edged sword for Agile/Scrum movement—but in my mind it certainly had so many positives, was the whole idea of the Agile manifesto, right? And sort of codifying if you will. What it is; the definition is. And then I think that leads to the ability to really nail down roles and training and methodologies.

    Well, as you know, in DevOps, there’s been a big resistance from even defining it officially. We never had a DevOps manifesto and there probably never will be one either. Do you view that as—let me contrast that with the Agile and Scrum experience— positive? Negative? Double-edged? Both ways? What do you think?

    West: It’s interesting because I think a lot about how you drive change into the world and obviously at Scrum I spend—at Scrum.org I spend a lot of time thinking about the success of Scrum. Scrum, as I said, turned 21 or turns 21. It currently can’t drink but in November it’s gonna be crazy.

    Shimel: Mm-hmm.

    West: In October, it turns 21 and I think about the success and Scrum is practiced—I was talking to Ken this morning, and it’s funny because I said, “You do realize Ken that over a million people every day, do a daily Scrum.”

    Shimel: Yep.

    West: He said, “Wow, that’s a lot, isn’t it?” And it’s practice.

    Now, whether it’s practice—well, Alan—whether they’re doing it right and whether that actually is good, and lots of questions.  But ultimately, you can’t argue with the success of Agile and Scrum. And you can’t argue with its—and so I often think about what makes it successful and is it the manifesto? I think in part it is.

    I think it provides a set of principles and ideas that sort-of provide the social system as it were to the practices that Scrum encourages. And I think things like the Agile conferences and that continues—you provide a place for people to talk about it, which is good. I also think there needs to be a very effective commercial model and when I mean commercial model—a commercial model around driving, making people go to pay their mortgage and put food on their table using Scrum to help them do that. Whether that’s through training, certification, writing books—there’s over a hundred books with Scrum in their title just on Amazon. There’s like 130 and I got bored counting. And I didn’t count the foreign books obviously because I’m English, and that’s against my principles.

    But what’s interesting is that—so that commercial model is incredibly important and I think also ownership. I think the one thing that we’ve found with the Scrum community is that Ken and Jeff have continued to really push it and drive it and that ownership connected with certification, assessments, training, books, community—strong community—simplicity, because I think that’s a very important idea that comes out, have allowed Scrum to be successful.

    So, I look at DevOps. And DevOps is very fragmented—even more-so than Agile. Vendors tend to have taken it and defined it to their own needs. You know, the Scrum Guide is the definitive definition of Scrum. It’s about 16 pages. It’s translated into over 40 languages and you can’t—it tells you what Scrum is. And if anybody says, “Oh, well, to do Scrum you have to do Jira and Jira does this,” I’m just using Jira as an example; it’s an awesome tool. No, actually, no, Scrum says this and yes, you can have ways of doing the daily Scrum with your Jira board and whatever, that’s cool. But Scrum is Scrum. And the problem is we’ve got all these vendors defining DevOps to be what they want it to be. To sell some software. All good—I mean, fair play to them. I would do exactly the same.

    So, without that sort of body of knowledge, without people sort of saying, “Hang on a minute,” sort of leadership, clear leadership. Without a commercial model that’s driving DevOps into organizations, or Scrum into organizations is another example. I think you have some significant challenges. I’m not sure they need a manifesto Alan, I’m not sure they need—but they definitely need a definitive what it is, however that’s done. It could be done with a guide. Or it could be done with something else. And I think that it needs that sort of leadership as well. And Gene is awesome—Gene Kim and the guys. There’s some really good thought leaders, but again, they’re fragmented as well.

    Shimel: Sure.

    West: Is Jez Humble a thought leader in it? Yes, he is. But he talks about continuous delivery. He doesn’t really talk about DevOps and ….  That’s challenging.

    Shimel: Yeah, I know, Dave. So just, my 2 cents on it is, it’s very much a two-edged sword. In some ways, it’s been its biggest help and in some ways its biggest hindrance.

    I’m just back from London with Gene Kim’s DevOps Enterprise Summit, London took place and I interviewed all the speakers there and we did a ton of video and speaking with people and what’s interesting is by its lack of definition, the DevOps way if you will—the DevOps way is whatever you—sounds like something out of the Dune movie, the Weirding Ways. But, the DevOps ways are that patterns or whatever you want to call it is moving even beyond Dev and Ops. Dev and Ops working together to encompass security, QA, other parts of the IT stack and even beyond the IT stack, we heard stories of marketing and biz and HR even, teams that are starting to use Kanban and stuff like this because it helps them. I mean, look: Here at devopsy.kinsta.cloud, we do a 9:30 standup meeting around the table every day, right?

    And you know, I don’t consider us a software company, per se, or that we’re developing software but the entire on-prime staff is in that meeting. And we do our check-in and so forth. But that being said, that lack of definition has almost, I think enabled DevOps to move beyond pure Dev and Ops. But you speak to—you talked about Jez Humble—you speak John Willis for instance; another DevOps, kind of, personality who’s been around a while and John says, “No, I’m more of a purist.” DevOps is about Dev and Ops. Right? I don’t buy into that whole kind of thing, but that all being said, that kind of helped it not having that definition but to your point, it hindered it in that you can’t really put your thumb on it and it’s nebulous and a lot of people say that. Right?

    West: Yeah.

    Shimel: And it’s this—

    [Crosstalk]

    West: It might be good and it might be bad. What ultimately all of us are striving for is the values of the Agile manifesto.

    Shimel: Sure.

    West: And DevOps is doing that as well. It’s about delivering done. And it’s about breaking up batch sizes to smaller increments of value driven by hypotheses or experiments or ideas and it’s about delivering practices which the DevOps community have in spades of actually being able to do that.

    Shimel: Yep.

    West: So if you have the principle of delivering software frequently, and observing it’s use by customers—if that’s a principle that’s driving your delivery mechanism then it’s crucial that you get that transparency. You instrument etc. You do it frequently, you get the batch size smaller, etc. Those principles—and they all trace back to that ultimate set of Agile ideas—and those ideas are basically all in response to the fact that we’re working in environments where there’s a large amount of unknown. Whether that be technology, whether that be business. And those unknowns require us to work in a different way.

    The traditional, very efficient, big silos, clear hand-off, control points, get in the way when there’s a large amount of unknown and where variability is the currency of the entire operation. And when you do that, you have to work in different ways. And all those practices, make it so much better. And I think that’s what we need to concentrate on.

    [Crosstalk]

    Shimel: Those are the universals. Dave, I think that’s universal. Yeah.

    West: And I think that’s what—and I think, to be frank, most of the—I know Gene definitely is very, very conscious of that. Obviously, protecting his brand as he needs to. Yeah, I just love the fact that all these vendors positioned DevOps for their own means. Yeah, so, I don’t know. What I do know is that Agile isn’t versus DevOps and Scrum.

    [Crosstalk]

    Shimel: Certainly not.

    West: And Scrum isn’t versus DevOps and we need to stop thinking about the Sprint Review as a phase gate to release to operations. And we need to think about it as a mechanism for learning, inspect and adapt. Learning at the boundary of the Sprint. So, we’ve got this chunk of work—two weeks of work—we’ve delivered some software and production hopefully during that two weeks of work. Operations is part of our Dev Team. There just—whether that be directly or indirectly. Obviously, we know that if it’s indirect, cues are bad because that reduces Agility.

    So, we need self-serve, we need automation that allows them not to be a bottleneck. We need to be able to get RVMs when we need RVMS, etc. And we need mechanisms in place that get rid of all the overheads to the delivery teams. And I say delivery, not development. It’s everybody that’s needed. We need some mechanisms in place that get rid of the inhibitors to delivering working software as frequently as we need to, to get that inspection working for our business.

    That’s what ultimately we need to do and sometimes DevOps—it’s a great movement. Sometimes, it gets in the way because we go, “Oh, wow now I’m DevOps, not Scrum.” And I don’t give a diddly if you’re Scrum or DevOps. All I care about is delivering frequently to learn so that I can improve and deliver value faster to our customers.

    Shimel: Got it. Well, Dave. I hate to do this to you, but we’ve run over schedule here. But it happens. I told you before we got on, that it goes quick. We’re well past it at this point. But, one last question that I like to always ask guests, and that is: Can you recommend one book to our audience that they should read?

    West: Yeah, Alan, I don’t know if I can recommend a book to read, but I can tell you the book I’m currently reading.

    Shimel: Fair enough.

    West: And it’s interesting because there’s lots of great books, obviously. A wise man once said to me, “I don’t mind if you read my books, as long as you buy them.” So there’s lots of great books, but I like the book I’m reading at the moment. It’s called, “Turn the Ship Around.” And it’s a really interesting—it’s a true story of this—basically, this guy that’s running this nuclear submarine by this gentleman called David Marquet. And it’s really very interesting because a nuclear submarine you would think has got as much in common with a software delivery project as—I don’t know—as something that doesn’t have much in common with something else.

    But ultimately, you learn a lot about how you can get autonomy, get self-direction in your teams, how you can keep people happy when you’re in this, sort of, steel coffin under the water when you’re not talking to your loved ones for thousands of hours because you’ve got nuclear weapons on, and you have to be hidden somewhere in the Atlantic or Pacific. And it’s a very interesting book and I’m about halfway through, so I can’t tell you if it’s the best book in the world but I can tell you the first half has started very, very well. “Turn the Ship Around.”

    Shimel: Got it. Sounds like a good and I will see if we get any feedback from the audience.

    Well, Dave, so we totally blew through this, but it’s okay. It was a great interview and I hope people enjoyed listening to you continue success with Scrum.org and maybe we could have you back on at some point; we could continue this discussion.

    West: I’d love to Alan. Love to. It’s been an absolute pleasure.

    Shimel: Okay. Dave West, product owner, CEO of Scrum.org, thanks for being this episode’s guest of devopsy.kinsta.cloud

    This is Alan Shimel for devopsy.kinsta.cloud.

  • Case Study: Laserfiche Builds Hybrid Cloud for ECM

    Case Study: Laserfiche Builds Hybrid Cloud for ECM

    Laserfiche is a privately owned software development company that creates enterprise content management (ECM), business process automation, workflow, records management, document imaging and webform software. The company provides secure document management, image capture, electronic forms, workflow automation, digital signatures and DoD 5015.2-certified records management, “Automating and streamlining business processes with prepackaged solutions for contract management, HR onboarding and new account openings,” says Thomas Phelps, vice president of Corporate Strategy & CIO.

    Laserfiche also maintains a business process library including templates that enable its customers to hit the ground running on new ECM deployments.

    The business counts Fortune 500 companies among its customers, serving industries including government, education, health care and finance. “We’re an enterprise content management software leader in state and local government, with a majority of the Center for Digital Government’s top digital cities and counties as our customers,” Phelps says.

    This is the story of the company’s addition of a cloud infrastructure and its plans for a hybrid cloud.

    Embracing DevOps and its Culture in Preparing for the Cloud

    Laserfiche embraced DevOps and its methodologies and tools simultaneously as it began development on its cloud infrastructure, the Laserfiche Cloud, which the company announced in January 2014 at the company’s worldwide Empower user conference.

    With that, Laserfiche took a sharp detour from its usual scrum development practices, adopting DevOps for its ability to encompass the development needs and demands of a cloud project.

    To use DevOps to move up the timetable on bringing the Laserfiche Cloud to life, the company had to swallow the DevOps culture, tools and processes whole. “We created a separate, dedicated cloud infrastructure team responsible for rapid deployments of test and production environments. We assigned a member of each software product team as a designated Laserfiche Cloud liaison to represent each product team including Laserfiche Forms, Laserfiche Mobile and Laserfiche Connector teams with respect to any feature updates, testing or releases for Laserfiche Cloud,” Phelps says.

    Though the Laserfiche Cloud infrastructure development team works in unison, each team member has the opportunity and responsibility to isolate, program and interweave software and services. Proper governance and controls ensure this means progress rather than setbacks for the ongoing cloud project.

    Development adopted PowerShell scripts, open-source and homegrown tools and Chef to promote advancement of a DevOps pipeline for its cloud infrastructure.

    Software Development Before DevOps and the Cloud

    Before moving to DevOps, the company developers relied on scrum-based agile development methods. The process followed from planning two-week sprints, through developer programming on desktop machines, unit testing, committing daily code changes, testing using daily automated builds and ultimately ending with retrospectives. Software products were tested individually by their own teams on separate VM clusters assigned to each team.

    That process allowed for one big release per year with smaller releases before and after. “Before DevOps, we manually uploaded release packages to our support site for customers and resellers to download, install and configure the Laserfiche ECM,” Phelps notes.

    After DevOps, with the Cloud

    The Laserfiche Cloud, a software-as-a-service (SaaS)-based ECM subscription service, offers mobile synchronization, e-forms and workflow automation in addition to its previous services, once offered only on premises. “The Laserfiche Cloud provides robust granular system security, encryption and audit reporting to bring centralized control and transparency to business operations,” Phelps says.

    With the cloud infrastructure in place, the company now is using the same DevOps culture, structure, tools and people to develop a hybrid cloud version. “We’re developing a hybrid solution, using Laserfiche Web Access, to provide access to hosted content and enable collaboration with third parties, business partners and customers,” Phelps notes.

    Results, Benefits

    “Instead of taking days or weeks for information technology or our software testers to deploy new VMs and infrastructure, the cloud infrastructure team can spin up new test environments within hours,” Phelps says.

    The company progressed from one major product release a year to updates every one to three months by automating the process of configuring new environments and deploying software. “Many software engineering teams have begun adopting a cloud-first development system where they develop and test binary packages and use internal tools to deploy the packages for testing,” he notes.

    Laserfiche can now satisfy customers with larger, swifter feature enhancements to its Laserfiche Cloud. “The cloud infrastructure team works closely with our software engineering teams, using accelerated release management processes, to perform upgrades in hours within an approved maintenance window,” Phelps says.

  • Scrum Co-Creators Unveil New Version of the Scrum Guide

    Community Input Contributed to Addition of Scrum Values to Official Scrum Body of Knowledge

    Boston – July 6, 2016 – Scrum.org, the mission-based organization dedicated to improving the profession of software delivery through training, certification assessments and community, and Scrum Inc., the world’s premier Scrum training and consulting provider, today announced Scrum co-creatorsKen Schwaber and Jeff Sutherland’s updates to The Scrum Guide, a framework for developing and sustaining complex products.

    In a webcast earlier today, the pair came together to unveil the new version to the industry.  The Scrum Guide now includes a section on Scrum Values, which are Courage, Focus, Commitment, Respect and Openness.

    “When the values of Commitment, Courage, Focus, Openness and Respect are embodied and lived by the Scrum Team, the Scrum pillars of Transparency, Inspection and Adaptation come to life,” explained Schwaber. “We added these values to The Scrum Guide because successful use of Scrum depends on people becoming more proficient in living these five values.”

    This is the first update to The Scrum Guide since July 2013. While refinements are made at their discretion, Schwaber and Sutherland encourage community feedback via The Scrum Guide User Voice website, where people can post ideas for changes and vote on them. The addition of Scrum Values to The Scrum Guide was the most popular request on the User Voice site.

    “Ken and I regularly read and support the User Voice forum, taking into consideration each suggestion from the community,” said Sutherland. “This update to The Scrum Guide officially recognizes the significance these values have to any Scrum team.”

    The recording of the webcast will be made available soon by both organizations. The Scrum Guide can be found at http://www.scrumguides.org/. Offered for license under the Attribution Share-Alike license of Creative Commons, its copyright allows for reuse as long as it is credited back.

    About Scrum.org

    Based on the principles of Scrum and the Agile Manifesto, Scrum.org provides comprehensive training, assessments and certifications to improve the profession of software delivery. Throughout the world, our solutions and community of Professional Scrum Trainers empower people and organizations to achieve agility through Scrum.  Ken Schwaber, the co-creator of Scrum, founded Scrum.org in 2009 as a global organization, dedicating himself to improving the profession of software delivery by reducing the gaps so the work and work products are dependable.

    Visit Scrum.org for further information on the organization’s Professional Scrum assessments, training and global community; follow us on Twitter @scrumdotorg and read more from our community of experts on the Scrum.org blog.

    About Scrum Inc.
    Scrum Inc. is the world’s leading authority on Scrum. They provide training, consulting, and counsel to individuals and companies across industries including energy, finance, defense and technology. They are thought leaders in the community publishing books, scientific papers, case studies, blogs, and creating online educational content. Founded by Jeff Sutherland, the co-creator of Scrum, Scrum Inc. has helped hundreds of companies fundamentally re-shape themselves to face a changing world, dramatically increase productivity, and drive profound growth. Jeff’s most recent book is Scrum: The Art of Doing Twice the Work in Half the Time, which has sold over 100,000 copies worldwide.

    Visit ScrumInc.com to learn about our services and explore our online learning resource ScrumLab. Follow us on Twitter @ScrumInc or contact us throughinfo@scruminc.com, we would love to hear from you!

  • The Forgotten Fourth Question

    The Forgotten Fourth Question

    A very well-written paragraph about DevOps appears in Mike Loukides’ book, “What is DevOps”:

    … Modern applications, running in the cloud, still need to be resilient and fault tolerant, still need monitoring, still need to adapt to huge swings in load, etc. But those features, formerly provided by the IT/operations infrastructures, now need to be part of the application, particularly in “platform as a service” environments. Operations doesn’t go away, a good part of it becomes part of the development. And rather than envision some sort of Uber developer, who understands big data, web performance optimization, application middleware, and fault tolerance in a massively distributed environment, we need operations specialists on the development teams. The infrastructure doesn’t go away – it moves into the code; and the people responsible for the infrastructure, the system administrators and corporate IT groups, evolve so that they can write the code that maintains the infrastructure. Rather than being isolated, they need to cooperate and collaborate with the developers who create the applications. This is the movement informally known as DevOps.

    These days, recruiters to managers, engineers to analysts and, of course, CXOs all are interested in DevOps. They have questions such as, “What is DevOps?” “What are the DevOps requirements?” “What are DevOps implementations challenges?” But the key question is, “Why does DevOps remain difficult to implement?”

    Adopting DevOps does not simply mean adopting new processes or toolsets. “Why DevOps” can be understood better by focusing on the benefits it will give you. So let’s dive deeper into one of the key best practices we discovered in our journey into DevOps.

    Agile to DevOps

    Business challenges, complexities and competition pushed companies to innovate and solve their existing business problems in a better way, adding more features and integrated solutions. Ways of implementing solutions vary from organization to organization, adoption of tools and technologies also differ by small and large organizations based on complexity of problems, but it’s clear that many have adopted agile practices in the past two decades. Agile was made clear by a few well-defined processes such as iteration planning, daily scrum meetings, scrum of scrums (in larger enterprises), iteration demos, retrospective meetings and small, empowered teams.

    One of the key mindset changes most of the IT world went through while transforming themselves into agile execution was to have more verbal communications and daily scrum meetings. Daily scrum meetings required the scrum master to ask three questions:

    • What was completed yesterday?
    • What will be completed by end of today?
    • Any blockers?

    These three simple questions kept things simple and quick.

    As agility is extended to Ops now, there is a need to revisit whether these three questions are enough. There is a need to revisit the attendees in scrum meetings too. There is a need to add some more responsibility to the role of the scrum masters’ communication radius.

    Before we look at the fourth question, lets let look at the key reasons to adopt DevOps implementations in organizations:

    • Achieve higher speed of time to market without compromising Ops stability
    • Better resource utilization across Dev, Test and Ops
    • Be more responsive to customers

    Why would speed of delivery hamper stability in Ops? In our firsthand experience, the communication between Dev and Ops is not that rich in most of the organizations today. If one studies the root cause analysis of problems faced by Ops in trying to keep the environment stable and healthy, one will find some if not all the following issues:

    • Developers are not deployment-aware
    • Developers do not think of exposing or exporting the right controls for allowing Ops to configure app dynamically (Unintentionally. They simply don’t know.)
    • Many configurations are embedded deep inside the app
    • Adding specific third parties, changing their versions is sometimes missed in Ops communications
    • Ops is unable to clearly articulate what they require from Dev, even when everyone is co-located
    • Continuous firefighting in Ops results in fast fixes, better debugging, but not proactive processes
    • Even if weekly meetings between Dev and Ops happen, they do not have a clear agenda or metrics

    While there are many more symptoms and their causes, and while there are multiple solutions to fix processes and problems, we have found particularly one solution that seems effective.

    We added a fourth question to daily scrum meeting. That fourth question is: “Are you blocking Ops?”

    This question is a direct question to each developer in daily scrum meetings. This question essentially means to ask:

    • Have you written in any code that requires a new configuration?
    • Have you written any code that requires change in existing configuration?
    • Have you written any code that is creating a new binary or file that needs to be installed in production?
    • Have you recompiled existing code with new third party libraries because older ones are unsupported, even though there may be no other change in functionality?
    • Have you hard coded any IP address or other configurations into the code which cannot be changed without rebuilding?
    • And so on…

    Ask the Fourth Question

    The above list of questions is developed based on the root cause analysis of app stability in Ops. This list will be different for different developers/teams. The scrum master communicates the appropriate actions to developers based on the answers to these questions. The scrum master also alerts the Ops team and gives them a heads up on what’s coming their way, and provides timely feedback to the developers.

    Is this question important enough to be the fourth question in scrum meetings?

    Or is this question covered as part of the “Any blockers?” already being asked? One can debate either way. The blocker question in scrum meetings is thought of in a limited Dev/QA scope, and that scope has not included the Ops team until now. Given that Ops team faces customers, given that the DevOps movement is about improving synchronization between teams, this Ops question needs to be a first-class citizen in daily scrum meetings.

    Lastly, it’s critical to to look at root cause analysis-related Ops problem as early as possible. The scrum master becomes more mature as he asks this question to his team while interacting with Ops on hearing them out. If teams are funded enough to have someone from Ops into the scrum meetings, then he/she can be the primary representative for Ops and can steer the delivery to be Ops-friendly.

    Irrespective of how one achieves it, taking care of configuration issues proactively in daily meetings, and thinking about Ops on a daily basis in Dev meetings is key to successful DevOps adoption. Configuration issues are not the only focus, but they do form a large chunk of Ops issues.

    From our metrics, customers have seen following benefits after adding the fourth question their scrum meetings:

    • Shipping code 7x more frequently
    • 45 percent fewer failures
    • 12x faster ability to recover earlier in the tool chain

    Please feel free to share your findings with us @ info@opexsoftware.com.

    Happy DevOps!

     

    About the Author/Sanju Burkule

    sanjuSanju Burkule, a pioneer, visionary and creator of Products in the DevOps Space @OpexSoftware. He writes about automation and strong, connected, integrated IT and tweets often about these topics.

     

     

  • Best Practices to Prevent Scrum Failure

    Best Practices to Prevent Scrum Failure

    In my years of experience as a scrum master, I’ve encountered numerous situations where scrum has resulted in less-than-ideal outcomes, a Scrum failure if you will—not because the agile framework is flawed, but because the company didn’t understand, or disregarded, how scrum is supposed to work.

    For example, I was once a scrum master for an e-commerce website production team where a new feature was considered so critical that it was prioritized over everything else in the backlog. Minimal time was taken for the development of user stories and my team had to make assumptions because the business stakeholders were unavailable. When we were nearing completion, the stakeholders came out of hiding and identified more business rules that required not only additional work, but some re-work of things that were already completed, including global changes to the company’s customer-facing website. The impact to the business had not been appropriately analyzed, and when the new feature was rolled out, the value delivered was negative, causing refunds and ultimately financial loss.

    Sadly, scenarios like these are not uncommon. The scrum framework is ideal for situations where priorities change often, but many companies struggle with finding the right rhythm to implement and manage those changes. Scrum fails when companies don’t build a shared consensus on which principles should form their definition of agile delivery, or fail to educate everyone involved on how the agile processes should work. One very common example involves the most basic of agile artifacts: the sprint plan. I can’t tell you how many times I’ve completed a long day of planning only to run into an executive who wants to add something to the sprint. This is where understanding the methodology and sticking to it are important, especially because changing the sprint plan will impact your team’s morale, as well as its productivity. As much as we love our stakeholders, they should not swoop in at the last minute and bypass the product owner.

    For those unfamiliar with scrum terms, the product backlog identifies the longer term priorities for a project or product team. The sprint backlog determines current sprint priorities and sets a shared goal for delivery team execution. Product backlog priorities can (and should) change all the time, but sprint backlog priorities should be locked down for the duration of the sprint. At the beginning of each sprint the team participates in a planning meeting where the highest priority stories are pulled from the product backlog and reviewed. The final output of a planning meeting is a prioritized sprint backlog that represents the plan for the sprint. Once the sprint plan is determined, it should be protected. There are always exceptions, but to ensure scrum works, the scrum master must protect the plan as much as possible.

    So, how can you make sure your team moves as fast as possible but can still address changing priorities? Below are a few lessons I’ve learned:

    1. Determine the Appropriate Sprint Length

    First, and most importantly, determine a sprint length that is appropriate for your organization. I would recommend that companies new to scrum should avoid one week and four week sprints. One week sprints move too fast for new teams and are too heavily burdened with meetings. Four week sprint teams have a hard time staying with the sprint plan, especially new teams who don’t fully understand the impact of changing priorities mid-sprint. I’m not saying that four week sprints never work, but I find that a four week sprint length makes it difficult to keep the team on track. Two week cycles have traditionally been the preferred length for agile enthusiasts. When I’ve worked on project teams where code will not be moved to production at the end of the sprint, a two week sprint duration works well; however, my production teams seem to prefer three week sprints because they can develop new features in the first two weeks and use the last week to do production preparation work. Whatever length is chosen, it needs to work with your product environment. For example, if you’re currently running three week sprints but your scrum master is constantly having to battle to protect the sprint plan, then maybe a two week plan would be more appropriate.

    1. Educate Your Stakeholders

    Once the organization finds the appropriate sprint length, educating stakeholders is essential. How can we expect stakeholders to work with implementing scrum when we don’t help them understand how it should work? Actually communicating the sprint calendar is a good first step. Stakeholders also need to understand the product owner’s role and how they will assist them in assigning their requests the appropriate priority in the product backlog. This can be quite beneficial as many stakeholders who desire to add to the product backlog don’t realize that other higher priority features may not have been completed yet. Working with the product owner provides an impact analysis for the overall product. Sometimes it’s as easy as saying, “Is this more important than x?”  Just that simple question has saved me many times as a scrum master. Sometimes stakeholders just want to get the request on the backlog and don’t mean for everyone to stop work on current priorities. If the request is determined to be the highest priority item at the time, then analysis of the desired behavior can begin. By the time the next sprint planning meeting happens the team will have a much better idea what the request is about and will be more likely to complete the feature with the value envisioned by the requestor.

    1. Build Trust

    Lastly, and perhaps most importantly, the team must build trust among the stakeholders. This has had a huge impact on my scrum teams and has stopped most emergency requests. Teams build trust by setting realistic sprint goals for themselves and then accomplishing those goals on a consistent basis. If the stakeholders know what is planned will get done, they have much more confidence that their request will be completed in a timely manner. This is not an easy task but can be accomplished by improving sprint planning.

    The most effective way to improve sprint planning, and one that I find is often ignored, is utilizing the sprint retrospective. This is where the entire team reviews their performance during the sprint and discusses what went well and should continue and what areas need improvement. The team then decides what one or two things will make the most impact on the next sprint and brainstorm for ways to improve. The retrospective works well because the team decides what to change and begins to build a culture of continuous improvement. As far as agile benefits go, this is one of the most impactful to organizations.

    Another way to build trust is to communicate changes to the plan early and honestly. Let stakeholders know why there was an adjustment to the plan. Was it due to a bad estimate? A delayed approval? Changing priorities mid-sprint? Once stakeholders start seeing the impact they have on the progress, they can assist the team in moving faster too.

    The Result

    When properly implemented, scrum can realize amazing benefits, but scrum teams and stakeholders have to work together to understand and implement the scrum procedures.

    Here’s another true story: When I was a scrum master for another website project team, we had to halt development based on a third party delay. Because we were using scrum, this was no problem—we closed out the last sprint, complete with a proper demo, and the next day held our sprint planning meeting. We started a completely different project that was estimated to take approximately three months, matching the estimated delay for our primary project. We worked with a new product owner and successfully implemented the new feature as planned. The revenue generated from the feature was estimated to pay back the development costs in less than a year, and when completed, the team was able to return to the primary project.

    That’s how scrum is supposed to work.

    About the Author

    Kathy Loveless is an AIM Consultant specializing in agile coaching, agile project management, scrum process improvement, and strategic development. She has an impeccable background in effective agile coaching and transformation and is passionate about immaculate communication and delivering results. AIM Consulting’s expertise in application development and product and project management covers the entire software lifecycle, from architecture to optimizing processes that ensure high quality outcomes with the most efficient delivery. To get in touch, tell us about your challenge.

  • 4 Ways DevOps Teams Create Value.

    4 Ways DevOps Teams Create Value.

    Sven Malvik – I’ve written thousand of lines of code based on lies, lies I hoped were the truth. The truth is that we make false assumptions. Assumptions that kill our business. I’ve built software that was too expensive, I’ve built software nobody wanted, and I’ve built software that never saw the light. If you are like any other developer you probably have lied too. But it doesn’t matter. What matters is the application we haven’t built yet and that we will build based on the truth. We need the truth to create value and to survive. This article will show you 4 ways of how DevOps teams create value.

    (more…)