agile

Conference Presentations

Flow, Pull, Innovate: How Agile Teams Mature and Scale

Jean Tabaka offers straightforward advice on how agile teams can mature and learn to scale up to larger and larger projects. The three steps of her approach emphasize a path based on principles of Lean Thinking--Flow, Pull, and Innovate. Flow is about creating smooth delivery of value. Pull is the way teams pull ready items for delivery, and the business pulls ready, tested, and valuable features into productive use. Innovate is about how the organization drives improvements rather than merely responding to issues. For each of the three steps, Jean outlines practices for growth and identifies pitfalls to avoid and roadblocks to navigate around. 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. Join Jean and learn to achieve the greatest innovations with a much lower risk of failure.

Jean Tabaka, Rally Software Development
Agile Development with Dynamic Languages

Developer practices for traditional and agile Java development are well understood and documented. But dynamic languages--Groovy, Ruby, and others--change the ground rules. Many of the common practices, refactoring techniques, and design patterns we have been taught either no longer apply or should be applied differently. In addition, some new techniques can come into play to improve your development. Join Paul King as he discusses and demonstrates new and modified techniques for agile development with dynamic languages, including closure refactoring, better ways to implement the delegation pattern, rules for creating domain specific languages (DSLs), and the pros and cons of static and dynamic typing. Paul further explains the impact of dynamic programming on dependency injection, immutability, aspects, mocking approaches, and interface-oriented design.

Paul King, Asert
Leading Agile Projects: Finding Your Groove

There are many books about agile, but most fail as a guide for navigating the beginnings of an agile project. Whether you are preparing for your first agile project or taking the lead for the first time, David Hussman provides a guided tour of an agile project's start-up filled with practical advice and a pile of anecdotes. David begins by walking you through a collection of preparatory techniques which foster a strong start-assessments, project chartering, setting up a lab, iteration 0, and creating a product backlog. From there, he moves into helpful coaching practices to feed an agile project and keep it going strong-fostering discussions, facilitating retrospectives, social radiators, developer manifestos, talking in tests, and more. These techniques will help you successfully lead and guide your newly forming agile community and get the project off to a good start.

David Hussman, DevJam
Maximizing ROI with Agile Release Planning

You're agile ... great! Now what? What does this mean for the organization's bottom line profits? Actually, it means a lot. You can use your agility to dramatically increase the value of your project to its stakeholders. Join agilist James Shore for an in-depth discussion of when, why, and how to use agile release planning to improve the functional and economic success of your project. Learn how agile release planning can turn a losing project into a winner in mid-stream. James describes five specific ways to use agile release planning to increase ROI on your project--work on one project at a time, release early/release often, learn as you go, plan adaptively, and keep your options open. James explains when to use these techniques and how to avoid the pitfalls of each.

James Shore, Titanium IT LLC
Gradual Agile: From Here to There Gently

Agile practices are popular today because they are working so well for many projects and organizations. However, introducing new, agile practices--or any type of new practice--into an established organization can be difficult. One misstep during the introduction can set back change adoption for a long time. Jared Richardson explains why people tend to resist change and how you can side step that tendency. He describes a case study in which continuous integration was successfully introduced to a very large, established software company. Highlighting the principles he extracted from that success and other projects, Jared explains the eight practical steps that you can use to start or accelerate your plans to "go agile." Learn how to identify a pain point, solve a problem, make it easy, speak the language, and more. Begin your first--or next-step transitioning to agile practices with new confidence and tools.

Jared Richardson, Agile Artisans
The Gentle Art of Pair Programming

Based on their experiences as software developers and the pair programming practices they use at Oxygen Media, Wendy Friedlander and Oksana Udovitska describe the principles of pair programming, explain why it is a worthwhile practice, and show you how to get started. They share ways to take full advantage of pairing and how to cope with its challenges. For those new to pair programming, this class serves as a good introduction and includes concrete first steps for getting into a new way of programming. For those already working in a pairing environment, Wendy and Oksana include some novel viewpoints and interesting discussions on familiar topics. Additionally, everyone will benefit from the interactive and fun games for improving and enhancing communication skills. Being women in a male-dominated profession gives Wendy and Oksana unique perspectives and insights into pairing which they are eager to share.

Wendy Friedlander, Oxygen Media
Introduction to Agile for Traditional PMI Project Managers

You are a classically trained Project Management Institute (PMI) project manager. But now you've been assigned to manage an agile project. What do you do? Stacia Broderick explains how to relate PMI best practices to their equivalents in the agile world. By relating the agile philosophy to things with which you are already familiar, you can quickly develop a shared lexicon and clear knowledge of agile principles. In addition to mapping PMBOK areas to agile practices, Stacia focuses on how the job of the traditional project manager is re-defined into a new-and often more important--role in the agile development process. Learn about the changes you must make to lead and support an agile team.

Stacia Broderick, Agile Evolution, Inc
Automating Builds: Bringing Quality and Testing Forward

Many software teams do not have continuous visibility into the ongoing quality of their software releases. Although agile practices emphasize the value of bringing testing forward in the development process, many teams lack the infrastructure required to make this a reality. Testers often depend on development or operations to produce, install, or deploy builds. Zach Nies discusses how build automation provides an effective platform to bring quality and testing earlier into the development process. Zach shows how automated deployments give testers many more opportunities to do meaningful testing during each release iteration. At the same time, testers will greatly enhance the quality feedback loop for the entire organization. During this class, participants will work through an exercise to provide insights into ways to improve their development process and infrastructure.

Zach Nies, Rally Software Development
The First Thing To Build: Trust on Agile Teams

Trust is the bedrock of self-organizing agile teams. Trust allows agile teams to communicate quickly and respond rapidly to changes as they emerge. Without sufficient trust, team members can waste effort and energy hoarding information, forming cliques, dodging blame, and covering their tracks. A climate of trust provides the foundation for effective team processes, adaptability, and high performance. How can we help this essential trust to emerge and shatter the deep-seated cycle of distrust in many organizations? By paying attention to membership, interactions, credibility, respect, and behaviors, team leaders can both stimulate and accelerate trustworthiness and the resulting trust that is essential among team members and between the team and its stakeholders.

Diana Larsen, FutureWorks Consulting
Balancing Emergent Design with Big Design Up Front

Big Design Up Front (BDUF) is a design technique that has been part of the development cycle for decades. Unfortunately, fully specifying a software design in the presence of change without a crystal ball is rarely effective. Agile principles and practices leverage feedback-oriented techniques such as emergent design to embrace change and design “just-in-time.” By balancing BDUF and agile emergent design practices such as test-driven development to avoid “cowboy coding,” we can develop just enough design documentation to guide our development toward the project’s big-picture goals. This balanced approach has been employed successfully at Microsoft to develop large software systems. James Waletzky discusses the pitfalls of BDUF and how agile methods help you reduce design risk. Learn what emergent design is and is not, how refactoring keeps designs clean, and ways to document your design with “just enough” detail.

James Waletzky, Microsoft Corporation

Pages

CMCrossroads is a TechWell community.

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