Conference Presentations

Lean Thinking: How Lean Bakes Quality In

The Lean movement, instituted in the 1950s with Toyota's redefinition of automobile production, has knocked the manufacturing world on its ear. At the core of the Lean movement is the notion of eliminating waste as the key to creating added value. What is not well understood is the role that quality plays in defining many of the core Lean Thinking practices. Practices such as Stop the Line, Zero Defects, and Reduced Inventory all focus teams on quality. These practices not only increase quality but also are the scaffolding for a continuous flow of customer value. Jean Tabaka explores the basics of Lean Thinking and how it relates to software development-how customer value drives product quality, how product quality can drive software development practices, and how software teams create value and deliver quality by attacking the seven wastes in software development.

Jean Tabaka, Rally Software Development Corporation
Agile Release Planning: When "You'll Get it When You'll Get It" Won't Sell

When some people hear the words "agile planning," they think it is an oxymoron. While more knowledgeable people think of agile planning as getting ready for one iteration of development, there is more to agile product planning than a single iteration. Although agile teams like to focus on one iteration at a time, what do we say when executive management asks questions like "What will this product actually do?" or “When will it be ready for the customer?" or "How much will it cost?" When the answer "You'll get it when you get it" just won't sell, you must perform high-level release planning to address these important questions. Stacia Broderick describes an agile release planning framework under which agile development can be effective. Stacia takes you through the complete process she recommends for release planning and explains, most importantly, why and how the agile release plan can and must remain just that-agile.

Stacia Broderick, Agile Evolution, Inc.
Avoiding Software Failures Using TSP/PSP and Six Sigma Methods

Today, the competitive marketplace demands the best of everything-the highest quality, lowest costs, and shortest possible schedule. The Team Software Process (TSP) and the Personal Software Process (PSP) shift the focus away from testing and verifying at the back-end to encouraging each engineer and the team as a whole to prevent defects throughout the project lifecycle. Incorporating Six Sigma quality practices with TSP/PSP can improve the quality-cost-schedule relationship even more. Mukesh Jain shares his experiences in implementing TSP/PSP and Six Sigma at Microsoft. He offers examples of how their teams have obtained a better work-life balance while still delivering very high quality products (67% totally defect free), on schedule (94% on time), and within budget. Mukesh highlights some common pitfalls to avoid when using TSP/PSP and Six Sigma.

Mukesh Jain, Microsoft
Balancing Agility with Discipline: The Citigroup Process

Agile practitioners are aware of the business benefits that can be derived from faster and more effective software delivery. At the same time, companies in many industries are facing increasing regulatory compliance issues. What do you do when you want to apply agile software development methodologies in an audited, validated industry? How do you get regulators, who want your software to work right and who have the force of the law behind them, to believe that it's all going to be OK using agile development? Eugene Levin describes the motivation for introducing an agile methodology framework to complement Citigroup's waterfall SDLC process, the challenges related to using a light-weight agile methodology in a regulated industry, the experience of defining Citigroup's Disciplined Agility process, and the lessons learned in piloting the company-wide adoption of agile development.

Eugene Levin, Citigroup
Better Requirements through Graphical UML Models

The primary reason that projects deliver significantly less value than customers expect-or fail outright-is incomplete, ambiguous, or poorly understood requirements. Because text-based requirements have been the norm, perhaps they are a part of the problem. Text-based requirements documents have difficulty expressing the needs, desires, and constraints of stakeholders because they use words that, by nature, can have multiple meanings and interpretations. Tom Bullinger suggests that there is a better option for documenting and communicating requirements: a graphical model employing Unified Modeling Language (UML) constructs-activity diagrams, sequence diagrams, and static relationship diagrams-that provide a richer and more expressive language. Join Tom to learn the basics of graphical UML models and see for yourself how visual models can express requirements in a more precise and understandable format.

Thomas Bullinger, Isotope28
When Others Aren't As Agile As You Are

As agile software development methodologies take hold in the mainstream, organizations are finding that working with outside consultants poses a new set of challenges. In some instances, consulting organizations are able to work within an agile framework quite well. But in other situations, working with a consulting company can be more challenging than the project itself. Connecting outside consultants to your inside processes must be done. Consultants who are interested in, but not experienced with, agile will need an introduction and coaching. Consultants who aren't interested in changing their methodologies will need adaptive processes to match their approach with yours. Alicia Yanik describes how to work with vendors already under contract as well as how to contract with future vendors.

  • Adopting an agile methodology after project inception
  • Aligning consultant relationships with agile principles
Alicia Yanik, eBags
Patterns for Improved Customer Interaction

With the emphasis on in-depth customer interaction during development, team members are being asked to take an active role in working with customers. This evolving role poses a big challenge for many who, in the past, rarely met "real" customers. Linda Rising presents patterns she has used successfully to help software professionals in their direct, face-to-face interactions with customers. These patterns describe solutions to common problems that occur again and again dealing with customers and users. The patterns Linda discusses have memorable names such as It's A Relationship-Not A Sale, Be Responsive, Show Personal Integrity, Build Trust, and Take Your Licks. Pattern names build a vocabulary that allows you and your development team to have meaningful conversations about-and to ultimately improve-customer relationships and the software you deliver.

Linda Rising, Independent Consultant
The Agile-Traditional Development Cooperative

In large organizations, it is simply not practical to just "flip a switch" and have your development department start doing full-on agile all at once. Newer agile teams and more traditional or waterfall teams find themselves having to work together during a long transition period or even permanently. Whether your agile-traditional project is dealing with waterfall-up-front (a project approval process), waterfall-at-end (separate system testing), or waterfall-in-tandem (products so complex that multiple teams work together to complete a release), Michele Sliger presents techniques she has used to make coexisting less painful and more productive. Find out the specific points in the project where agile and traditional teams must plan their work together. Learn the special techniques you can use to coordinate ongoing efforts of all participants and ways to review and understand each other's work patterns and artifacts.

Michele Sliger, Sliger Consulting
What Snake Oil Is Your Organization Buying Today?

As always, the snake oil bandwagons are circling your organization. But unlike snake oil, a purported health supplement of old, modern organizations bet their success on technologies with often equally dubious claims. Did your organization jump on the CORBA bandwagon? It's now dead. How about outsourcing? Have you discovered all the hidden costs and quality problems yet? Perhaps you were mesmerized by Extreme Programming-a fading religion that once had many believers but few actual practitioners. There are many other software religions with many practitioners but few real believers. Do you use sound business judgment in choosing your technologies and methodologies? Or do you choose it because you heard an impassioned presentation by a noted expert? Ungrounded choices based on testimonials place us squarely back in the days when snake oil salesmen crisscrossed the land.

James Coplien, Nordija A/S
Using Lean Thinking to Align People, Process, and Practices

The operational structure of many organizations fails to support their software development teams. Continuously creating and reforming teams, isolating development from the organization, lack of participation by customers, and rapid task switching cause huge amounts of waste in development. Although agile development practices have made great strides in the last ten years, they have largely ignored the issue of the structure of the organization. "Lean Thinking" is the shorthand phrase for the paradigm, thought processes, and principles that Toyota follows in producing high quality cars at low cost-with a faster development cycle than their competitors. Software development is not exactly like manufacturing, but the principles of Lean Thinking-optimizing the whole, eliminating waste, and respecting people-apply equally well to software development.

Alan Shalloway, Net Objectives

Pages

AgileConnection is a TechWell community.

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