DevOps East 2017 - Development & Test Frameworks
Sunday, November 5
Agile Test Automation—ICAgile
Monday, November 6
Git and GitHub for Developers and Testers
Skill with Git and GitHub is now a common requirement for jobs because Git is entrenched in the majority of development and operations organizations. Git gives testers unprecedented visibility into the inner workings of software and configuration code. But Git's intricate commands can be confusing. GitHub collaboration and code review capabilities are revolutionary. New rules are needed to avoid frustration. In this hands-on tutorial, Wilson Mar presents material available nowhere else to clarify the structure of tools, repositories, and GUI programs used by the pros. The culmination of...
Service Virtualization for Faster Development and Testing
An agile development mantra—Test early and test continuously—is rapidly becoming the mantra for DevOps as the business demands frequent releases of compelling functionality. As testers, our efforts to “shift left” and support continuous integration with automated (and manual) tests are disrupted by a number of factors. Access to constrained system components is one of the greatest challenges. Research has found that an application under test interacts on average with more than fifty separate components—less than half of which are reliably available when testing. So, how can we ensure that...
Lean/Agile Data-Driven Decisions Demystified
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 allowing metrics to become a wedge that drives them into conflict. Larry covers the entire lifecycle of the metrics process—from metric selection to reporting data. Join Larry to gain an understanding of a wide range of concepts including common (101-level) metrics...
Docker Jumpstart: Concepts, Features, and Real-World Examples
Docker, a mechanism for low-overhead virtualization, is emerging as a key aspect of DevOps architecture. Interest in Docker—with its lightweight, portable, “build once, configure once, and run anywhere” containers—is growing. If you want to jumpstart your Docker skills, join Aater Suleman to gain first-hand knowledge to help your organization streamline workflows, speed up product releases, and reduce hardware investments. He discusses the basics of Docker: concepts, terminology, commands, must-know features, and real-world examples of Docker projects. Aater presents and demonstrates best...
Essential Patterns of Mature Agile Teams
PreviewMany teams have a relatively easy time adopting the tactical aspects of agile methodologies. Usually a few classes, some tools introduction, and a bit of practice lead teams toward a fairly efficient and effective agile adoption. However, these teams often get “stuck” and begin to regress or simply start going through the motions—neither maximizing their agile performance nor delivering as much value as they could. Borrowing from his experience and lean software development methods, Bob Galen examines essential patterns—the thinking models of mature agile teams—so you can model...
Get Started with Acceptance Test-Driven Development
PreviewDefining, 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 our difficulty 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. By decreasing re-work, ATDD has proven to dramatically...
Tuesday, November 7
The Architecture of Microservices
Sold Out!Microservices—one of the latest software architecture styles—promises to deliver benefits such as fast and easy deployment, ease of testing, fine-grained scalability, architectural modularity, and high overall agility. Unfortunately, these benefits are coupled with a lot of complexity. In this product-agnostic architecture tutorial, Mark Richards provides you with an understanding of the microservices architecture style and what hybrids and alternatives exist. This helps you make the right architecture and design decisions for your organization. Mark discusses the core concepts of the...
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 tool selection,...
Wednesday, November 8
Measure Anything: The Quality, Productivity, Predictability, and Engagement Model
Measuring software development is difficult. Measuring the return on investment (ROI) of complex initiatives (such as adopting agile) is even more difficult. One department at IBM struggled to reduce a list of 150 metrics down to a top twenty to use in consulting engagements. Through the years, nearly every one of Anthony Crain’s clients has asked him for help in proving that their teams were “getting better” at development. Nearly all of their measures were “adoption” measures showing how teams were doing agile. However, none of the metrics was focused on whether the development was...
Machine Data Is EVERYWHERE: Use It for Testing
As more applications are hosted on servers, they produce immense quantities of logging data. Quality engineers should verify that apps are producing log data that is existent, correct, consumable, and complete. Otherwise, apps in production are not easily monitored, have issues that are difficult to detect, and cannot be corrected quickly. Tom Chavez presents the four steps that quality engineers should include in every test plan for apps that produce log output or other machine data. First, test that the data is being created. Second, ensure that the entries are correctly formatted and...
Stop Intermittent Test Failures that Slow the Continuous Delivery Pipeline
Intermittent failures ruin the whole premise of continuous delivery (CD). In fact, they undermine any software QA process, since they break the fundamental assumption that if your test suite passes, you are good to deploy. Automated testing can run orders of magnitude more tests than manual testing but may result in an ever growing backlog of tests that fail intermittently for reasons that aren’t understood. Whether this is embarrassing, annoying, or scary depends on your sensitivity to risk. No matter the level of your pipeline’s sophistication, you need to reproduce the defect before you...
A Customer Value-Driven Model for the Agile Enterprise
Are you looking for ways to ensure your teams are always working on the highest customer value ideas? Do you want the ability to quickly adapt to microchanges in the market? Do you want end-to-end visibility of work across the enterprise from inception to delivery? If so, this session with Mario Moreira is for you. Discover how to operate in an agile manner at every level of your enterprise and gain the business benefits it can bring. Mario explores innovative concepts such as enterprise kanban, lean canvas, cost of delay, agile budgeting, discovery mindset, incremental thinking,...
Balance Discovery and Delivery with Dual-Track Agile
PreviewDo your product teams frequently struggle to have groomed and well-defined stories ready for the developers? Do you find yourselves frequently in “feed the beast” mode to keep your development teams busy? Do your product teams have problems gaining shared understanding across product management, interaction designers, developers, and QA? If so, your product teams manifest the symptoms of single-track agile—and this session is for you. Sean McKeever explains the key steps in establishing dual-track agile methodologies at your organization, presents his experiences, and provides...
Fail Smart, Not Just Fast: Use Failure Mode and Effects Analysis (FMEA)
PreviewYou’re a professional project manager or ScrumMaster. Your software development projects never fail because you follow all the best practices. Right? We all know better. Unfortunately, many projects fail, and they fail due to issues outside the team's control. The reality is that we need to reconsider what failure looks like and plan for it when it happens. Rob Keefer introduces a tool—Failure Mode and Effects Analysis (FMEA)—that has been used in engineering disciplines for many years and successfully applied to software development project management. FMEA shines a light on the...
They Said, We Said: Bridge the Communication Gap with Behavior-Driven Development
PreviewHave you heard that only 36 percent of business features built into software are actually used by end users? And why do we get functionality that fails to work as expected? One of the age-old problems between IT and our clients is that we don’t speak the same language. Sheetal Patel shares her experience of how behavior-driven development (BDD) introduces the bridge of common language that both IT and non-technical, business clients can speak to build the right product. Sheetal explains how collaborating on agile teams with BDD gains a common understanding among developers, testers...
Thursday, November 9
Fundamentals of Docker
Docker seems to be taking the IT world by storm. But why all the excitement about yet another virtual machine technology? Because Docker is much more. Korey Earl says that Docker solves many DevOps challenges including process isolation, build once-deploy anywhere, and automated scaling without the resource overhead that comes with virtual machines. Docker can improve resource utilization, infrastructure agility, and the transition from development to operations, allowing IT organizations to support the business rather than holding it back. Join Korey as he reviews the basics of the Docker...
DevSecOps Manifesto and Process Model for Secure Applications
The bad guys don't break in through the highly secure bank vault door; they attack the crumbly bricks and mortar of the vault walls. The same is true for application security. The vast majority of incidents don't target security features like encryption, authentication, and authorization. Rather, the target is vulnerabilities in the boring, non-secure parts of the code. In many organizations, the security function is still largely thrown-over-the-wall, but things are changing. Larry Maccherone believes we cannot prevent the vast majority of incidents with a bolt-on approach to security. We...
Task-Oriented Unit Testing for Agile and Traditional Projects
Developers are charged with developing software at lightning speed, often using new and unreliable technologies. Rob Sabourin shares a task-oriented method for organizing unit testing to help programmers and other team members get to consistently done working code, testing beyond the code. Rob approaches unit testing from the viewpoint of completing all the technical work required to fulfill a requirement, exercising the entire vertical technology stack and going beyond raw code. Programmers learn when and how unit test design can be implemented blending white box and black box techniques...
Microservices and Docker at Scale: The PB&J of Modern Systems
After predominantly being used in the build/test stage, Docker has matured and is expanding into production deployment. Similarly, microservices are expanding from greenfield web services to use throughout the enterprise as organizations explore ways to decompose their monolithic systems to support faster release cycles. Anders Wallgren says running microservices-based systems in a containerized environment makes a lot of sense—both for build and test, and from a runtime perspective in production. This makes Docker and microservices natural companions, forming the foundation for modern...
Automation Anti-Patterns: Deal with Them
PreviewAutomation is vital to modern testing. But if you listen to what testers complain about, problems with test automation is a recurring theme. We complain about how hard it is to add, run, or change tests. We grumble about how difficult it is to keep up with developers who keep breaking tests and bemoan the number of bugs missed by our automation. Dave Westerveld digs into some of these frustrations and shares real-life examples of automation anti-patterns. These include test bloat and some of the reasons for it, or what happens if we don't leverage automation in the right places....
Databases in a Continuous Integration/Delivery Process
PreviewDevOps is transforming software development with many organizations adopting lean development practices, implementing continuous integration (CI), and performing regular continuous deployment (CD) to their production environments. However, the database is largely ignored and often seen as a bottleneck in the DevOps process. Steve Jones discusses the challenges of database development and why many developers find the database to be an impediment to the CD process. Steve shares the techniques you can use to fit a database into the DevOps process. Learn how to store database code in a...
Design by Discovery to Stop Building Bad Software
Two common situations lead to bad software—the project team isn’t aligned on the problem or the customer isn’t involved in the design process. Either way, you end up with a product that the business didn’t ask for, the tech team struggles to deliver, and customers don’t want. So, how do you increase confidence in the direction of your product and work together to build innovative solutions that bring the business, technology, and customers together? Garren DiPasquale and Matt Wallens introduce, a process to understand business goals and customer needs. It isn’t about designing screens or...
Eliminate Cloud Waste with a Holistic DevOps Strategy
Chris Parlette maintains that renting infrastructure on demand is the most disruptive trend in IT in decades. In 2016, enterprises spent $23B on public cloud IaaS services. By 2020, that figure is expected to reach $65B. The public cloud is now used like a utility, and like any utility, there is waste. Who's responsible for optimizing the infrastructure and reducing wasted expenses? It’s DevOps. The excess expense, known as cloud waste, comprises several interrelated problems: services running when they don't need to be, improperly sized infrastructure, orphaned resources, and shadow IT....