Software Quality Methods, LLC. Services

SQM provides technical and managerial consulting, and training courses in software quality assurance.

SQM provides technical evaluation of products to delineate quality strategies and testing. Our advanced application of test oracles and automated testing reduces costs and improves the effectiveness of testing. The President of Software Quality Methods, LLC., Douglas Hoffman, has published groundbreaking work based on his designs and implementations of automated tests.

SQM provides management with leadership planning and guiding the establishment or transformation of software development and quality assurance organizations. Software development organizations can improve their chance of success by tapping our experience in planning and executing quality improvement initiatives.

SQM also provides a number of practical classes in rapid software testing mechanisms, basic software testing techniques, designing test automation, and implementation of test oracles.


Technical Services

Testware Planning

SQM provides test planning designed to meet clients' needs from acceptance test design through full life cycle strategic quality plans. With the understanding of products at a technical level SQM can successfully plan for optimal investment in testing.

Testing is a critical function performed by SQA groups. If done well, the test group can have confidence that the major product functions work and there are no obvious malfunctions. If done poorly, software testing can consume all available resources and still generate results of little value. There are an infinite number of possible tests for any software product, so the trick isn't to run all the tests. SQM will help select a set of tests to provide the information the organization needs. Software testing effort is often confused with testing effectiveness. The level of test planning can be balanced with the resources available for testing and the organization's requirements for the information provided by testing.

Test Automation Architectures

SQM provides test automation to meet today's business and technical reality. Although automated software testing has been done for decades, software test automation efforts still frequently fail for numerous reasons. (See Cem Kaner's paper "Avoiding Shelfware: A Managers' View of Automated GUI Testing" from the Los Altos Workshop on Software Testing (LAWST).) Often, organizations realize in hindsight that they would have done more and better testing if they had not invested at all in test automation. Most automated tests require fixing or complete replacement as soon as the release goes out. The key to good return on automation investments is through understanding what test automation can and can't do, planning for test automation, and engineering the automated tests. Most failed test automation initiatives would not have started if a realistic return on investment had been known. (See Hoffman's "Cost Benefits Analysis of Test Automation.".)

A critical component in automated software testing is the architecture of the test environment. The architecture describes the elements involved in automated testing and the relationships between the elements. (See Hoffman's "Test Automation Architectures.".) Both the test automation mechanisms and the automated test scripts are programs, so successful software test automation needs to apply the same discipline as other development efforts. SQM successfully designs and directs implementation of automation architectures and automated software tests.

Tactical Planning for Software Quality

Tactical planning identifies how different elements are applied to result in high quality software at a reasonable cost. SQM provides tactical planning for quality by combining a high level understanding of the product, organizational priorities, and practical alternatives. Ultimately, the tactical planning results in an optimal use of resources, emphasizing obtaining high quality information and products without undue overhead, redundant efforts, or wasted time. SQM successfully generats and administers such quality assurance and testing plans.

Life Cycle Design

Many software development approaches are available. Each project has its own set of technical, managerial, and customer requirements and constraints. Although there may be multiple approaches that might be successful, there are many more that are likely to lead to frustration and failure. The software development life cycle(s) must take into account the specific project characteristics, and then be designed to maximize the project's likelihood for success. SQM believes the right development approach significantly improves the quality of the delivered software and minimizes the time it takes to develop it.

From a handful of basic software development life cycle models, SQM has formulated dozens of different processes that have been successfully used to create software, ranging from micro-code, operating systems, and embedded systems, to desktop publishing packages and financial applications.

Return to top


Management Services

Test Strategies

SQM combines analysis of risk with test alternatives to identify effective and efficient test strategies. Software test plans can be as brief as one page models of the software being tested (diagrams, tables, etc.), or as complex as detailed, repeatable, auditable, step-by-step, acceptance procedures. Over-planning, under-planning, or over-documenting leads to wasted efforts and disappointment. Therefore, the amount and form of test documentation is created to match the organizations' and customers' requirements. Test tactics are planned to optimize the time, money, and efforts.

Strategic Planning For Quality

SQM recognizes the value of identifying and documenting basic approaches to quality at the start of a project. However, it's never too late to articulate a quality strategy. Last minute catastrophes can be avoided by thinking through the tools, techniques, and resources that best fit the project. This, coupled with getting prior agreement among the participants opens the pathway to success. Planning the strategy requires a combination of understanding of management priorities, project goals, and the technology and techniques available to produce good quality software. This knowledge and experience in comparable businesses is available as a resource. Hiring outside expertise for short periods provides the advantages of getting current industry knowledge at a far lower cost than having such an expert on staff full time.

Both emerging and established software development and quality assurance organizations must understand their charters and plan accordingly. Management teams that understand how to guide a stable organization aren't necessarily also experienced with establishment or growth of a quality assurance team. The high rate of technology change and fast release cycles often require a fresh look at development and quality approaches.

Determinization of Quality Needs

Managers are frequently aware that improvements are necessary, without having the knowledge, tools, experience, or time to properly evaluate, plan, and implement them. SQM can provide timely analysis of organizational strengths and weaknesses, and can make realistic recommendations for improvement. This can be done through a combination of interviews, technical analysis, and written reports, or by total immersion within the organization.

Although many organizations aspire to meet specific industry standards such as ISO 9000 or CMMI, such a formal approach to organizational excellence is not necessary appropriate in many cases. These standards have formal requirements, defined processes, require long document trails, and have internal and external audit requirements to demonstrate continued adherence to the standards. Our approach is to compare an organization with comparable industries to provide an assessment of where and how they might improve.

Industry Gap Analysis

Most commercial companies can benefit from understanding how they stack up against the defined standard processes in and commonly used in their industry. This information, combined with concrete recommendations for improvement, can provide for cost-effective programs to improve organizational and software excellence. SQM provides unbiased assessments of software development and quality organizations based on broad knowledge and intimate experience with both standards and best industry practices.

Return to top


Staff Training

SQM presents classroom training on many topics in the software engineering and management fields. The courses include industry standard material on software quality engineering and management. Presentations include original work pioneered by Douglas Hoffman in software testing, test automation architectures, advanced automated tests, and test oracles.

Some courses are publicly taught through LogiGear, the University of California, Santa Cruz Extension, and the Silicon Valley Section of the ASQ. Any of the courses can be customized for presentation to a homogenous group.

Return to top


Updated October 12, 2007

Copyright © 1995-2007 Software Quality Methods, LLC. All Rights Reserved.