Conference Presentations

From Problem to Solution : The Continuum Between Requirements and Design

By learning the best mechanics for getting from problem-business needs and requirements-to solution-architecture and design-your team can turbo-charge its development process to generate the most creative and innovative solutions. Christopher Brandt explores how the top architects and design teams challenge apparent constraints, brainstorm solutions with stakeholders, ask the right questions, and ultimately determine the best design approach for the product. Challenging constraints enables the architecture team to identify the "real" problems the system will solve. Brainstorming empowers the entire team to conjure up many possibilities for the design solution. Asking probing questions results in fully understanding the requirements, the challenges, and the value proposition in order to recognize the right solution for the problem at hand. Having the decision-making power allows the project to move forward with confidence.

Christopher Brandt, Moneris Solutions
Leaping into "The Cloud": Rewards, Risks, and Mitigations

The cloud has rapidly gone from "that thing I should know something about" to the "centerpiece of our corporate IT five-year strategy." However, cloud computing is still in its infancy. Sure, the marketing materials presented by cloud providers tout huge cost savings and service level improvements-but they gloss over the many risks such as data loss, security leaks, gaps in availability, and application migration costs. Ken Johnston and Seth Eliot share new research on the successful migrations of corporate IT and web-based companies to the cloud. Ken and Seth lay out the risks to consider and explore the rewards the cloud has to offer when companies employ sound architecture and design approaches. Discover the foibles of poor architecture and design, and how to mitigate these challenges through a novel Test Oriented Architecture (TOA) approach.

Ken Johnston, Microsoft Corporation
Nonfunctional Requirements: Forgotten, Neglected, Misunderstood

Nonfunctional requirements-interfaces, design and implementation constraints, and quality attributes such as performance, usability, robustness, and more-are essential to build the right product, right. Yet analysts, developers, and business customers often struggle with when and how to define and document these requirements. Unfortunately, some teams either completely neglect nonfunctional requirements up front, considering them less important or unrelated to user requirements, or they specify them incompletely or with untestable and unmeasurable attributes. Ellen Gottesdiener explains the types of nonfunctional requirements and how they are intertwined with functional requirements. Learn practical ways to visualize interfaces and prioritize their options while exploring techniques to specify quality attributes and their acceptance criteria.

Ellen Gottesdiener, EBG Consulting, Inc.
Eight Limitations of Mobile Platforms

Soon mobile devices will be able to do most everything, right? Although it's fun to talk about how much mobile devices can or will do soon, limitations and constraints remain now and will for a long time. With the lower-tier market offering scaled-down devices, even the latest generation mobile devices have hardware, network, and operating system constraints. These limitations will seriously affect the architecture, design, and testing decisions for your mobile development projects. Jacob Stevens offers a primer on the unique dynamics and constraints of these lucrative platforms. Learn about the implications of mobile platform constraints that impact development and, ultimately, your customers' experience. Discover potential failure points hidden in hardware specifications and explore the trade-offs necessary for mobile success.

Jacob Stevens, Quardev, Inc.
Collaborative Web-based Testing for Product and Software Development
Video

How to establish instantaneous traceability with Requirements and Development Artifacts. How to automatically process and identify unit test methods and promote as "First Class Citizens". How to perform any test. Test any product. Test on any device. Anywhere.

David Merrill, Polarion
Writing Excellent Executable Requirements

Many teams build software that does not behave as their customers and users want-and expect. To build the right software the first time, teams need more than written user stories or even detailed specs. Adding "executable requirements" to your specifications toolbox is a way to ensure that the software does what users expect and need day-one. Until now, writing executable requirements mostly has been considered a dark art. Eric Landes shares methods of building executable requirements-automated acceptance tests-that deliver immediate value for your customers. Eric describes ways to create these “excellent” requirements even in difficult situations-collaborating over different time zones, refining vague needs, and product owners speaking with different voices.

Eric Landes, Press Ganey
The Art of User Storytelling

Agilists employ user stories as a way to capture user requirements and drive the planning process for iterative and incremental delivery of software. Traditionalists with experience in "big requirements up front" often struggle with the brevity of user stories and how to best communicate requirements. Fadi Stephan compares and contrasts user stories, use cases, and traditional requirements development approaches and explains the benefits of user stories. After explaining the basic concepts, he quickly progresses to discuss attributes of a good user story along with different techniques for user role modeling. Fadi shows you how to manage risk and dependencies by properly sizing user stories. Learn what size is the right size and how to deal with constraints, assumptions, and non-functional requirements. Understand the different criteria used to decide when to split or merge stories.

Fadi Stephan, Excella Consulting
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.
Quality Requirements: Succeeding with Waterfall Releases

While there is much excitement surrounding agile, many complex or outsourced projects do not fare well under agile. In these situations, requirements and architectural design cannot emerge with the software; they need to be defined and documented before coding starts. Filip Szymanski explores important practices in waterfall projects to help ensure requirements quality while speeding up development. First, Filip explains how to speed up waterfall releases by fully engaging QA/test teams in the requirements process. QA/testers can ensure that requirements are testable and validated throughout the release and further accelerate testing by writing requirements-based test cases in parallel with development. In addition, testers can begin test efforts sooner by automating application interfaces below the GUI.

Filip Syzmanski, HP Software and Solutions
Specifying Effective Non-functional Requirements

Non-functional requirements present unique challenges for authors, reviewers, and testers. They often begin as vague concepts such as "The software must be easy to install" or "The software must be intuitive and respond quickly." As written, these requirements are not testable because they are subjective. Definitions of "easy", "intuitive" and "quickly" are open to interpretation and dependent on the experiences of the reader. In order to be testable, non-functional requirements must be quantifiable and measurable. John Terzakis discusses the subjectivity problems with non-functional requirements-weak words, ambiguity, and unbounded lists. To facilitate the development of quantifiable and testable non-functional requirements, he introduces a solution-Planguage-and its associated keywords.

John Terzakis, Intel Massachusetts

Pages

CMCrossroads is a TechWell community.

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