DevOps

Conference Presentations

A Big Helping of DevOps with Career Advice on the Side
Slideshow

For decades-with the exception of agile-dev followers-the IT community has continued to build and protect its departmental silos. Project management, business analysis, development, testing, DB administration, and operations are just a few of the specializations that are carved out and institutionalized. Agile practices seek to eliminate the walls and empower people to deliver the highest value to the business. DevOps is the latest effort in this direction-bringing developers, testers, and operations together to replace their silos with a continuous collaboration pipeline. Paul Peissner introduces DevOps and explains how it is a key to transitioning from continuous integration (creating the finished software product immediately) to continuous delivery (making the product immediately available to users) and adding tremendous new business value.

Paul Peissner, CollabNet
Massive Continuous Integration and Light-speed Iterations
Slideshow

Continuous integration (CI) has become a buzzword, with most engineering organizations claiming they've adopted the practice. However, the sad truth is that unreliable tests, long feedback loops, and poor configuration management block their efforts and minimize CI's potential benefits. Jesse Dowdle shares how AtTask radically redesigned its engineering pipeline and, through massive CI scaling, drove three days of testing to just minutes. Learn the pros and cons of different CI systems and how to integrate them with the cloud. Watch a live demo of AtTask's internal test and CI systems, which they’ve designed to make "Every commit a potential release candidate"-meaning that every commit is an iteration. Arm yourself with the talking points to sell massive CI to executives.

Jesse Dowdle, AtTask, Inc.
Creating Great User Experiences: Tips and Techniques
Slideshow

Many software people look at creating great user experiences as a black art, something to guess at and hope for the best. It doesn't have to be that way! Jennifer Fraser explores the key ingredients for great user experience (UX) designs and shares the techniques she employs early-and often-during development. Find out how Jennifer fosters communications with users and devs, and works pro-actively to ensure true collaboration among UX designers and the rest of the team. Whether your team employs a formal agile methodology or not, Jennifer asserts that you need an iterative and incremental approach for creating great UX experiences. She shares her toolkit of communication techniques-blue-sky brainstorming sessions, structured conversation, and more-to use with different personality types and describes which types may approach decisions objectively versus empathetically.

Jennifer Fraser, Macadamian
Back to the Basics: Principles for Constructing Quality Software
Slideshow

Using an analogy to the building codes followed by architects and contractors in the construction of buildings, Rick Spiewak explores the fundamental principles for developing and delivering high quality, mission-critical systems. Just as buildings are constructed using different materials and techniques, we use a variety of languages, methodologies, and tools to develop software. Although there is no formal "building code" for software, software projects should consider-and judiciously apply-the recognized "best" practices of static analysis, automated unit testing, code re-use, and peer reviews. Rick takes you on a deep dive into each of these techniques where you'll learn about their advantages, disadvantages, costs, challenges, and more.

Rick Spiewak, The MITRE Corporation
STARWEST 2012: Testing in the DevOps World of Continuous Delivery

DevOps is an increasingly popular development approach focused on ensuring that delivered code is immediately stable and works as expected. DevOps team members must be multi-skilled and are expected to perform all the activities of development, testing, and SysAdmin tasks. Manoj Narayanan shares how to implement testing using DevOps tenets and how it differs from its more popular cousin, agile development. To work productively with developers and SysAdmins, testers must develop knowledge of development and design principles, programming languages, and continuous integration. Manoj explores the critical role that functional and regression test automation plays in enabling testing organizations to be more productive. Manoj concludes with an analysis of the cultural impact DevOps has on the testing organization and its interaction with other critical stakeholders-business, developers, operations, and customers.

Manoj Narayanan, Cognizant Technology Solutions
Lessons from a DevOps Journey

In large financial institutions, treasury departments-specialized teams of traders and experts in liquidity, risk, accounting, financial forecasting, and quantitative analysis-manage the organization’s wealth and financial risk. These departments require large, complex, third-party software products that must change often to support the treasury’s complicated business processes. Matt Callanan describes how a team of developers and operations staff-the DevOps team-applied agile principles to the “last mile” and reduced software deployment from one week to one day. He discusses how their DevOps team collaborated to develop automation solutions to support ongoing deployment activities and solve many issues in the operational environment.

Matt Callanan, Independent
Is Open Source Too Open? Tips for Implementing a Governance Program

By next year, 90 percent of large enterprises will include open-source software as business critical elements of their IT portfolios. However, most software development organizations have limited capability to govern the process of selecting, managing, and distributing open-source components-leaving them exposed to unforeseen technical and compliance risks. Larry Roshfeld examines how open-source components-and their dependencies-may expose your company to unforeseen and unnecessary vulnerabilities. He outlines the significant threats to software quality, stability, performance, security, and intellectual property that have occurred using such components. Then, Larry shares an action plan for balancing the risk/reward trade-offs of open-source software in the enterprise. Find out how to ensure that your organization uses only the highest quality open-source components and avoids the common vulnerabilities.

Larry Roshfeld, Sonatype
Better Software Conference West 2012: Writing High Quality Code

Quality in delivered software is very different from quality in physical goods. You can see it or touch it, except in the code. When classes and methods are cohesive, non-redundant, well-encapsulated, assertive, and explicitly coupled, they are less prone to developer mistakes and far easier to debug, test, and maintain. David Bernstein asserts that paying attention to code quality helps developers focus every day on the key principles, patterns, and practices expert developers use. Even more, if you don’t pay attention to critical code quality attributes, iterative development practices can quickly degrade code into a maintenance nightmare. Join David and your peers to take a deep dive into the code quality attributes that make software more maintainable and less bug friendly. Learn to create software that provides value now and, in addition, is easy to change and extend so it can continue to deliver value far into the future.

David Bernstein, To Be Agile
Application Lifecycle Management Imperatives

Ever growing software development needs and faster delivery cycles coupled with flat or shrinking IT budgets have brought many organizations to new agile and lean practices. Together, these disruptions are causing a sea of change in the application lifecycle management (ALM) landscape. Although management tools aren’t an explicit focus for most development teams, choosing the right tools for enterprise development is an important factor in keeping everyone productive. Monica Luke discusses the five key imperatives for ALM implementations: in-context collaboration, accelerating time to delivery with real-time planning, improving quality with lifecycle traceability, refining predictability with development intelligence, and reducing costs through continuous improvement. For each imperative, Monica offers concrete examples and lessons learned from real-world implementations. Don’t get lost in the weeds with an ALM tool.

Monica Luke, IBM Rational Software
Agile Development Conference & Better Software Conference West 2012: Avoiding Overdesign and Underdesign

The question of how much design to do up-front on a project is an engaging conundrum. Too much design often results in excess complexity and wasted effort. Too little design results in a poor architecture or insufficient system structures which require expensive rework and hurt more in the long run. How can we know the right balance of upfront design work versus emerging design approaches? Alan Shalloway shows how to use design patterns-coupled with the attitude from agile of “don’t build what you don’t need”-to guide your design efforts. The trick is to identify potential design alternatives, analyze how each may affect the system in the future, and then find the simplest approach for isolating those potential affects.

Alan Shalloway, Net Objectives

Pages

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.