development lifecycles

Conference Presentations

Avoiding Over-design and Under-design

The question of how much-or how little-design to do up-front on a project often leads to a conundrum. Too much design often results in overkill engineering that results in extra complexity and wasted effort. Too little design results in insufficient system structures that result in extra complexity and wasted effort. So, how can you determine the right balance for a given application or system? Alan Shalloway offers a proven approach to determine how much design work to do before beginning the code-build steps in a project. Alan has learned that the trick is to discover and ponder what you don’t know, how it may affect you, and then how to isolate these risks in your code in the simplest way possible.

Cory Foy, Net Objectives
Transform Your Innovation Thinking

Innovation is a word tossed around frequently in organizations today. The standard clichés are "Do more with less" and "Be creative." Companies want to be innovative but often struggle with how to define, implement, prioritize, and track their innovation efforts. Using the Innovation to Types- model, Jennifer Bonine will help you transform your thinking regarding innovation and understand if your team and company goals match their innovation efforts. Learn how to classify your activities as "core" (to the business) or "context" (essential, but non-revenue generating). Once you understand how your innovation activities are related to revenue generating activities, you can better decide how much of your effort should be spent on core or context activities.

Jennifer Bonine, Up Ur Game Learning Solutions
Agile Development Conference East 2011: A Software Quality Engineering Maturity Model

You are probably familiar with maturity models for software development such as CMMI. In this thought-provoking session, Default.aspx Pope and Ellen Hill describe a corresponding five-stage maturity model for software quality engineering-not just testing-which addresses the challenges organizations face when attempting to improve the their software’s quality. Default.aspx and Ellen introduce their model for software quality maturity and discuss how you can use this model to baseline your organizations' current level and map out a path for improvement. You'll learn how to assess where you are now on the ladder: (1) do nothing, (2) write documents and create forms, (3) measure the process, (4) improve based on metrics, or (5) automate tools and process.

Gregory Pope, Lawrence Livermore National Laboratory
Crowdsourced Testing of Mobile Applications

With new mobile applications for Blackberry, iPhone, and Android battling for media attention and consumer dollars, the pressure to get applications built, tested, and launched has never been greater. Getting high-quality apps to market quickly can make or break a product or company. However, the testing methods that work for Web and desktop apps (e.g., in-house QA, outsourcing, emulators/simulators, and beta testers) do not meet the extreme testing needs of mobile apps. Companies must test across many handset makers and models, wireless carriers, operating systems, browsers, and locations. This calls for a new approach-crowdsourcing. Doron Reuveni provides insight into the growing trend of crowdsourced testing for mobile applications and addresses both the benefits and challenges of this new testing model.

Doron Reuveni, uTest
Taming Bug Reports and Defects: The Agile Way

Software defects bug everyone. If your organization is like most and you have a large queue of defects waiting to be fixed, this session is for you. It's probably not realistic to think we'll get around to fixing all of these bugs; so, we need to consider another approach. Lisa Crispin explains how agile teams address defects and how you can apply an agile approach to defects whether or not your development approach is "agile." Explore with Lisa ways to deal with a giant pile-or database-of old bug reports and which of the many, available defect tracking systems to consider-if you need one at all. See examples of alternatives to traditional bug reporting and how to shift your team's mindset toward preventing bugs in the first place. Get new ideas for taming your backlog of defects and discover ways your team can work together to minimize or eliminate bug reports all together.

Lisa Crispin, ePlan Services, Inc.
Web Security Testing with Ruby

To ensure the quality and safety of Web applications, security testing is a necessity. So, how do you cover all the different threats-SQL injection, cross-site scripting, buffer overflow, and others? James Knowlton explains how Ruby combined with Watir-both freely available-makes a great toolset for testing Web application security. Testing many common security vulnerabilities requires posting data to a Web server via a client, exactly what Watir does. The Ruby side of Watir, a full-function programming language, provides the tools for querying the database, checking audit logs, and other test-related processing. For example, you can use Ruby to generate random data or large datasets to throw at a Web application. James describes common security attacks and demonstrates step-by-step examples of testing these attack types with Ruby and Watir.

James Knowlton, McAfee, Inc.
Keys to a Successful Beta Testing Program

Your company is ready to launch its new product. How will it perform under real-world conditions? Will it meet the needs and expectations of the users? Will it operate on all the platforms and configurations for which it was designed? With the future of the product, your company, and perhaps your job depending on the answers, beta testing is a great way to maximize your chances of success. Beta testing provides empirical metrics that prove or disprove that your product will meet clients’ expectations, providing you with input for necessary course corrections in the product. Rob Swoboda explains the process of beta testing as well as the key concepts needed to plan, execute, and evaluate a successful beta testing effort. Rob shares his insights into the practices he employs to design and manage high-priority beta test efforts and offers you the keys to succeed in your own beta test program.

Rob Swoboda, HomeShore Solutions
The Power of Risk

Erik Boelen starts his risk-based testing where most others stop. Too often, risk-based test strategies are defined in the initial test plan and are never looked at or used again. Erik explores how a dynamic, living risk-based testing strategy gives testers a vital tool to manage and control testing activities and identify the infrastructure they need to perform these activities. Find out how to use your risk-based testing strategy as a tool for negotiations among the different stakeholders. Take on the important role of risk mediator for all of the parties in the project. The risk-based test strategy is a tool you can use to defend testing’s need for time and resources, especially when late delivery is possible. Use your risk-based strategy to drive and manage exploratory testing sessions.

Erik Boelen, QA Consult Services
Creating the Right Environment for Mobile Applications Testing

Is your organization releasing applications that target multiple mobile devices, platforms, or browsers? If so, you have faced-or soon will face-the challenge of choosing and setting up a test environment for these devices and platforms. Nat Couture shows how to develop a cost-effective application test environment to mitigate the risks associated with deploying mobile applications. He shares his latest research on mobile devices, mobile platforms, and mobile browser usage, and explains in detail what you need to consider when choosing a test environment. Learn how to select a winning combination of device-specific simulation, platform-specific simulation, and browser-specific simulation-coupled with tests on the actual devices. Build a mobile device testing program that reduces cost, increases coverage, and helps achieve the level of confidence you need to release mobile applications into production.

Nat Couture, Professional Quality Assurance Ltd.
Enabling Agile Testing through Continuous Integration

Continuous integration is one of the key processes that support an agile software development and testing environment. Sean Stolberg describes how a traditional software tester-transitioning to an agile development environment-put a continuous integration infrastructure in place. In doing so, he helped improve development practices and made possible his team’s transition to agile testing. Sean discusses his team’s initial motivations for adopting agile development practices and dives into the nuts-and-bolts implementation details. He shares their post-assessment of the implementation using Martin Fowler's “Practices of Continuous Integration” and concludes with a retrospective on implementing and promoting continuous integration within the context of agile testing. Find out how continuous integration can help improve your testing results and the quality of the software your team delivers.

Sean Stolberg, Pacific Northwest National Laboratory

Pages

AgileConnection is a TechWell community.

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