Better Software East 2016 - Agile Development
Monday, November 14
Great Product Design with User Story Mapping
Built from index cards or sticky notes, a story map is a simple model, that helps the people who make it envision a customer’s experience with their product. Story maps are a core practice within a design process focused on understanding and building empathy with customers and users and then identifying and testing solutions to improve the customer’s experience with your product or services. Jeff Patton says that design process and story mapping can help you identify completely new product opportunities or improve the existing product experience. Learn how to map...
Creating a Continuous Delivery Pipeline: A Hands-On Workshop
Although continuous delivery (CD) and DevOps are growing in popularity, not much practical information is available about how to get started. This hands-on technical tutorial is the place to get your feet wet and your questions answered. Bring a laptop with the appropriate software installed (see note below), and Ken Mugrage will provide everything else you need for this workshop. You will configure a complete continuous delivery pipeline from source code commit through deployment. Learn when to run each common type of automated test for the fastest possible...
Fostering Sustained Agility
Has your team been struggling to become one of those high-performing teams that you were assured it would be if you started doing agile? Are your teams stuck on the agile transformation plateau? Most organizations start off strong in their transformation toward an agile mindset, successfully implementing team practices such as sprints and stand-ups but often a plateau or even a slip back occurs. Why? Because many leaders do not focus on fostering sustained agility—that is, creating an overall environment that influences individuals and teams to be focused on...
Principles and Practices of Lean Software Development
Lean software engineering emphasizes continuous delivery of high quality applications. Ken Pugh explains the principles and practices that form the basis of lean software development—concentrating on developing a continuous flow by eliminating delays and loopbacks; delivering quickly by developing in small batches; emphasizing high quality which decreases delays due to defect repair; making policies, process and progress transparent; optimizing the whole rather than individual steps; and becoming more efficient by decreasing waste. Ken describes lean’s emphasis on...
Docker Fundamentals Jumpstart
Docker is a mechanism for low-overhead virtualization that is emerging as a key aspect of DevOps architectures. Interest in Docker—with its lightweight, portable, “build once, configure once, and run anywhere” containers—is growing. Aater Suleman presents and demonstrates best practices, pitfalls, and practical advice from real-world case studies using Docker. Aater discusses basic Docker concepts, Docker terminology, Docker commands, must-know Docker features, and real-world examples of Docker projects. He focuses on eight common use cases and explores the...
Planning to Learn and Learning from Delivery: Scrum, Kanban and Beyond
If you are new to agile methods—or trying to improve your estimation and planning skills—this session is for you. David Hussman brings years of experience coaching teams on how to employ XP, lean, Scrum, and kanban. He advises teams to obtain the estimating skills they need from these approaches rather than following a prescribed process. From start to finish, David focuses on learning from estimates as you learn to estimate. He covers skills and techniques from story point estimating delivered within iterations to planning without estimates by...
Acceptance Test-Driven Development
Defining, understanding, and agreeing on the scope of work to be done is often an area of discomfort for product managers, developers, and quality assurance experts alike. The origin of many items living in our defect tracking systems can be traced to the difficulty of performing these initial activities. Ken Pugh introduces acceptance test-driven development (ATDD), explains why it works, and outlines the different roles team members play in the process. ATDD improves communication among customers, developers, and testers. ATDD has proven to dramatically increase...
Tuesday, November 15
Continuous Delivery: Rapid and Reliable Releases with DevOps
DevOps is an emerging set of principles, methods, and practices that enables the rapid deployment of software systems. DevOps focuses on lowering barriers between development, testing, security, and operations in support of rapid iterative development and deployment. Many organizations struggle when implementing DevOps because of its inherent technical, process, and cultural challenges. Bob Aiello shares DevOps best practices, starting with its role early in the application lifecycle and bridging the gap with testing, security, and operations. Bob explains how to...
Essential Patterns of Mature Agile Leaders
Currently much of agile adoption—coaching, advice, techniques, and training—revolves around the agile teams. Leaders are typically ignored, marginalized, or, in the worst cases, vilified. Bob Galen contends that there is a central and important role for managers and effective leadership within agile environments. In this tutorial, explore the patterns of mature agile managers and leaders—those who understand servant leadership and how to effectively support, grow, coach, and empower their agile teams in ways that increase the teams’ performance, accountability,...
Writing Agile User Story and Acceptance Test Requirements
Poor requirements are often the major cause of project problems. Yet nobody does much about them—at least not effectively. Traditional approaches advocate writing voluminous requirements documents that often don’t help much and may even contribute to difficulties. Agile goes to the opposite extreme, relying on brief requirements in the form of three-line user stories that fit on the front of an index card and a few user story acceptance criteria that fit on the card’s back. In this exercise-focused interactive workshop, Robin Goldsmith reveals reasons user...
The Tester’s (New) Role in Agile Development
Avoiding siloed development is a tricky business. It’s easy for agile teams to fall into the rut in which testers only do traditional testing activities and programmers strictly do their time-worn coding activities. Rob Sabourin shares a number of examples of how testing skills can be applied to a wide variety of activities in an agile project. Testers are among the most skilled team members in story grooming, elicitation, and exploration. Risk analysis in self-organized agile teams empowers testers to drive design decisions. A tester’s affinity analysis skills...
Agile Project Failures: Root Causes and Corrective Actions
Agile initiatives always begin with high expectations—accelerate delivery, meet customer needs, and improve software quality. The truth is that many agile projects do not deliver on some or all of these expectations. If you want help to ensure the success of your agile project or to get an agile project back on track, this tutorial is for you. Jeffery Payne discusses the most common causes of agile project failure and how you can avoid these issues—or mitigate their damaging effects. Poor project management, ineffective requirements development, failed...
Scrum: Answering the Tough Questions
You attend the two-day Scrum certification courses, pass your exam, and return to your team as a newly minted ScrumMaster. You are ready to take on the world—when reality sets in. Your organization doesn’t understand the changes they are being asked to make, the developers have not bought in to agile practices, and your product owner has not been seen for days. Now what? Ryan Ripley addresses the most often asked—but seldom discussed—questions that ScrumMasters face during their projects. These questions range from “What is management’s role on a scrum project?”...
Advanced Test Automation in Agile Development
Agile teams are charged with delivering potentially shippable software at the end of each iteration. In fact, some high-performing agile teams with advanced automation can ship working software every day. They achieve regression confidence with extensive automated test suites and other advanced practices. Rob Sabourin shares automation techniques to improve story and feature testing, exploratory testing, and regression testing. Explore ways to fully integrate testing into agile delivery teams by combining test-driven development (TDD) techniques, precise test and...
Producing Products and Coaching Agility: Make Agile Practices Matter
Are you an agile practitioner who wants to take agility to the next level? Are you looking to gain real value from agile instead of simply more talk? Even though many are using agile methods, not all are seeing big returns on their investment. David Hussman shares his experiences and describes a short assessment you can use to identify both strengths and weaknesses in your use of agile methods. Creating an assessment helps you look at the processes you are using, examine why you are using them, and determine whether they provide real value. This assessment guides...
Lean/Agile Metrics for the Rest of Us
For many agile practitioners, software metrics beyond a burndown chart are little understood or, perhaps, very scary because poor metrics can be worse than no metrics. In this enlightening session, Larry Maccherone explores how you and your organization can use metrics to bring management and lean/agile teams closer rather than becoming a wedge that drives them into conflict. Larry covers the entire lifecycle of the metrics process—from metric selection to reporting data—in compelling ways. You’ll gain an understanding of a wide range of concepts including common...
Wednesday, November 16
Building Product Development Communities: From Startups to the Enterprise
When we want to produce more product with the same number of staff, we normally think about adding more process. David Hussman believes we don’t necessarily need to do that. Instead of talking about scaling agile, David focuses on scaling product learning—while avoiding process inflation along the way. Topics he addresses are: moving from Scrum teams to product team to focus on product success, mapping teams to product(s), interconnecting product discovery and product delivery techniques, and the challenges associated with cross team dependencies and constraints...
The Business of Agile: Better, Faster, Cheaper
Ryan Ripley relates that during his last agile transformation project, a key stakeholder asked, “Why are we adopting agile?” Ryan talked about increasing quality, delivering software sooner, and fostering a more collaborative relationship with business partners. After a few moments, the stakeholder raised his hand and said, “I get all that. But how is all of this agile stuff any better, faster, or cheaper than what we do today?” Ryan says that leaders must answer the better, faster, cheaper question if they want their agile transformation and associated projects...
Agile Measurement Within and Across Teams
When enterprise agile methods are sold as a means to predictability, how can we improve our predictability when we are working across many or dozens of teams, and how do we measure predictability across teams rather than team by team? Scott Aucoin shares how Intuit uses agile measurements to build stronger teams and put out the same fires in many teams at once rather than coaching and improving team by team. Scott shares real-world data from dozens of teams with lessons learned and examples of how some higher maturity groups of teams and lower maturity groups may...
From Ops to DevOps—and Beyond
Join Adam Serediuk on his journey leading change during the transition from IT Ops to DevOps and the driving forces behind making this change. In this non-tool talk, Adam describes the cultural and organizational approaches, challenges, and techniques his company used in establishing successful DevOps teams and their continuing journey toward NoOps. Adam outlines the steps his organization took to reshape its operations and development teams along with the reasons and the opportunities for making those changes—with tradeoffs and benefits. Any IT Ops team trying...
Fear and Loathing in Systems Administration
Harold “Waldo” Grunenwald hears it all the time—DevOps doesn't work. Sometimes it's from people whose “DevOps transformation” consisted of a team rename or from operations people who scoff at the idea of letting development teams deploy to production frequently. Waldo demonstrates why placing the blame on DevOps practices and tooling is missing the point. He offers practical solutions to the problems of historically poor relations between operations and development teams, describes why delegating authority is the path to freedom, and shows why cross-functional...
Unconventional Agility: Beyond Dogma
You’re agile. You talk the talk and walk the walk. Just like the twelfth principle of the Agile Manifesto says—“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly”—you have regular retrospectives. So, why are your agile practices, whether based on Scrum or SAFe or even XP, the same as everyone else’s? Brandon Carlson explores another agile principle that often seems to be forgotten: “Simplicity—Maximizing the amount of work not done is essential.” Using a case study example, Brandon shows you...
Five XP Practices for Agile Development
David Bernstein says that the core of Extreme Programming (XP) is comprised of five development practices: automating the build for continuously integrating software as it is written, collaborating with team members through pair programming, practicing agile design skills that enable testability, using test-first development to drive design, and refactoring code to reduce technical debt. Together, these five technical practices are essential for sustained success with XP and for many of the best agile teams. However, quite a few agile teams haven’t been exposed...
Agile Requirements—From Breadth to Depth
Requirements elicitation and documentation can be frustrating in an agile process. Some interpret the Agile Manifesto statement “working software over comprehensive documentation” to mean that no requirements documentation is warranted because the code documents the requirements. Others are concerned that if details of requirements are not treated equal to code, they are lost for future program modifications. Ken Pugh does not find this an either-or situation and describes ways to create requirements that are a balance between these two extremes. He shows how to...
DevOps Is More than Dev and Ops: It’s about Tearing Down Walls
The word DevOps is quickly becoming the new Agile—an overused word that has lost its meaning. Cutting through the jargon, Lee Eason gets to the heart of what DevOps means, where it came from, and why it is crucial for your company to embrace it. If you want to deliver on the promise of agile—to improve quality and reduce time to market—you must understand and implement DevOps. Lee shares three mechanisms of change—enablement, mentoring, and coaching—you can use to drive the transformation, as well as key performance indicators to measure your progress along the...
Make Your Continuous Deployment Pipeline as Fast as Possible
Continuous integration (CI) and continuous deployment (CD) have been key to increasing the pace at which development teams can deliver value to the business while keeping quality high. However, many teams are finding that their build pipelines are hard to manage, with builds taking so long that they often halt the development process. Abraham Marin-Perez explores the negative effects of long builds and discusses the most common solutions that organizations apply—many of which involve unfortunate compromises that reduce the benefits of CI/CD. In order to fix this...
Develop Your Agile Planning Playbook
Agile planning is often misinterpreted to mean minimal or improvised planning. However, planning and replanning with discipline and rigor are essential in agile, and no amount of execution effort can compensate for poor planning. Satish Thatte presents a customizable Agile Planning Playbook where each planning level guides and aligns planning at the next lower level. The planning process itself is agile with periodic adjustments based on customer feedback, plan execution, and changes in market or customer needs. Learn how to increase your agility by practicing...
Agile Snafus: When Good Teams Go Bad
Agile done well can lead to great successes—rapid delivery of business and user value, high product quality, fast time to market, and engineering productivity. Agile done poorly leads to skepticism of the methodologies, distrust of the principles, and failure to deliver—in essence, a snafu [sna-foo]: a badly confused or ridiculous muddled situation. James Waletzky has gathered a set of snafus (anti-patterns) that pose challenges for organizations adopting agile. Set yourself up for success by understanding where teams go wrong with agile, complete with tips on...
DevOps and Continuous Delivery: What’s It All About?
It seems like everywhere you look someone is telling you to implement continuous delivery (CD) within a DevOps framework. Although there is a lot of talk about what you should do, there’s precious little about why or how. Ken Mugrage starts with the business issues that resulted in CD being formalized and how these issues can be made better with CD practices. He moves on to discuss the DevOps culture movement and clarifies the differences between CD and DevOps. Ken shares some useful ways you can start applying these concepts and practices. Throughout the...
Transform Organizational Culture for DevOps Success
An organization’s ability to adopt a DevOps approach for software delivery often hinges on a cultural transformation that may be more difficult than technology issues. The keys to success are change supported from the top down, combined with people on the front line who are willing to experiment, fail fast, continuously learn, and openly collaborate in a blameless and fun working environment. When done right, the result is a renewed level of trust between the people involved and the organization they work for. Join Al Wagner as he shares how teams can increase...
The Agile Dojo: Shiny Toy or Best Idea Ever?
Remember your first two weeks on a Scrum team? It was fantastic and miserable all at the same time. And when things got difficult, your team teetered on the edge of the waterfall. What if there were a way to help teams gel more quickly and accelerate their agile learning by immersing them in it? What if there were a place where they could practice what they’ve learned in training, without interruption? Enter the Agile Dojo, a real experiment happening in a large, complex organization. Francie Van Wirkus shares her insights and learnings of creating and sustaining...
Your Agile Team Needs a Therapist
Imagine you’re on an agile development team—and something feels weird. People disagree constantly, and when they finally do agree, no one commits to deliver the solution. Vocal team members dominate the conversation. You don’t trust your teammates. They don’t trust you. This isn’t a team. It’s just a group of people. Does this sound familiar? Because people are people—not interchangeable robots—building high-performing, self-organizing teams takes specific skills and a lot of work. In his experience working with agile teams, Robb Pieper has often taken on the...
Testing and Measurement in DevOps: Find Solutions—Not More Problems
The promise of DevOps is to deliver new features faster following today’s best practices. However, blindly automating the delivery pipeline by installing Jenkins, Chef, and Docker without adapting test approaches will cause a great number of deployments to fail. While the tester’s role and testing are critical for the success of DevOps, the tester’s objective changes—from finding more defects to understanding the patterns that make deployments fail. Then, the job is to automate the detection of these patterns through quality gates into the pipeline. Using...
Agile ALM: Using DevOps to Drive Process Improvement
Many organizations struggle to improve their existing IT processes to drive their software and systems development work. This leaves technology managers and teams to use whatever worked for them on the last project, often resulting in a lack of integration and poor communication and collaboration across the organization. Agile application lifecycle management (ALM) is a comprehensive approach to defining development and operations processes that are aligned with agile methodology. Bob Aiello explores how to use DevOps principles and practices to drive the entire...
Thursday, November 17
Solve Everyday IT Problems with DevOps
Some believe that DevOps is only applicable to Internet-based companies with a desire to disrupt existing businesses. On the contrary, DevOps practices can dramatically reduce many everyday IT problems—defects, incidents, waste, bottlenecks, downtime, and infrastructure fragility. Sherry Chang dives into these problem areas and outlines the DevOps tools, practices, culture, and other artifacts necessary to eradicate them. She shares practical tips and hard-learned lessons from Intel IT to arm you with the knowledge and tools you need for DevOps adoption. You and...
The Past, Present, and Future of Scrum
In the past two decades, Scrum has become the standard for agile development, used in some form today by 90 percent of agile teams. As Scrum starts its third decade, it’s not the fresh-faced process framework it once was. Yes, it has met—and dealt with—commercial, technical, philosophical, and practical challenges. Dave West discusses the past, present, and future of Scrum, using real data from more than 200,000 open assessments and 50,000 professional assessments to describe its challenges and evolution. Learn how to: (1) add the development infrastructure for...
Continuous Delivery of Microservices: Patterns and Processes
Tight coupling and interdependence between dev teams slows down development, and environment drift causes deployment problems when promoting applications between environments. The introduction of the microservices architecture expands on the role of SOA by allowing for the looser coupling of endpoints and environments, with more predictability, flexibility, and agility. Anders Wallgren says that microservices have gained attention for their ability to facilitate innovation among dev teams. By architecting applications into sets of smaller services that are more...
Demystifying DevOps: Capital One’s Journey toward Continuous Delivery
Many companies are either talking about DevOps or already working toward adoption. Books and conferences around DevOps abound, and it seems that everyone is hiring DevOps engineers. What impact does adopting DevOps have on a company and its people? What does DevOps look like from the inside out? What does it mean to be a DevOps engineer? What do you need to do and learn to make sure you’re not left behind? Adam Auerbach answers these questions, explains the overall DevOps movement, and discusses how DevOps is driving changes to our organizational culture and...
Optimizing Performance across the DevOps Lifecycle
The world of DevOps moves fast and substantially impacts application development quality, costs, and customer confidence. Giving your operations and development teams an effective performance process from an early stage means quality is a priority throughout the development lifecycle. A “test early and often” approach improves your chances of on time/on budget application release and meeting your customer’s performance and quality expectations. Successful performance across DevOps relies on the use of proper processes, performance tools and solutions, and...
Scaling Agile: Remembering Tolstoy’s Unhappy Family Analogy
While Agile has become mainstream at the team level with much research and practical experience, scaling agile to the enterprise is a topic of increasing interest and practice—with some successes and some spectacular failures. As Tolstoy wrote, “Happy families are all alike; each unhappy family is unhappy in its own way.” Mariya Breyter shares anti-patterns for scaling agile that you need to recognize quickly and change right away. Most agile scaling frameworks address agile processes and organizational structures. However, Mariya thinks it is time to look at...
Experience Agile Emergence through Sketch Comedy
“The best architectures, requirements, and designs emerge from self-organizing teams.” Most people read this principle from the Agile Manifesto and focus on the self-organization element. What about the concept of emergence? Exactly how do requirements and designs emerge? And how do self-organizing teams enable emergence? Get a hands-on lesson on emergence and self-organization using an unlikely source of inspiration: sketch comedy. John Krewson leads courageous delegates to envision, write, rehearse, and perform an episode of The Waterfall Comedy Hour....
The Agile Product Owner: Beyond the Books and Classrooms
As organizations embark on agile transformation, many traditional project managers or business and technical leads are thrown into the Product Owner role after reading a book or two and, perhaps a few days of CSPO training. In the midst of changing environments, conflicting mindsets, and other change-related issues, they are expected to start operating within a Scrum team. Alicia Cyrus compares the responsibilities of product ownership and traditional project management—similar roles, same goal of achieving working software (or services) and productive teams, but...
Scrum, Kanban, or Scrumban: Which Is Right for You?
Agile is on everyone’s minds today, as more and more organizations are eager to reap the benefits of rapid iterations using customer-centric approaches. Organizations tend to run to Scrum first because it is the most recognized agile framework. But is Scrum always the right answer for a team and a business? Heidi Araya discusses the types of scenarios and projects in which Scrum may not be a good fit. She shares other frameworks—including Kanban and Scrumban—as potential alternatives to consider to ensure teams and projects select the right fit and can deliver...
Integrate DevOps Release Automation with Cloud and Container Management
Pushing code into Git and continuously building web applications with Jenkins are only the first steps toward a streamlined development workflow and agile delivery. Canary, Blue/Green, feature flag, and rolling update release strategies help teams deploy with confidence and zero downtime. Cloud Container platforms (Kubernetes, Docker Data Center, AWS ECS) provide automated workload scheduling and release capabilities. By automated environment provisioning with Terraform or AWS OpsWorks, teams can rapidly spin-up and tear-down Dev, Test, and production...
The Lean Agile Portfolio
Agile practices continue to improve as organizations move forward with adoption and adaption. However, as they move forward, they often run into daunting challenges—coordinating projects with highly complex requirements and interdependencies; navigating highly political environments; and finding ways to fund, report, and integrate agile project work into existing organizational processes. Jamie Mades has found that the Lean Agile Portfolio bridges these gaps, applying lean product development flow principles to identify high-value initiatives and speed completion...
Agile at the Intersection of Mobile, Cloud, and the Internet of Things
The Internet of Things (IoT) will be a $1.7 trillion market by 2020. Don MacIntyre explores how agile is being used well beyond traditional software development in the Internet of Things. First, Don dives into how agile is being used today in a wide range of development environments. He discusses cloud-based software-as-a-service, large complex mission critical systems, and both mobile software and hardware. Next, he reviews the IoT, describes how it is disrupting many traditional markets, and shares how traditional device manufacturers are applying agile. Don...
Removing the Silos: When Agile, Lean, and DevOps Aren’t Enough
Your organization has adopted some combination of agile, lean, and DevOps practices, yet you have a sinking feeling that it’s not working the way everyone hoped it would. You’re wondering if it’s because you work for a very large organization and all this talk about small, cross-functional teams seems to conflict with your organizational charts. Your IT department is organized around functional disciplines such as the PMO, business analysis, Test Center of Excellence, and DevOps engineering. Do we need to blow up these structures in order to have successful agile...
Use the Cloud to Enable Continuous Delivery
As your organization embraces DevOps practices, you may run into bottlenecks trying to find the infrastructure needed to support automated unit tests, load tests, UI tests, CI builds, automated deployments, and other parts of a continuous delivery pipeline. Esteban Garcia shares ways to use the cloud to remove these obstacles and help your team focus on delivering software. Using Microsoft's Azure infrastructure as an example, Esteban shows how you can quickly create a test environment with a web application and a database, and then use those resources to support...
Agile Metrics: Make Better Decisions with Data
Some consider measurement in agile development destructive—or at the very least useless. Larry Maccherone disagrees and offers insight into how you can use metrics in an agile environment to make life better. How do you know when you are ready to introduce metrics into the environment? What are the sources for these metrics? What tools and techniques are necessary to make decisions probabilistically? What are the mindset shifts necessary for metrics to help you making better decisions? How do teams and organizations avoid the anti-patterns that so often derail a...
Friday, November 18
Games for Learning about Conflict Resolution
Scaling agile across the enterprise can create challenging organizational conflicts as groups accustomed to working in their own silos struggle to collaborate effectively and identify their shared interests. Join Ellen Grove to learn useful models for considering conflict supported by games teams can use to develop and practice conflict resolution skills. The models address underlying drivers of conflict, modes for responding to conflict, ways to assess conflict severity to determine appropriate interventions, and patterns of principled negotiation. The games...