Aligning solution selection with business needs
Blog: Bridgeland and Zahavi on Business Modeling
When an organization selects an application or system to meets it needs there are two aspects of that selection. One is from the perspective of the organization acquiring the system and the other is from the perspective of the supplier of the system. The organization must understand its needs and requirements and select the features that are most essential to its business. The vendor supplying the system must ensure that what is developed meets the needs of its prospective clients. If the wrong set of features is developed, a mismatch will occur.Business models help with both aspects. They help organizations understand their strategy and goals and map the essential capabilities they need to support those goals. Business models also help in the software development process. They help developers better understand what features their clients need and how they will use those features. In the first of this two-part article I discuss how business models can help organizations select the right solution.
In traditional technology initiatives, such as the acquisition of an application, requirements are gathered and handed to vendors so that they can develop or configure the application to match the requirements (we discuss the topic of business models and software requirements in chapters 1 and 12 of our book.) The requirements are sometimes in the form of use cases and sometimes in a list of “shall” and “may” functional requirements (for example “the application shall support 100 concurrent users.”) However, traditional forms of requirements such as these do not convey the strategy of the organization or which requirements represent the most essential features.
Business models are a crucial part of the requirements gathering and definition phase as they help us capture the business view from the subject matter experts that know the business. We can capture the business motivation for a new application, and for each individual feature of the new application. We can capture whose work the application supports, what activities the supported users perform, and which of those activities are to be supported by application functionality.
For example, many middle and high schools today in the US are in the midst of deploying new technologies for managing student data and tracking student performance. Almost all teachers submit grades to the county level where it is processed by some application, but many teachers are still maintaining student data such as attendance and grades in notebooks. The review of student assignments is a manual activity, not supported by any software. The recording of the grades is a manual activity today, but in the future the teachers will use the new student management systems for this activity.
Student management systems are applications that typically manage student assignments, grades, attendance and school calendars and announcements. Such systems may be standalone applications used by teachers in schools, or they may be web-based, offering access to teachers, school administrators, students, and parents. Most colleges in the US use such systems today and many state counties (particularly those with high income households and high personal computer and web use) have begun using or experimenting with student management systems at the high school (grades 9-12) and middle school (grades 6-8) levels.
In the US most county school systems have very small IT departments. IT staff move from school to school to troubleshoot local computer problems but they don’t have the ability to develop large applications themselves. The decision to purchase a student management system often occurs at the county level where it is decided that all schools in the county must use the same applications. Sometimes individual schools decide to experiment with a particular system.
The development and deployment of a student management system has many requirements. Such systems may provide teachers with the ability to record attendance, record grades, let parents and students track performance, provide a calendar and collaboration capabilities, and more. Schools in the US today face tightening budgets and funding is often tied to student performance. They would like to deploy a technology that will help them but which features should they deploy?
Student performance can be tied to the ability to track student grades and intervene early if needed, but it is also tied to parental involvement. If a choice has to be made between features, should notification of dropping grades be implemented, a calendar showing assignment due dates and test dates, or a collaboration capability allowing all users to message with each other, or maybe a combination of these?
Business models can help the school system determine which features they need most to help them select the right student management system from a vendor. A business motivation model tying improved performance goals to metrics and tactics might indicate that early parental and counselor intervention is crucial and a facility is needed to send alerts based on conditions such as dropping grades. This capability along with a calendar allowing parents to know what assignments and tests are coming would be a better choice for the school system at this time than investing in messaging or collaboration features.
An organization model showing that a particular teacher teaches several versions of the same course in different periods, along with a business rule model for how a particular school system manages its periods during a week provides much more information than a simple requirement for a calendar. Only through the understanding that their schools need a flexible calendar system that allows periods to start at 8:03 and end at 8:44, and that supports the policy that on odd week days periods 4 and 7 are switched, can a school system avoid acquiring a system that has a simple daily calendar with on-the-hour period start and end times.
In the second part of this article I will discuss how business models can help vendors and software developers better understand their client’s needs.