|
Mission Critical Agility Whether it is controlling interplanetary spacecraft, managing medical records, or "merely" staying in business, it seems that more of us are facing the pressure of building and managing mission-critical systems and teams. Although it's tempting to think that reliability is all that matters, we're also forced to adapt to constantly advancing technologies, shifting priorities, and relentless competitive pressures. What can we learn about agility from great inventors like Alexander Graham Bell and the pioneers at NASA who risked everything to change the world? Is it wise to embrace innovation and take risks when so much is at stake? Can you afford to be agile when failure is not an option, or can you afford not to? Jeff Norris explores key principles of agility from a fresh and entertaining perspective by drawing on inspiring stories of people who demonstrated agile work practices long before anyone had heard of a ScrumMaster.
|
Jeff Norris, NASA
|
|
Performance Engineering for MASSIVE Systems Dealing with a single system is challenging enough, but the game changes dramatically on a multi-system, distributed platform. MASSIVE platforms can consist of more than fifty distributed systems and components, integrated to process millions of transactions per day-from millions of users-while processing hundreds of terabytes of data. The ramifications of one component or system not scaling to support this load might cost hundreds of thousands or millions of dollars in lost revenue for a single system disruption. Mark Lustig explains how to integrate performance engineering across the entire development lifecycle. The world of MASSIVE platforms requires a disciplined approach to building, measuring, and ensuring system scalability, performance, and throughput.
|
Mark Lustig, Collaborative Consulting
|
|
Better Software Conference East 2011: Writing High Quality Code Quality in delivered software is intangible and very different from quality in physical goods. Some external attributes of quality software-free from defects and easy to maintain-are reflections of the code's internal qualities. When classes and methods are cohesive, non-redundant, well-encapsulated, assertive, and explicitly coupled, they are less prone to mistakes and far easier to debug, test, and maintain. David Bernstein asserts that paying attention to code quality helps us focus on the key principles, patterns, and practices used by expert developers. If you don't pay attention to critical code quality attributes, iterative development practices can quickly degrade code into a maintenance nightmare. Join David and your peers to take a deep dive into the code qualities that make software more maintainable and less bug friendly.
|
David Bernstein, Techniques of Design
|
|
Using Technical Debt to Predict Product Value Overly complex code? Duplicate code? Inherent coupling? Been there, done that. Beyond these specific code issues, you may believe that something is inherently wrong with your project-increased pressure, decreased velocity, those broken functions that just never get fixed. Although there are no magic bullets to fix these problems, Emad Georgy shares how he has applied a novel, technical debt model as a predictor of overall product value. Emad has used this model at strategic and business levels to bring focus to the issue of technical debt and to obtain resources and prioritization to address debt. You also can use the technical debt model to identify anti-patterns-architecture, process, and project perspectives-in your organization.
|
Emad Georgy, Experian
|
|
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
|
|
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
|
|
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.
|
|
Cloud Enabled Development: Making Fast Go Faster As software development teams seek greater efficiency and effectiveness, they often find that they are held back by old IT architecture for development and test. They wrestle with low-powered servers, difficult-to-scale static environments, and a slow IT provisioning and change processes. Today, software leaders at Calypso, Centric Group, Serena Software, and others have radically changed the way they build, test, and deploy software-almost exclusively using cloud computing to power their development processes. Some teams report benefits of 75% faster development cycles with 70% lower operating costs. Brian White describes the techniques and practices employed and success factors you can follow to achieve similar results. Brian provides specifics on which application workloads are ideal for the cloud model and how the use of cloud computing supports Agile development practices.
|
Sundar Raghavan, Skytap, Inc.
|
|
STAREAST 2012 Keynote: Evaluating Testing: The Qualitative Way
Video
Testers and managers have wrestled with the problem of evaluating software products and testing efforts, often using approaches derived from manufacturing, construction, and physical sciences. These approaches have been partially successful because software products aren't physical products.
|
Michael Bolton, DevelopSense Inc.
|
|
Improving QA-Development Communication: An Interview with Amit Chopra In this Sticky ToolLook interview, Microsoft senior program manager Amit Chopra takes a look at some of the common communication breakdowns between QA and development teams and offers suggestions for avoiding or repairing those situations.
|
|