|
The Business and Test Analysts' Guide to Acceptance Test Driven Development On traditional software teams, business analysts define requirements in batches, describe them in big documents, and deliver them to developers and testers. Developers interpret the requirements and start writing code while testers interpret them and start writing tests. Almost always the interpretations differ, and neither precisely matches the analysts’ intentions. The mismatches are often discovered late in the project, after much effort has been expended and when corrections are most costly. Dale Emery describes a better approach-Acceptance Test Driven Development (ATDD)-in which the entire team collaborates to create acceptance tests as a key part of the requirements definition process. These tests become the team’s shared, precise definition of what each requirement means to the team members and customers.
|
Dale Emery, DHE
|
|
Agile Requirements Engineering: When User Stories Are Not Enough Agile projects commonly capture customer needs via user stories-placeholders for future conversations about those needs. However, when dealing with complex software products-ones with significant existing functionality or when regulations or customers mandate a requirements-driven development process-user stories are not enough. Under such circumstances, traditional requirements engineering practices can be applied at a high level while the team addresses implementation details using a product backlog of user stories. Colin Doyle shows how to ensure success in complex software product development by using high level requirements engineering practices to drive the development and maintenance of the agile product backlog.
|
Colin Doyle, MKS Inc.
|
|
Practices, Principles, and Values: Moving Beyond Dogma to What Works The concept of software process improvement is not new. Many methods have been defined to conduct and pursue improvement. We never seem to lack for “improvement” ideas, as if they are fresh and exciting-which they often are not. Maybe that's because so much of what has been espoused through the years has not worked. Hillel Glazer examines long-held assumptions about process improvement, proposes plausible flaws, and reveals new levels of understanding that have facilitated breakthroughs in high performance. Hillel looks at what happens when there is too much focus on practices, when the underlying principles aren't honored, and when basic values aren't internalized. We see too much arguing over practices instead of working toward results-too much worrying about compliance to some dogma instead of moving forward with what’s really working.
|
Hillel Glazer, Entinex, Inc.
|
|
Deception and Estimating: How We Fool Ourselves Cognitive scientists tell us that we are hardwired for deception-overly optimistic about outcomes. In fact, we surely wouldn't have survived without this trait. With this built-in bias as a starting point, it's no wonder that software managers and teams almost always develop poor estimates. But that doesn't mean all is lost. We must simply accept that our estimates are optimistic guesses and continually re-evaluate as we go. Linda Rising has been part of many development projects where sincere, honest people wanted to make the best estimates possible and used “scientific” approaches to make it happen-and all for naught.
|
Linda Rising, Independent Consultant
|
|
Software Design in the 21st Century Over the past decade or so we've seen important new ideas added to the mix of software design practices to help us produce better software. Design Patterns help us capture the design solutions and reveal a rationale for using them. Refactoring allows us to improve system design after the code is written. Agile methods-and in particular, Extreme Programming-provide highly iterative and evolutionary development methods that are particularly well suited to fast changing requirements and rapidly evolving hardware and technology environments. Martin Fowler-a leading voice in understanding, honing, practicing, and promoting these approaches-offers up a suite of short talks on his recent thinking about how these design practices have changed software development. Join Martin to explore what's new on the horizon to support the design and development of new, more complex, interconnected systems than the world has ever known.
|
Martin Fowler, ThoughtWorks Inc
|
|
Improving Your CMMI Organization through Lean and Agile Techniques The good news is that your organization has documented its processes and you've achieved a CMMI® rating. However, you are hearing complaints such as, "We need to increase our agility to respond more rapidly to customer needs" or "Why do our processes require work that adds little value to the product?" So, what can you do? Contrary to popular belief, the CMMI® and lean-agile techniques are not at odds-in fact, they complement each other. Paul McMahon explains how and why, and presents a wealth of proven techniques to improve your organization’s performance with lean-agile approaches and not jeopardize your CMMI® compliance. Learn specific agile and lean techniques that have helped others address the common process problems found in many organizations. Paul shares multiple case study experiences where his techniques have helped organizations achieve their performance goals within CMMI® guidelines.
|
Paul McMahon, PEM Systems
|
|
Geography Matters: What Data Tells Us About Offshoring, Co-locating, and the Flat World Has the digital revolution really made it possible to do almost anything collaboratively with people separated by time and distance? Or are decisions to split software development around the globe more about pressure to cut costs and less about tapping the intellectual capital from other nations? Countering the multi-shoring trend is a powerful new movement that looks at the forces of concentration-clustering of human creativity and talent-to claim the creativity, innovation, and productivity that can result when smart and talented people locate closely to one another. Who is right? To answer this question, Michael Mah looks at what measurement data says about offshore and co-located projects. Michael presents actual case studies from real companies and contrasts the results from the two philosophies. What you learn may challenge long-held beliefs about knowledge work, commoditizing human capital, and innovation.
|
Michael Mah, QSM Associates, Inc.
|
|
The Right Stuff: Testers in the Agile World Agile is a major paradigm shift for software development teams–and especially for testers. Some testers struggle to find their identity, may feel like victims of the new agile process, and wonder if they have “the right stuff” to succeed in the agile world. Vinod Malhotra shares his insight on what the right stuff is. First, testers need to customize their processes to fit agile practices. Second, testers–and the whole team–need tools to enable team collaboration, promote transparency, and reduce waste of their limited time and resources. Third and most importantly, testers must alter and transform their mindset to embrace close collaboration with developers, insist on smaller chunks of testable functionality for testing early and often, learn to value working software rather than compliance to specifications, employ exploration in their testing, and embrace change.
|
Vinod Malhotra, Microsoft Corporation
|
|
STAREAST 2011: Seven Key Factors for Agile Testing Success What do testers need to do differently to be successful on an agile project? How can agile development teams employ testers' skills and experience for maximum value to the project? Janet Gregory describes the seven key factors she has identified for testers to succeed on agile teams. She explains the whole-team approach of agile development that enables testers to do their job more effectively. Then, Janet explores the "agile testing mindset" that contributes to a tester's success. She describes the different kind of information that testers on an agile team need to obtain, create, and provide for the team and product owner. Learn the role that test automation plays in the fast-paced development within agile projects, including regression and acceptance tests. By adhering to core agile practices while keeping the bigger picture in mind, testers add significant value to and help ensure the success of agile projects.
|
Janet Gregory, DragonFire, Inc.
|
|
Half-Truths about Agile Testing Organizations of all sizes are rapidly adopting agile application development methodologies. Because agile has primarily focused on how developers work, much of the testing community has been at a loss as to how to achieve their mission within agile. Misconceptions abound about how testing should be conducted in this new paradigm. The debate has some arguing that organizations should completely abandon traditional testing methods and tools when adopting agile. Clint Sprauve explores the half-truths of testing in agile and how they affect the testing organization's role in agile development.
|
Clinton Sprauve, Borland (a Micro Focus company)
|