Home About Software Quality Engineering Sponsorship Opportunities Contact Us SQE.com
StarWest 2008
 
Register Now
 
 

Agile Development Practices 2008

Pre-conference Tutorials

 
Go To:   Monday  |  Tuesday  

Tutorials for Monday, November 10 —  8:30 a.m. — 4:30 p.m.
MA  
The Zen of Agile Management 
David Anderson, Modus Cooperandi, Inc.
What is the essence of agile management? Empowerment, delegation, trust, continuous improvement—and a consistent focus on the leverage points to get the maximum advantage from agile—all with a light touch. Learn the Zen of agile management from David Anderson as he shares the techniques he’s honed managing teams at Motorola and Sprint. While working as Senior Director of Software Engineering at Corbis, David pioneered the introduction of Theory of Constraints and Lean ideas, such as kanban, to consistently deliver value to customers. You’ll explore ways to manage with queues using kanban boards, identify and eliminate bottlenecks, and reduce variability using cumulative flow diagrams. Learn about additional metrics, measures, and indicators you can deliver to line, middle, and upper management to keep them informed and onboard with the project. Take back the keys for building a kaizen culture of continuous improvement and ways to institutionalize enterprise-scale agile change in your development team and organization.  
Learn more about David Anderson  

MB  
Principles and Practices of Lean-Agile Development
Alan Shalloway, Net Objectives
As the popularity of agile development spreads, more and more companies are discovering that simply breaking down projects into small iterations is not sufficient. Agile methods require changes in management, analysis, architecture, design, testing, and quality assurance, as well as project management. Given the substantial adjustments required, where can a team or enterprise look for guidance in its transition? Learning the required skill sets individually is fraught with problems—analysis, design, code, and test are not independent; they must be integrated. Join Alan Shalloway as he describes the landscape of skills that a development team needs to become effective agile developers. He discusses a set of principles and practices that integrate the guidance provided by lean, agile methods, design patterns, and more. In particular, Alan details how agile analysis and design patterns support agile methods, and how core “lean” principles support all agile methods, including design and test-driven development.  
Learn more about Alan Shalloway  

MC  
Test-Driven Development
Rob Myers, Net Objectives
Test-Driven Development (TDD) is a powerful technique for combining software design, testing, and coding to increase reliability and productivity. Rob Myers demonstrates the basic and essential TDD techniques, including unit testing with the common xUnit family of open source development frameworks, refactoring code, and using mock/fake objects in development. Use exercises to practice the techniques. With many years of product development experience using TDD, Rob will address the questions that arise during your own relaxed exploration of the techniques.   

Laptop Required
Attendees should have strong programming skills and be familiar with an object-oriented language and programming techniques. Each delegate should bring a laptop installed with your favorite programming language and IDE—and come prepared to write code. Rob can provide JUnit for Java and NUnit for any .NET language. For any other language choice (e.g., C++ or Ruby), you will need to install (and verify) your chosen xUnit framework prior to the tutorial.
 
Learn more about Rob Myers  

MD  
Using Metrics in Agile Environments
Michael Mah, QSM Associates, Inc.
How do you compare the productivity and quality you achieve with agile practices versus traditional, more waterfall projects? Join Michael Mah to learn about both agile and waterfall metrics and how these metrics behave in the real projects. Learn how to use your own data to move from guesses on a project whiteboard to realistic agile project trends on productivity, time-to-market, and defect rates. Using recent, real-world case studies, Michael offers an inside look at agile measurements by showing you these metrics in action. In hands-on exercises, you will learn how to replicate these techniques to make your own comparisons for time, cost, and quality. Working in pairs, you will calculate productivity metrics using the templates Michael employs in his consulting practice. You can leverage these new metrics to make the case for changing to more agile practices at your company. Take back new ways for communicating to key decision makers the value of implementing agile development practices.  

Windows PC-Based Laptop Required
To take full advantage of this session, participants should bring a laptop computer for metrics capture and productivity calculations.
 
Learn more about Michael Mah  

