Skip to main content

Steve Miller

Member for

22 years 5 months

Steve Miller is the Vice President of ALM Solutions for AutomatedQA. With over 25 years of experience, Steve has extensive knowledge in project management, software architecture and test design. Steve publishes a monthly newsletter for companies that design and develop software. Be sure to check out our other newsletters.

Company
AutomatedQA
Industry
Business Services - Consulting - Non-profit
Interests
Configuration Management
Defect or Incident Management
Design and Architecture
Development
Measurement and Estimating
Process Improvement
Requirements
Reviews and Inspections
Software Testing
Country
United States

Steve Miller is the Vice President of ALM Solutions for AutomatedQA. With over 25 years of experience, Steve has extensive knowledge in project management, software architecture and test design. Steve publishes a monthly newsletter for companies that design and develop software. Be sure to check out our other newsletters.

All Articles by Steve Miller


All Stories by Steve Miller

Webinar: Best Practices for Planning your Automated Test Effort, Part 1This webinar is the first in a five-part series titled "Uniting your Automated and Manual Test Efforts." This presentation focuses on best practices for planning your automated test effort. You will learn how to identify what test cases should be automated, organize your automated test cases, version and protect your automated test cases, and how to schedule your automated test cases to run periodically.
Webinar: Best Practices for Planning your Manual Test Effort, Part 2This free, on-demand webinar is the second in a five-part series titled, "Uniting your Automated and Manual Test Efforts." It focuses on best practices for planning your manual test effort. Watch this webinar to learn how to improve the effectiveness of your requirements definition, best practices for creating manual test cases for each requirement, how to ensure you have good test coverage for traceability for each requirement, and how to best organize your manual tests.
8 Best Practices for Managing Software Releases

Many software releases extend longer than expected. While sometimes project slippage is unavoidable, there are some clear-cut best practice fundamentals that you can employ to reduce the chance of slippage. This article covers eight practices used to help us ship on time.

Powerful Metrics for Developers

Insanity is defined as "doing the same things over and over and expecting a different result." As a developer, it is easy to get into a rut of doing the same thing over and over again but never really improving your development process or identifying things that can aid in bringing real success to your job. To improve, we need to understand our goals and measure our progress towards them. This article discusses how to develop metrics that aid you in achieving specific goals.

Reducing Costs with Good Requirements and Code Reviews

This article discusses the importance of good requirements and code reviews to reduce software development costs.

Basics of Test-driven Development

If you've heard of test-driven development (TDD) but you're not sure what it is or how it works, this article provides an introductory-level summary of the approach. It also explains how TDD works in agile environments.

15 Useful Test Cases for Ensuring Consistent User InterfacesWhen testing user interfaces, it is easy to overlook test cases that ensure your user interface is user-friendly and
consistent. This newsletter identifies fifteen test cases that might be considered when testing user interfaces for consistency.
Anatomy of an Automated Testing Framework

This article discusses the key ingredients of an automated testing framework that can lead to automation success.

The Seven Habits of Highly Effective ScrumMasters

This article discusses seven best practices for agile ScrumMasters.

The Seven Habits of Highly Effective TestersPublished in 1989, The Seven Habits of Highly Effective People, by Stephen R. Covey has helped millions establish great habits for achieving true interdependent effectiveness in their lives and their jobs. This article discusses the 7 habits, framing the habits for highly effective testers.
Enabling Team Collaboration with Discussion Forums

Teams keen on improving team communication and collaboration can utilize discussion forums.

Automating Your Regression Test Cases

Companies that develop and maintain software can dramatically improve the quality of their software releases by creating regression test cases that ensure existing features are not broken with new releases. This newsletter discusses: how to create regression test cases, when to automate regression test cases, and the best practices for automation analysis.

Agile Scrum-Retrospectives

Few agile sprints go exactly as planned. Many sprints encounter problems that must be corrected, and some go smoother than planned. The key to future successful sprints is to learn from past mistakes. The process of formally reviewing your sprint is called a retrospective. Learn best practices for retrospectives from this article.

The 30 Day Sprint and The Daily Scrum Meeting

This newsletter is one in a series of newsletters that will discuss the agile Scrum process and will end with variants of Scrum that can be used to aid in improving your software releases. It discusses best practices for the thirty day sprint.

Agile Scrum—Understanding Scrum Rules

Many of us have experienced projects that drag on much longer than expected and cost more than planned. Companies looking to improve their software development processes are now exploring how agile can help their enterprise quickly deliver more reliable software, iteratively and with a feature set that hits that mark. While agile has different "flavors", Scrum is one process for implementing agile. This newsletter is one in a series of newsletters that will discuss the agile Scrum process and will end with variants of Scrum that can be used to aid in improving your software releases.

Six Tips for Quickening Software Releases

Many of us have experienced projects that drag on much longer than expected and cost more than planned. Most times, this is caused either from inadequate planning (requirement collection and design) or from an inordinate number of defects found during the testing cycle. A major ingredient to reducing development life cycle time is to eliminate defects before they happen. By reducing the number of defects that are found during your quality assurance testing cycle, your team can greatly reduce the time it takes to implement your software project. This article provides 6 tips to aid in reducing software defects and to quicken your software releases.

