The question of how much design to do up-front on a project is an engaging conundrum. Too much design often results in excess complexity and wasted effort. Too little design results in a poor architecture or insufficient system structures which require expensive rework and hurt more in the long run. How can we know the right balance of upfront design work versus emerging design approaches? Alan Shalloway shows how to use design patterns-coupled with the attitude from agile of “don’t build what you don’t need”-to guide your design efforts. The trick is to identify potential design alternatives, analyze how each may affect the system in the future, and then find the simplest approach for isolating those potential affects.
The cloud has rapidly gone from “that thing I should know something about” to the “centerpiece of our five-year corporate IT strategy.” However, cloud computing is still in its infancy. The marketing materials ignore or gloss over the many risks present today in the cloud-data loss, security leaks, gaps in availability, migration costs, and more. Ken Johnston and Seth Eliot share new research on the successful migrations of corporate IT and web-based companies to the cloud. They 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) framework.
Mobile application development introduces additional complexity when compared to building traditional applications. In order to successfully develop and deploy mobile applications, it is essential to account for variability in networks, service providers, devices, operating systems, and browsers. Todd DeCapua shares practices for successfully navigating this complexity while preserving both speed-to-market and application performance. Outlining a new approach to the agile development-test-deploy cycle for mobile, Todd demonstrates how to integrate functional testing and performance engineering throughout the application lifecycle and establish a new level of cooperation among test, development, and operations.
Cloud computing is a paradigm that makes the notion of utility computing a reality. Instead of investing scarce capital in computing resources, IT organizations are turning to pay-for-use hardware, software, and infrastructure available through the Internet. Unfortunately, because cloud services vendors have their marketing engines further into the cloud than their technology actually reaches, there is a great deal of hype around cloud computing. Arlene Minkiewicz introduces the concepts of cloud computing, discusses the different kinds of clouds, and explores different models for employing cloud-based services. She provides insights into the benefits, challenges, and risks associated with moving development, testing, and production systems to the cloud. Explore the costs you’ll face to migrate to cloud computing and how to estimate the on-going costs associated with the utility computing model.
Every day more agile practices and styles emerge, overlap, and complete. This proliferation challenges you to choose from among XP, Scrum, Lean, Kanban or the ways of the Lean Start Up crowd. Instead of stumbling onto one path or another, come to this session where David Hussman teaches tools for assessing and designing an agile process or set of practices which speaks to your needs and constraints. David covers selecting product planning tools like user stories, iterative delivery tools like kanban boards, tracking tools like burn up and more. If you want to clear the fog surrounding what will really help you, stop in and ask your questions. You will find answers.
Finally, software testing in the cloud is not just for dreamers anymore! Join Andrew Pollner to explore why and how cloud-based testing is emerging as a viable alternative to replace or complement traditional testing platforms. Implemented properly, cloud testing offers many advantages: shifts the burden of installing, configuring, maintaining, and updating testing tools to a vendor; reduces or eliminates the need to build and maintain servers to support testing functions; expands the reach of testing across geographical locations; offers potentially limitless capacity; and more. However, with all these benefits come new challenges: determining the appropriate cloud test environment, test data security, connectivity to the environment, and others.
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.
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.
In many current software development approaches, architecture and design are downplayed. Rather than actually architecting products, good designs are assumed to "emerge." Yet, managers must be confident that their products are well designed. In their efforts to produce products quickly, teams may overlook vital architecture and design issues, such as performance, security, usability, and accessibility. When managers try to help, they can be deterred by jargon and tools that are difficult for non-programmers to understand. Jonathan Kohl illustrates a way for managers to understand and influence product architecture and design. You don't need detailed technical skills to provide valuable insight into a project. Learn how to understand an application and its impact in three contexts: the code (where the application is developed), the system (where the application operates), and the social context (where the application is used).
Quality assurance is more than just testing software through processing a series of controlled inputs and outputs. It must also include an assessment of all the deliverables associated with the project. Developers and testers often view software documentation as merely a source of information, not as artifacts that require evaluation. All software documentation should undergo a rigorous quality assessment just as the actual software is subject to comprehensive testing. Mark Haynes describes quality models and attributes that can be used to evaluate requirements documents. He shows how imprecision (that will haunt you later) can be detected and removed through a set of formal criteria and informal heuristics. To experience using these techniques, Mark shares examples of poorly written requirements for you to evaluate and improve. Additional quality attributes, even subjective ones, can be used to conduct a quality dialogue.