development lifecycles

Conference Presentations

Ten Practices of High-Performance Teams

With all the hype about agile, lean, CMMI®, and every other method du jour, we sometimes forget that our real goal is high performance. High-performance software teams consistently deliver products that delight their customers, all while remaining on schedule, keeping with agreed-to functionality, and maintaining high quality. These teams are proud of what they produce and are continuously improving the way they work. Over the past decade, Noopur Davis has worked with many high-performance teams in both large and small organizations. She has discovered that high-performance teams share a number of key practices, regardless of the process they use. Noopur shares these effective practices, including self-direction, openness and transparency, simplicity of work practices, focused use of data, an uncompromising commitment to quality, and others.

Noopur Davis, Davis Systems
Virtual Retrospectives for Distributed Software Teams

Project retrospectives are challenging enough when the software development team and stakeholders are together in one location. What happens when the team members are spread across multiple locations, time zones, and continents? John Terzakis describes the key challenges of retrospectives for geographically dispersed software teams and provides solutions he has used to address each challenge. Beginning with a brief overview of the retrospective process, John introduces the concept of a “virtual retrospective” and offers techniques and tips for successfully facilitating them. He identifies cultural, geographical, and site-based issues and risks that can imperil virtual retrospectives and demonstrates collaboration tools to overcome distance barriers. Find out how to conduct retrospective exercises, including a valuable project timeline exercise, when participants are not co-located.

John Terzakis, Intel Corporation
Testing in Turbulent Projects

Turbulent weather such as tornados is characterized by chaotic, random, and often surprising and powerful pattern changes. Similarly, turbulent software projects are characterized by chaotic, seemingly random project changes that happen unexpectedly and with force. Dealing with turbulence is about dealing with change. Testing teams must contend with continuously changing project requirements, design, team members, business goals, technologies, and organizational structures. Test managers and leaders should not just react to change; instead, they need to learn how to read the warning signs of coming change and seek to discover the source of impending changes. Rob Sabourin shares his experiences organizing projects for testing in highly turbulent situations. Learn how to identify context drivers and establish active context listeners in your organization.

Robert Sabourin, AmiBug.com Inc
Better Software Conference & EXPO 2009: When to Step Up, When to Step Back

Leaders can stifle progress when they unnecessarily interfere with team processes. However, as a leader, you don't want your project to go over the cliff and fail miserably or deliver the wrong results either. There are times when leaders should stand back and let the team work things out for themselves-and other times when leaders should step up and really lead. How do you know which is which? Pollyanna Pixton focuses on collaboration as the key and teaches you how and when to step back and unleash the hidden talent in your organization and teams. Learn how to create an open environment that fosters innovation and creativity and how to let your team members take ownership and hold themselves accountable. Equally important, develop the techniques to step up and lead to keep the project on track without impeding the flow of ideas.

Pollyanna Pixton, Accelinnova
What Your QA Program Is Missing

Many software development organizations have a Quality Assurance (QA) component. Often, QA is just an impressive name for "we do some testing before rolling out our product." True QA encompasses an integrated process that guides software development from inception to delivery using approaches such as CMMI®, Six Sigma, and ISO. The software testing that occurs near the end of a software development process is a separate, standalone activity that assesses "fitness for use" before delivery. Dawn Haynes explains the differences between quality measures and software requirements with an interactive exercise. She discusses ways for you to evaluate and measure progress toward quality goals during development and explores ways to build management support and develop a skilled QA team. So, if you're not implementing a truly formal QA program, come see what you are missing.

Dawn Haynes, PerfTestPlus, Inc.
Table-Driven Requirements with the FIT Testing Tool

Eliciting and articulating customer requirements-clearly and precisely-is difficult to say the least. Inaccuracies often creep in when translating requirements from business ideas into software models. Working with many clients, Alan Shalloway found that creating a large number of tables with examples-however time consuming the tables are to create-adds to the clarity and precision of requirements. He found, too, that if you can use the same example table as tests, then the time is well spent. Alan presents table-driven requirements as an approach to defining both functional and test specifications. Examine business rules, user interface flows, user-observable states, and other forms of useful tables. Learn how to employ the Framework for Integrated Testing (FIT) to turn table-driven requirements into table-driven tests.

Ken Pugh, Net Objectives
Transitioning Your Software Process to Agile

Agile software development presents an appealing array of possibilities for building better software-customer focused development, high team communication, frequent releases of production-ready software, and early lifecycle testing. Unfortunately, many organizations who have attempted to develop software using agile methods have not been very successful at transitioning to an agile process. Often, the organization attempts to change too much of its software process too quickly. Jeffery Payne describes an approach to incrementally improve the agility of your organization's software process while continuing to achieve your software delivery goals. Jeffery describes high value agile management and agile development methods-including daily stand-ups, continuous integration, pair programming, and test-driven development-and then prioritizes these approaches by their impact on the organization.

Jeffery Payne, Coveros, Inc.
Weathering the Storm: Navigating Through Resource Constrained Waters

An economic storm is upon us, with rough waters, dark skies, and hard choices on the horizon. Have you taken action to prepare your projects for challenges when "business as usual" seems a likely recipe for disaster? Payson Hall identifies proactive steps for software project managers and sponsoring executives to prepare their projects and portfolios for increasingly resource constrained times. Learn what status information a project manager should have immediately available, what criteria portfolio managers can use to pare down their fleet of projects, how they can work together to prepare for further turbulence, and what you can do to sustain the productivity of your crew. Find out how risk profiles are likely to change, what new risks may emerge, and what you can do to stay afloat through it all.

Payson Hall, Catalysis Group Inc
Ready to Ship?

When developing software systems, the inevitable question is "Are we ready to ship?" Facing this question, many testers and test managers rely on their intuition and gut feeling to come up with a subjective verdict of the system under test. John Fodeh describes how to establish and use a set of Release Readiness Metrics in your organization. These metrics provide a snapshot of the system state and quality that you can use throughout the development process--especially when approaching the release date. John takes a closer look at these metrics and examines the role of testing and testers as “information providers.” John demonstrates different release-related metrics, including a model for predicting how many defects remain in the system after release.

John Fodeh, HP Software
Scaling Agile Processes

Agile processes are revolutionizing the software development industry. Projects embracing agile development are expected to be faster and more efficient than traditional software development. Agile processes enable developers to embrace requirement changes during the project, deliver working software in frequent iterations, and focus on the human factors in software development. Unfortunately, most agile processes were designed for small or mid-sized software development projects-bad news for large teams. Having worked with many larger teams transitioning to agile processes, Jutta Eckstein shares her insights into ways to tune your practices as you scale up to larger projects. Harness the adaptability of agile software development for large projects to ensure frequent releases even with several teams working together.

Jutta Eckstein, Jutta Eckstein

Pages

CMCrossroads is a TechWell community.

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