agile

Conference Presentations

Agile in the Non-Agile Enterprise: Hurdling Obstacles

Agile is entering the mainstream as a software development practice and leading wider organizational change in many companies. However, in large organizations, it's not practical just to "flip a switch" and have your entire software department "go agile" all at once. In that situation, agile and non-agile teams must work together during the transition. Agile teams must continue to interface with their company's business processes, while management must streamline traditional processes and activities. Agile teams face many obstacles in their quest for cooperative development--resistance to change; differing culture and value systems; changes to measurement, evaluation, and reward systems; and new contracting terms. Join Michele Sliger as she explains how to clear these and other common hurdles facing agile teams working in a traditional organization.

Michele Sliger, Sliger Consulting, Inc.
Flow, Pull, Innovate: The Secrets to Agile Adoption

Jean Tabaka provides straightforward guidance on how teams can begin their agile journey and learn to mature and scale into more and more discipline. The five-step approach emphasizes a path based on the principles of Lean Thinking-Flow, Pull, and Innovate. Each of the five steps outlines specific practices for growth as well as pitfalls and roadblocks to navigate and avoid. Step 1: The team learns to work in a continuous flow. Step 2: The team matures by pulling ready items from the backlog. Step 3: A group of teams adopts and scales up the individual team practices. Step 4: The scaling continues to cover multiple projects. Step 5: The practices are adopted throughout the entire organization. You can apply the disciplines discussed in this class to a single co-located team, a team of teams, or an entire organization eager to take advantage of both agile and lean approaches.

Jean Tabaka, Rally Software Development
Attacking Waste in Software: Three Practices We Must Embrace Now

One of the seven principles of Lean Thinking is "eliminate waste." Eliminating waste means minimizing the cost of the resources we use to deliver software to our stakeholders. Jean Tabaka proposes three pivotal practices that we must embrace to aggressively attack waste in software delivery—Software as a Service (SaaS), Community, and Fast Feature Throughput. SaaS eliminates waste by deploying software-based services without the cost inherent in traditional software delivery—materials, shipping, time delay, and more. Community involves stakeholders working together to create products rather than competing among themselves for limited resources. Community eliminates waste by democratizing software development to obviate the need for multiple systems with the same functionality. Fast Feature Throughput refers to development methods that embrace change and quickly deliver value to customers.

Jean Tabaka, Rally Software Development
The Good, the Better, and the Rather Puzzling: The Agile Experience at Five Companies

Strategic software development is happening every day-and failures continue to plague us. Unquestionably, a major paradigm shift is underway with the movement to agile methods. But are they really working? With results drawn from industry statistics, Michael Mah answers vital questions about the effectiveness of agile methodologies-XP, Scrum, TDD, pair programming, etc. One discovery underway is that agile methods could be turning the "law of software physics" upside down. For decades, there have been predictable relationships among schedule pressure, staff ramp-up, and bug rates; now, industry data tells us that all this could be changing with agile. Join Michael Mah for a revealing discussion of productivity findings at five-all ostensibly agile-companies, and how they produced a range of results for time-to-market, productivity, and quality.

Michael Mah, QSM Associates, Inc.
Agile and the Seven Deadly Sins of Project Management

Agile approaches to software development promise many advantages: shorter schedules, more productive teams, products that better meet customer expectations, higher quality, and more. In this talk, Mike will explain how agile teams achieve these goals by avoiding the seven deadly sins of project management. Covered will be sins such as gluttony, sloth, lust, opaqueness, and more. Giving in to one of these temptations can result in a failed or cancelled project. Along the way you'll be introduced to key aspects of agile development and hear stories of agile success and failure.

Mike Cohn, Mountain Goat Software
Perils and Pitfalls of the New Agile Tester

If your background is testing on traditional projects, you are used to receiving something called "requirements" to develop test cases--and sometime later receiving an operational system to test. In an agile project, you are expected to continually test changing code based on requirements that are being uncovered in almost real time. Many perils and pitfalls await testers new to agile development. For example, as a tester new to agile, you might think, "I'll test the latest 'stories' on Tuesday when I get my next build." And you would be WRONG! Waiting for a new build will almost always put you at least one iteration behind the developers and in a schedule hole from which you cannot recover. To avoid this trap, you must start testing as soon as the developer has completed a feature story, even before coding begins.

Janet Gregory, DragonFire Inc.
Agile Testing: Traditional Testing Meets Agile Development

Agile development methodologies are taking center stage in many software organizations today. Testing in a highly iterative environment adds great opportunities for success but it also brings challenges. Dietmar Strasser explains how to successfully transform testing from a traditional process to a highly iterative approach that aligns testing efforts around requirements while fostering communication and collaboration among all team members in a distributed development environment. Dietmar describes how to move to an iterative, SCRUM-based development approach and, at the same time, align testing activities around it while dealing with an ever-evolving set of processes and technologies. Lessons learned, tips, and tricks will be shared based on Borland’s experiences moving to an iterative approach.

Dietmar Strasser, Borland Software
The Ten Principles of an Agile Tester

On an agile team, everyone is a tester-anyone can and often does take on testing tasks. If that’s true, then what is special about being an agile tester? If I'm a tester on an agile team, what does that really mean? Do agile testers need different skill sets than testers on traditional teams? What guides agile testers in their daily activities? An agile tester embraces change, collaborates well with both technical and business people, and understands the concept of using tests to document requirements and help drive development. Agile testers have good technical skills, know how to collaborate with others to automate tests, and are experienced exploratory testers. How do they get that way? Skills are important, but mindset and attitude count even more.

Lisa Crispin, ePlan Services, Inc.
Testing Lessons Learned from Extreme Programmers

One of the things testers often notice about Extreme Programming (XP) is that there is no defined role for testers on the team. Yet XP teams describe themselves as "test infected." They practice Test-Driven Development (TDD), writing executable unit tests before writing the code to be tested. Many teams practice Acceptance Test-Driven Development (ATDD), writing executable acceptance tests before implementing a feature. They use continuous integration to give them rapid feedback about the effects of changes. They practice pair programming, a technique that results in all code being peer reviewed before it's checked in. In short, XP teams test continuously from the very first moment of any given project. You could even call them "test obsessed." That obsession helps explain why Elisabeth Hendrickson, author of Test Obsessed, likes XP teams so much.

Elisabeth Hendrickson, Quality Tree Software, Inc.
Executable Documentation

Why is so much project documentation outdated and worthless? Simply put, the real value is in the final product; so, that’s where the money goes. Wouldn't it be nice if your documentation actually reflected the functionality in the system? One way to do this is to create executable documentation, also known as executable specifications. Join David Hussman for this class if you are struggling with ambiguous requirements, lack of collaboration with users, or a lack of communication among developers, business stakeholders, and testers. Although David uses open source Fit as a vehicle for demonstrating executable documentation, the class will teach you how to develop the information you need to make any similar tool serve up meaningful requirements that have two states--red (dead) or green (alive). Starting down the path to executable documentation is a great way to remove waste and more quickly produce better software.

David Hussman, DevJam

Pages

CMCrossroads is a TechWell community.

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