In our last post introducing a world-class SCM testing strategy, we considered the importance of a collaborative approach when testing enabling technologies in complex SCM environments. A hands-off mindset in such contexts is naïve at best, generally leading to frustration and sub-optimal solution value, if not outright failure. Experienced SCM professionals recognize the nature of this problem and adopt a comprehensive, collaborative strategy for ensuring success.
Four distinct types of tests are relevant when addressing this challenge, corresponding to four, distinct SCM project phases; each kind of test plays a necessary role in ensuring project success.
The first type of test recommended in complex SCM planning scenarios is the UFT – the Unit Functional Test – and enables the Prepare project phase, prior to Design and Construct. The UFT:
- Tests a specific solution feature on a small, static data set with a known result;
- Might use dummy data rather than realistic production data;
- Is useful for explaining and illustrating functional solution behavior, both in isolation and in limited combinations, as well as solution design, data and configuration requirements.
UFTs can be stand-alone, independent of any given software implementation, so they are easily developed and executed early in the Prepare project phase. These tests are typically short and simple, based on small data sets which are relatively easily understood, have a very focused scope, and a known result. They each comprise a simple, clearly-documented workflow and Pass/Fail criterion, such that they can be executed and understood by those who do not yet know the new software.
Due to their simplicity and limited scope, the UFT can serve to familiarize users with the application UI, navigation and workflows, train users in solution-specific terminology and behavior, and clarify data requirements for solution architects and data integrators. Since each UFT scenario tends to focus on a single aspect of the solution using a simple, static data model, developing Pass/Fail criteria also tends to be straightforward.
Further, the inherent simplicity of the UFT implies that there is no reason to reinvent the wheel in creating them; the software solution provider should be able to deliver a relevant suite of UFTs out of the box, ready to go and used as-is, or adapted to current business needs with very minimal effort, requiring an insignificant time commitment in the project timeline for positioning them.
Executing and passing a comprehensive set of UFTs relevant to the current software deployment, demonstrating key solution features and behavior in a small, informal test environment, can be conveniently leveraged to enable super-user training, again with no excessive strain on project timelines or resources, and positioned to define a key milestone for the completion of the Prepare phase.
Since UFTs should seldom fail, executing a UFT test suite tends to build momentum and confidence in the new cutting-edge technology through hands-on experience, and provide valuable, practical business-critical insights into the capability and value inherent in an SCM enhancement project early in the implementation, avoiding misinformation and confusion, alleviating fears, and thereby facilitating change management and encouraging solution acceptance and adoption.
If a UFT does happen to fail, which might be due to a solution defect, but more often than not is rooted in incorrect or inaccurate data or solution configuration, the earlier this problem is detected and resolved the better, which is all the more reason to execute this type of test early in the project timeline.
Knowing that all required solution features are represented in the UFT test suite, and that all of them have passed as a milestone to complete the Prepare project phase, simplifies resolution of the problems inevitably encountered in more complex scenarios involving combinations of features and complex interactions with less clearly understood data, and may, in fact, avoid them altogether through aligned user expectations, correct solution design, and thorough data configuration, cleansing and validation.
Finally, and significantly, well-designed UFTs also enable business users to understand the importance and protocol of the overall testing and issue resolution process, and familiarize them with the required test plan templates and issue reporting and resolution workflows and protocols.
The value of Unit Functional Testing during the Prepare phase is significant, but not readily apparent to those unfamiliar with the difficulty and complexity often inherent in SCM implementations. Engaging users in this activity early in the project with simple tests equips them to engage more fully and efficiently in creating and executing the remaining types of tests leveraged in SCM testing methodology in subsequent project phases, as they take on the next test type, the IFT – the Integrated Functional Test – during the Design Phase, which we describe in detail in our next post.