Best Practices for Describing Defects

This article discusses the best practices for describing defects and identifies the common sense steps for providing an adequate level of detail in each bug report. The article also has links to valuable templates that allow you to get started using these best practice techniques. This is a practical resource for project managers, software developers, and quality assurance teams.

Top 10 Negative Test Cases

Negative test cases are designed to test the software in ways it was not intended to be used, and should be a part of your testing effort. This article identifies the top 10 negative test cases you should consider when designing your test effort.

Maximizing Test Case Efficiency

This article discusses maximizing test case efficiency, describing how quality assurance teams can improve quality by efficiently creating test cases. The article also has links to valuable templates that allow you to get started using these best practice techniques. This is a practical resource for project managers, software developers, and quality assurance teams.

Test Coverage and Traceability

This article describes how you can ensure better test coverage through traceability and team reviews.

Pragmatic Agile Development - The Lifecycle Phases

In this article, the author discusses a blended approach between agile and waterfall, called Pragmatic Agile Development (PAD).

Exploring Agile DevelopmentWhen selecting your development methodology, you have many to choose from, each having advantages and disadvantages. In this newsletter, the author explores the advantages and disadvantages of waterfall vs. agile development.
Tips for Measuring Software Quality Assurance ProgressIn this article, the author focuses on key measurements that capture the true level of quality assurance so as to ensure your QA effort is progressing as planned.
Tips for Preparing for the Quality Assurance Phase

How can you ensure that your software is fully tested and is of high quality? Read the tips in this article to see if your software is ready for production.

Managing Geographically Dispersed Software Teams

Geographically dispersed teams present collaborative challenges that can be overcome with a combination of best practices and software. In this article, Steve Miller presents several templates that are designed to help managers gather collocated teams on common virtual ground.

Managing Workflow for Project Management

For teams managing software development, it is crucial to manage the workflow around the project management process so that everyone understands how a task moves from definition to completion. In this newsletter are some tips for defining the workflow for software project management.

Managing Workflow for Software Defects

This article discusses managing workflow for software defects, state transitions, and flowcharting the process. The article also has links to valuable templates that allow you to get started using these best practice techniques. This is a practical resource for software developers, quality assurance teams and project managers.

Managing Workflow for Test Case ManagementFor teams managing software quality, it is crucial to define solid test cases for each customer requirement. Just as importantly, the workflow around the test case management process must be defined so that everyone understands how a test case moves from definition to a point where it is ready for execution. This newsletter describes some tips for defining test cases and the workflow.
Managing Workflow for Customer RequirementsThis article discusses managing workflow for customer requirements, and focuses on establishing workflow, state transitions, and tracking the process by using flow charts. The article also has links to valuable templates that allow you to get started using these best practice techniques. This is a practical resource for software developers and project managers.
Software Development Lifecycle - Measuring Team Goals

This article focuses on setting departmental goals and provides step-by-step examples of establishing team goals that are specific, measurable, and have a time frame associated with them.

Software Development Lifecycle: Support Management

This article discusses the software development lifecycle (SDLC), specifically touches on providing better support management. It focuses on setting up a support ticket manager, collecting and analyzing metrics for defects and support tickets, and whether your software project's quality is improving over time.

Software Development Lifecycle: Overall Project MeasurementThis article focuses on measuring the effectiveness of your software projects and how to accurately predict hour and cost estimates.
Software Development Lifecycle: Project Task MeasurementThis article discusses the SDLC in terms of measuring the effectiveness of project management, determining how well individual tasks are estimated and defined, and how these areas affect delivery.
Customer Best Practices–Postmortem Phase

This article focuses on how to review a software project upon moving it to production (postmortem phase), allowing the team to learn from things that went well and those that did not go well. This should be a practical resource for software developers and project managers.

Customer Best Practices–Production Phase

According to the Standish Group, the primary contributor for project success (projects delivered on-time and on-budget) is heavy customer involvement. Knowing that, it makes sense to define best practices for dealing with customers. Having good release management and support ticket management procedures in place will ensure quality releases and great customer support as issues arise.

Customer Best Practices - Coding and Testing PhaseAccording to the Standish Group, the primary contributor for project success (projects delivered on time and on budget) is great customer involvement. Knowing that, it makes sense to define best practices for dealing with customers.
Customer Best Practices--Design PhaseThis snippit from a self-published newsletter is the first in a series of articles on best practices for improving project success with solid customer involvement.
Customer Best Practices–Planning Phase

According to the Standish Group (1994), the primary contributor for project success (projects delivered on-time and on-budget) is great customer involvement. Knowing that, it makes sense to define best practices for dealing with customers. In the coming months, we will look at best practices for customer involvement that deal with all phases of the software life cycle.

Tools for Project Management

This article, part of a presentation to the Project Management Institute in Singapore, discusses project management tools and uses case studies to show how different companies manage their projects.