ME  
Agile Requirements Interactive
Ken Pugh, Net Objectives
All projects, whether agile or traditional, need requirements. Ken Pugh explores the differences between agile and traditional requirements by interactively creating a set of agile-style requirements. These requirements are developed through progressive elaboration—rather than the big-bang, big-document approach. Ken first examines with you how stakeholders and requirements gatherers interact and communicate in an agile environment. Students will create a charter for a project that defines the overall scope and participate in a story-gathering workshop to create an initial set of stories. Learn when and how to revise stories by chunking and de-chunking to ensure that the requirements fulfill the characteristics of good stories. Explore user roles, personas, and narratives to determine additional stories. Practice prioritizing the requirements and estimating their business value to help in that prioritization. At the end of the session, students will begin constructing use cases and acceptance tests to add details to the requirements.  
Learn more about Ken Pugh  

MF  
Testing on Agile Projects  SOLD OUT
Antony Marcano, testingReflections.com
Rachel Davies, Agile Experience
Testing plays a major role for everyone on an agile development team—analysts, developers, testers, and product owners. Testing touches every facet of the process, helping the team understand requirements and scope with acceptance tests, guiding design with test-driven development, and providing feedback about the software with exploratory and automated testing. Unfortunately, agile team members often have limited access to training and documentation to help them take advantage of all that testing can bring to the team. Antony Marcano and Rachel Davies, who share a passion for agile development and testing, deliver a highly engaging and interactive session exploring the roles of testing on agile projects. Learn to use automated acceptance tests that drive development. Use feedback from testing to evolve the software and determine when the software is ready for release—and practice providing this feedback in the most constructive way. Develop your understanding of how exploratory testing fits in the picture. Leave with new skills to share with your team.   
Learn more about Antony Marcano
Learn more about Rachel Davies
 

Tutorials for Monday, November 10 —  8:30 a.m. — 12:00 p.m.
MG  
Experiencing Agility from Requirements to Planning 
Mike Cohn, Mountain Goat Software
During this highly interactive session, you will experience an agile project from inception through its first iteration. Put theory into action working in small groups to create interesting case studies with product backlogs. Start by writing the high-level epic user stories that might be used to gain funding for a real-life project. Because no project proposal is likely to be accepted without a schedule, you’ll learn how to estimate with story points and then forecast the team’s velocity. You’ll use these techniques on your product backlog to establish a baseline release plan for your project. Knowing it is important to work in priority order when a project begins, you’ll learn the four essential factors to consider when prioritizing feature delivery. Practice using these factors to divide epic user stories into smaller user stories more suitable for the development team to produce during iterations.  
Learn more about Mike Cohn  

MH  
The Beginner's Mind: Keeping Your Agile Adoption Fresh
David Hussman, DevJam
Jean Tabaka, Rally Software Development
Join David Hussman and Jean Tabaka in a journey that guides participants in how the best agile teams truly engage and adapt. By investigating the notion of “Beginner’s Mind” versus “Expert Mind” through interactive exercises, David and Jean invite you to embrace an agile adoption approach that keeps your mind in the present, open to new ideas, and always curious. They “open their agile kimono” by sharing experiences of teams that have successfully adopted Beginner’s Mind versus teams that unfortunately embraced Expert Mind. David and Jean challenge you about your team’s decision styles, agile practices, and notions of best practices—any of which can inadvertently invite the damaging blinders of Expert Mind. They invite discussion within small groups about how Expert Mind practices actually impede agile maturity and keep teams from gelling. Finally, they invite you to create and share a set of Beginner’s Mind practices with other participants in a quiet reflection of how to stay fresh. Bring your experiences and curiosity—and expect to be surprised!   
Learn more about David Hussman
Learn more about Jean Tabaka
 

MI  
Conducting Requirements-Driven Workshops for Agile Projects 
Ellen Gottesdiener, EBG Consulting
Learn the essential skills you need for planning and conducting a series of three agile workshops—Product Roadmap, Release Plan, and Iteration Requirements—for large or complex agile projects. Find out how to generate “just enough” requirements information at the right time and for the right stakeholders. Avoid the struggles some agile teams have grasping enough of the big picture to mitigate the myriad of problems that can arise—guessing which slice of the product to start with or build next, needing extensive rework due to undetected architectural dependencies, establishing a viable release strategy for business planning, and suffering from inadequate customer involvement. These three facilitated workshops help you combine “grokking” your product requirements with the benefits of a collaborative process that builds trust, mutual understanding, and accountability. Ellen Gottesdiener shares her toolkit of guidelines and practices—reinforced with practice sessions and group discussions—to improve the quality of your large agile product development efforts.  
Learn more about Ellen Gottesdiener  

