This post was previously on the Pathfinder Software site. Pathfinder Software changed its name to Orthogonal in 2016. Read more.
In FDA regulated software development one of the most important keys to getting the most out of agile methodology is to ensure fast feedback from outside of the development team.
One way to do this is to build cross-functional teams – bringing some functions that are outside the development team into the team so that it has all of the necessary skills to move a user story to completion.
In an FDA regulated environment, that includes not only developers, project managers and business analysts, but also human factors engineers, risk managers and quality assurance. This is a change from Waterfall, where these resources are typically engaged at the beginning and/or end of the project. In that situation, their knowledge of the project is limited, their ability to influence the project is limited, and when change inevitably occurs, they only have limited input. This often results in lower quality or rework late when change is most costly.
Bringing these resources onto the team provides them more direct knowledge, and enables the application of risk management and user experience design skills earlier in the process. Here’s how each of them interacts during development:
Human Factors Engineers/User Experience Designers:
– Act as a bridge from research, providing guidance based on user research and prototyping conducted before formal development begins
– Create personas, storyboards and task flows which provide clarity and coherence to requirements, surface hidden requirements and missing features
– Create detailed wireframes and interaction design that can be vetted with end users prior to development, and provide greater requirements clarity for developers, reducing defects and speeding up development
– Provides qualitative user experience parameters to user acceptance criteria, thereby reducing human factors related risks
– Usability testing of interfaces, both through feedback on designs before development and feedback on working software developed in each iteration
– Provides input to requirements and reviews design outputs
– This is particularly powerful when risk management interacts with human factors engineers, system architects and quality assurance during “story baking” prior to a development iteration.
Quality Assurance (QA)
– Testing teams are full participants in requirements, architectural and design reviews
– Collaborate with human factors engineers to create acceptance criteria for user stories and implement test cases.
– By testing stories as soon as they are implemented, testing teams uncover defects and discrepancies early in the process, when they are easiest to fix and have the least impact on other parts of the system.
– This process also has the benefit of parallelizing independent verification and validation with development, thereby compressing the schedule.
In our experience, this approach pays big dividends in terms of productivity, clarity of requirements, solution quality and project timelines.
But there’s another part of fast feedback that needs to be addressed – users. We’ll tackle that next with “Three User Thursdays.