Common Software Project Management Mistakes - Personnel Issues

Very few projects go as planned, however, projects that fail often follow a pattern. Normally projects fail due to issues with: personnel (from wrong skill sets to bad work environments), project management (improper processes and techniques for managing projects), application, and the technology chosen for the application.

Common Software Project Management Mistakes

Very few projects go as planned. However, projects that fail often follow a pattern. Normally projects fail due to issues with personnel, project management, application, and technology. This article discusses some of the common project management mistakes.

Best Practices for Software Projects–Software Measurements

The key to efficient measurement is to first determine what goals you are trying to accomplish and what problems you are attacking. Many organizations waste time and money by measuring more things than are necessary. Before beginning a measurement strategy, determine the goals for your measurement.

Best Practices for Software Projects–Project Communication

Many software projects fail to deliver on-time and on-budget and a factor in that is normally inefficient project communication. Studies have shown that software teams that consistently deliver on-time and on-budget communicate in an effective manner. These teams stay in contact constantly, but wisely use each other's time during the communication process and are careful not to waste other people's time.

Best Practices for Software Projects

For years, the primary methodology for delivering software projects was the "Waterfall Method". With the Waterfall method, all software requirements are gathered up front, designs are done for each requirement, and each feature is coded and tested before migrating to production. For projects that exceed one year of development and implementation, there are risks of the project being cancelled (according to the Standish Group, about 31% are cancelled before completion).

Best Practices for Software Projects: Risk Management

To deliver software on time and on budget, successful project managers understand that software development is complex, and that unexpected things will happen during the project lifecycle.

The key to managing risks is to build contingency plans for risk and to build enough time into your project schedule to mitigate risks that you do not know about. This article discusses the 5 most common scheduling risks in a software development project.

Best Practices for Software Projects: Change Control

When developing and enhancing software, a well-laid plan has a documented set of features, detailed designs, and estimates that allow the project manager to quickly determine if the project is on track to completion. As development proceeds, it is not uncommon for business or market conditions to change, thereby changing the needs of a software project that is currently in development.

Change control is the process of managing changes as to ensure that decisions are not made hastily and that the decision to add an additional feature is in the best interest of the project. If change control is missing from a project, new features will be introduced at random, jeopardizing the delivery date and quality of the software being developed.

To manage change, it is best to have a Change Control Board. The Change Control Board normally consists of the project manager, client manager, development (programming) manager, quality assurance manager, user documentation manager.

Best Practices for Software Projects: Design Signoffs

Ever worked on a project where the requirements were scribbled on a napkin and you were asked how quickly you could get the project done? First time project managers sometimes fall into this trap, and it is a recipe for disaster.

To consistently deliver software solutions on-time and on-budget, you must follow a disciplined approach to managing the project. The only way to adequately determine the project timeline is to fully understand all deliverables of a project, to manage risk with risk mitigation, and to obtain signoffs along the way so that you have documented accountability.

Here is a simplified overview of how a software project should be run to ensure on-time and on-budget delivery. Notice that each phase requires sign-off from various project members to ensure a quality release.

Best Practices for Software Projects: Estimating

Researchers have found that project estimates fall within a predictable range at various stages of the software lifecycle. According to Boehm 1995 (Cost Models for Future Life Cycle Processes COCMO 2.0), your estimates will improve as the software lifecycle matures.

Best Practices for Software Projects: Requirements Scrubbing

A key component to delivering software projects on-time and on-budget is to do a great job of defining the requirements of the system and to be objective as to which requirements are absolutely necessary. Once the requirements are defined, they should be reviewed with a fine-tooth comb to ensure that all the requirement details are fully defined and that each requirement is absolutely necessary for the release of the software.

Tips for Minimizing Software Defects via Inspections

In this article, Steve discusses tips for minimizing software defects via inspections. A major ingredient to reducing development life cycle time is to eliminate defects before they happen. By reducing the number of defects that are found during your quality assurance testing cycle, your team can greatly reduce the time it takes to implement your software project.

Best Practices for Software Projects: JAD Sessions

Most of us have worked on projects that were not well organized and the requirements gathering process dragged on for months, commonly referred to as "analysis paralysis". Joint Application Development (JAD) sessions are a set of intense meetings held off-site where executives, developers, and end-users define the exact requirements needed by a software solution. By holding JAD sessions, your team can more quickly define requirements, get executive buy-in, eliminate irrelevant requirements, and reduce political jockeying between team members.

Best Practices for Software Projects: Prototyping

A critical part of software development and project management is ensuring that you agree with your client on the requirements and the scope of the project. Since everything in the software lifecycle is driven from requirements, all tasks following the requirements gathering will be flawed if the requirements are not correct. A technique for improving the requirements gathering process is prototyping, where your team works with the client to collect requirements. Normally, this is done during Joint Application Development (JAD) sessions. Steve Miller's article will help you and your technical team implement the practice of prototyping.

Software Development Lifecycle: Defect and Test Case Measurement

This article focuses on how to manage the defect and test case measurement during the software development lifecycle. This should be a practical resource for software developers and project managers.