MJ  
User Story Mapping: Getting the Big Picture 
Jeff Patton, Independent Consultant
Is your agile project buried under a mountain of user stories? As you add stories, does your vision of the product you are building grow hazier? As story count increases, do business stakeholders become more frustrated with priorities? Do you find it difficult to communicate the big picture about what the system does? User story mapping helps agile teams create a simple model that places user stories in the context of a complete system. With a story map in hand, you’ll be able to see the big picture—the breadth of functionality the product implements, the users it serves, and the activities in which they engage. Jeff Patton shows how to visually prioritize user stories and create realistic, incremental release plans. Learn the essentials of story mapping, story splitting, story thinning, and incremental planning. Discover the characteristics of a good user story and how those characteristics differ when you are writing stories for planning versus development. With a living story map, all stakeholders—management, developers, and end users—will, for the first time, see a complete view of the entire system before you build it.  
Learn more about Jeff Patton  

MK  
The Power of Retrospectives 
Linda Rising, Independent Consultant
One of the Agile Manifesto principles states, “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.” How can this best be done? Join Linda Rising to learn why project retrospectives are a critical part of your agile practices. By taking time to reflect, learn, and proactively decide what the team should do differently—in the next iteration, release, or project—teams discover what they’re doing well so that successful practices can continue and identify what should be done differently to improve performance. Retrospectives are not finger pointing or blaming sessions. Rather, they are highly positive and interactive sessions in which teams reflect on the past to become better in the future. Linda shares her experiences leading several types of retrospectives for dozens of projects—both small and large. Her lessons learned will help your project and team become a true learning organization.  
Learn more about Linda Rising  

ML  
Fostering Trust in Teams—A Leadership Practicum
Pollyanna Pixton, Accelinnova
In our business and personal lives, many of us know leaders who foster environments with incredible creativity, innovation, and ideas—while others try but fail. So, how do top leaders get it right? Going beyond the basics, Pollyanna Pixton explores ways that the best leaders create safety nets that allow people to take risks to discover and try new possibilities, fail early, and correct faster. Join Pollyanna to remove fear and engender trust to make your team and organization more creative and productive. They will spend less energy protecting themselves and the status quo and more energy creating and innovating. Pollyanna shares the tools you, as a leader, need to create open environments based on trust and to take the first step in collaboration across the enterprise. Learn how to do the right thing without breaking trust and find out when and how to acknowledge and reward trust within your team and organization.  
Learn more about Pollyanna Pixton  

Tutorials for Monday, November 10 —  1:00 p.m. — 5:30 p.m.
MM  
ADAPTing to Agile: A Guide to Transitioning  SOLD OUT
Mike Cohn, Mountain Goat Software
Transitioning to an agile development process is unlike most transitions development organizations make. Many transitions begin when a strong, visionary leader plants a stake in the ground and says, “Let’s take our organization there.” Other transitions start with a lone team thinking, “Who cares what management thinks, let’s do this.” The problem in transitioning to agile is that neither of these approaches alone is likely to lead to the long-term, sustainable change you want. Mike Cohn describes how you can iterate toward more agility by combining a senior-level “guiding coalition” with multiple “action teams.” Along the way, you will learn the acronym ADAPT to describe the five steps necessary for any successful agile transition: Awareness, Desire, Ability, Promote, and Transfer. Explore the true role of leaders and managers to guide self-organizing teams toward agility. Take back proven patterns for getting started—Start Small, Stealth Mode, Going All In, Public Displays of Agility, Impending Doom, and more. Leave knowing what you must—and must not—do to succeed with agile in your organization and team.  
Learn more about Mike Cohn  

