Aligning solution development with client requirements
Blog: Bridgeland and Zahavi on Business Modeling
In part one of this two-part article I discussed how business models can help a school system select the set of features most important to it in a school student management system. Such an application allows teachers to manage student attendance, grades and calendars, and provides students, parents, teachers and other school administrators the ability to collaborate.
Business models also help software developers at a student management system vendor create the right application. For example, instead of describing that a daily calendar is a requirement, we begin with the business models. What is the need for the calendar? What is the motivation for deploying it? Who will use the calendar and how will it be used (if teachers, parents, students use it , what is the process for each)? How will the calendar change the user experience? The answers to these questions will ensure that we deploy the best solution for the need.
But software developers are often removed from the client and user. To help them design the application they are often given some form of use cases, descriptions of how users will interact with the application. Sometimes the requirements are in the form of the list of functional requirements detailing what the system must or might support (for example “The system shall provide a daily calendar”.) The software developers have to interpret the requirements and design the application. But if they don’t understand what is driving the user, if they don’t understand some of the user issues or what the process is for using the application, they might interpret things wrong, or in a way that the users won’t like. The application won’t meet the user’s expectations and the users won’t like or accept the application.
The developers need to bridge the requirements as described in the business models to the application they are to implement. They need to map the business activities to features that support the activities. Through studying the processes teachers use to manage their day and to schedule and grade assignments for periods they teach, the developers realize that teachers desire a daily calendar based on periods, not on hours of the day.
In part one of this article I described a school system that on odd days switches periods 4 and 7. But another school system might have the same 7 periods each day in the same order 1-7, while another might have periods 1, 3, 5,and 7 on Mondays, Wednesdays and Fridays, and periods 2, 4, and 6 on Tuesdays and Thursdays. Since each school system has a different set of periods, and periods that start and end at different times, the application should be flexible to accommodate these variations.
Business models provide additional critical information to the application developers. They provide a context, a business context for the technical requirements. The software developer can visualize how the user will use the system and by understanding more about how the application will be used, the developer can build or select the right set of features.