Articles

Enterprise Change Management in Agile Software Development

Agile software development is designed to thrive within even the most dynamic business and technical environments. All agile methodologies include integrated practices and processes that manage evolving requirements to efficiently develop a continuous stream of new software capabilities. However, what Agile does not address are changes related to enterprise support that falls outside the scope of the project work. Enterprise Change Management (ECM) provides a framework that addresses many of these missing factors.

Performance Testing Throughout the Life Cycle

Even though it is easy to say that you should continuously test your application for performance during development, how do you really do it? What are the processes for testing performance early and often? What kinds of problems will you find at the different stages? Chris Patterson shares the tools and techniques he recently used during the development of a highly concurrent and highly scalable server that is shipping soon. Chris explores how developers and testers used common tools and frameworks to accelerate the start of performance testing during product development. Explore the challenges they faced while testing a version 1 product, including defining appropriate performance and scale goals, simulating concurrent user access patterns, and generating a real world data set. Learn from his team's mistakes and their successes as Chris shares both the good and the bad of the process and results.

Chris Patterson, Microsoft
Enterprise Agile: Yes, Your Whole Company Can Adopt Agile

About 12 months ago, our company started an initiative to adopt agile practices across our entire organization—not only our software development organization, but our business organization. For years we had experienced outstanding results by utilizing Scrum for our clients' application development projects. Team productivity improved, executive visibility strengthened, and overall quality increased. Our goal was to capture similar results for our business. Find out how we're doing!

Melissa Meeker
What do Enterprise Architecture principles require of Configuration Management?

Although we usually think of configuration management in the context of a software development project, CM also exists in the context of an enterprise. I wondered if taking the twenty principles used for an enterprise architecture framework, we could see just how well configuration management stands up to supporting these general architectural principles in an enterprise context.

Charles Edwards
Open SourceTest Automation Frameworks

Open source software has come a long way in the past few years. However, for automated testing there still are not many ready-made solutions. Testers often must spend their time working on test cases rather than working on a test automation framework. Allen Hutchison describes the elements of an automated test framework and demonstrates a framework that you can quickly assemble from several open source software tools. He then explains how to put the pieces together with a scripting language such as Perl. Once you build the framework, you can improve and reuse it in future test projects. At the end of the presentation, Google will release the described framework as a new open source project that you can begin using immediately.

Allen Hutchison, Google
Enterprises Need Higher Level Process Frameworks for Better Control

Enterprise application integration (EAI) is problem many large organizations facie today. With the emphasis on the integration part of the applications within the enterprise, more recently made even more complex by integrating applications outside of the enterprise. There are business engineering approaches can alleviate many of these problems and have in particular organizations.

Charles Edwards
A Strategic Approach - "Beta the Business"

Beta testing is an industry standard practice to obtain user feedback prior to general availability of software. Have you ever considered that the Beta release can be used to validate the software's value to customers and application users? Extending the Beta concept will result in higher customer satisfaction (and higher revenue for commercial products). Also, you can employ Beta testing to evaluate not only the software product, but the distribution (and sales) process, training, customer support, and usage within your customers' environments. Far beyond just finding defects in the product, you can focus Beta testing on how well the software is meeting your customers' needs. What does that mean to the Development team and the organization as a whole? What are the risks and challenges that we face? What are the rewards?

Pete Conway, EMC Corporation
Build the "Right Software" to Delight Your Customer

Many companies have implemented quality programs such as CMM®, TQM, Six Sigma, etc., to improve requirements and software development. However, these initiatives often focus on building the software right-meeting quality expectations and specifications-but do not necessarily focus on building the right software-the right functionality at the right time and at the right cost from the customer's perspective. Unmesh Gundewar explains how EMC employed the Goal, Question, Metric (GQM) methodology to identify key measurements that ensure the "right software" is being developed. Learn how EMC applies the Six Sigma approach to drive these measurements into the organization and the resulting software. Move beyond the processes designed to get functional requirements and specifications right as Unmesh shares experiences, the challenges faced, and lessons learned from building the right software.

Unmesh Gundewar, EMC Corporation
Fault Injection to Stress Test Windows Applications

Testing an application's robustness and tolerance for failures in its natural environment can be difficult or impossible. Developers and testers buy tool suites to simulate load, write programs that fill memory, and create large files on disk, all to determine the behavior of their application under test in a hostile and unpredictable environment. Herbert Thompson describes and demonstrates new, cutting edge methods for simulating stress that are more efficient and reliable than current industry practices. Using Windows Media Player and Winamp as examples, he demonstrates how new methods of fault injection can be used to simulate stress on Windows applications.

  • Runtime fault injection as a testing and assessment tool
  • Cutting edge stress-testing techniques
  • An in-depth case study on runtime fault injection
Herbert Thompson, Security Innovation
Automated Testing for Programmable Logic Control Systems

Developing real-time, automated testing for mission-critical programmable logic controller (PLC)-based control systems has been a challenge for many scientists and engineers. Some have elected to use customized software and hardware as a solution, but that can be expensive and time consuming to develop. Reginald Howard shows you a way to integrate a suite of commercially available, off-the-shelf tools and hardware to develop a scalable, Windows-based testing platform that's capable of performing an array of different tests including, but not limited to, black box, destructive, regression, and system security testing. He describes the use of the Jelinski-Morana statistical model for determining expected results from automated tests.

Reginald Howard, Advanced Systems Integration Inc. and Jon Hawkins, Alliance Technical Solutions

Pages

CMCrossroads is a TechWell community.

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