MN  
Agile Product Planning: Building a Strong Backlog
David Hussman, DevJam
Although a strong product backlog is one key to sustained agility, this practice is less defined than other agile processes. Backlogs contain different work items—user stories, architectural spikes, investments in updating and maintaining development, and more. While it is clear that developers primarily code, it is often less clear who builds and grooms the backlog and how to best find a groove with this practice. David Hussman explores how to create, prioritize, maintain, and groom your product backlog. He covers the core topics of user stories and personas as well as backlog items that do not neatly fit in the user story mold. Find out what other agile communities have done to establish a customer cadence that balances product planning with the work necessary to feed iterative development. Learn how to sustain a strong, continuing product backlog that feeds the innovation and evolution of your systems.  
Learn more about David Hussman  

MO  
A Day in the Life of a User Story
Jean Tabaka, Rally Software Development
Jean Tabaka leads you through a series of simulations around the life of a user story. After setting the context within the Scrum methodology—explaining the roles and responsibilities in the care and feeding of user stories—the work and the fun begin! You will work in small teams applying what you have just learned about user stories. First, each team writes a set of user stories based on a Product Owner’s view of how several features benefit the project. After prioritizing the new stories, the team sizes each one using “Planning Poker” and then reprioritizes the stories. Next, the team determines the tasks and estimates the effort to convert their user stories into acceptance criteria. As a new agile group, each team will debrief its work to the class. Come, join in, and be part of the active learning in this exercise-driven, on-your-feet session.  
Learn more about Jean Tabaka  

MP  
Refactoring Your Wetware: Thinking about Thinking
Andy Hunt, The Pragmatic Programmers
Software development happens in your head—not in an editor, IDE, or design tool. We’re well educated on how to work with software and hardware, but what about wetware—our brains? Join Andy Hunt for a look at how the brain really works (hint: it’s a dual processor, shared bus design) and how to use the best tool for the job by learning to think differently about thinking. Andy looks at the importance of context and the role of expert intuition in software development. Learn to take advantage of pole-bridging and integration thinking. Compare different laterally-specialized functions, including synthesis vs. analysis and sequential processing vs. pattern-matching. Discover the one simple habit that separates the genius from the “wanna-be.” Andy helps you discover how to learn more deliberately by managing your knowledge portfolio. Explore practical learning techniques, including mind maps, reading techniques, and situational feedback, that help you to cope with the torrent of new information that assaults each of us.  
Learn more about Andy Hunt  

MQ  
Mixing Roles in Scrum: The Good, The Bad, and The Ugly
Mitch Lacey, Mitch Lacey & Associates, Inc.
When is mixing roles on a Scrum team an acceptable solution on a project? On the surface, it seems innocent enough. Capable people should be able to switch roles among team members, ScrumMaster, and product owner. Why is it that this approach often ends in disaster for the team, the project, and the customer? What are the impacts of mixing roles on projects? What are some early warning signs that tell you that your role mixture is destined for failure? Mitch Lacey takes you through examples of three projects in which the teams mixed roles—one turned out good (OK, well), one was bad, and one was ugly. Through small group discussions, you will explore Scrum roles in great detail to identify the actions each team took that led to three dramatically different outcomes. Leave this session with a deep and clear understanding of Scrum roles and how they counterbalance each other. Ensure your team remains balanced—and productive.  
Learn more about Mitch Lacey  

MR  
Designing Examples: Story Tests for Story Success
J. B. Rainsberger, Independent Consultant
Poorly written stories are a common source of friction for agile teams, and the outcomes are dire. Such stories lead to inaccurate estimates, resulting in broken commitments, and in the worst cases to a death march. Well-designed story examples—also called acceptance tests or story tests—hold the key to effectively delivering features to customers. Teams struggling to design good examples end up dumping the responsibility for examples on the wrong people or worse, reverting to confusing and wasteful, formal specification documents. If you are having trouble designing story examples, J. B. Rainsberger can help. You’ll learn how to combine familiar software design principles with specific domain expertise to produce excellent story examples. This session is for team members with any job description—programmers, designers, architects, business analysts, subject matter experts, domain experts, product owners, product managers—and for anyone who wants to deliver the right software the first time.  
Learn more about J. B. Rainsberger  

Top of Page
 
Send us Your Feedback
Software Quality Engineering  •  330 Corporate Way, Suite 300  •  Orange Park, FL 32073
Phone: 904.278.0524  •  Toll-free: 888.268.8770  •  Fax: 904.278.4380  •  Email: sqeinfo@sqe.com
© 2008 Software Quality Engineering, All rights reserved.