Identifying and understanding the business and operational requirements that drive any data warehousing project are essential to the project抯 successful completion. You cannot meet your clients?needs if you have not assessed and analyzed what those needs are and how you can address them.
The most important part of the business requirements process is finding out who knows what the requirements should be. In most cases, the answer to "Who knows what we need to know?" is that nobody knows it all, but everyone knows a part.
And What Do They Know?
The answer to this question is they know far more than they imagine. In most cases your sources do not know they have valuable information and to what extent they are the only possible source for vital information that will help insure the project抯 success.
The Biological Knowledge Base
Systems are designed, created, maintained and operated by people who have first hand system information. This group of experts is collectively identified as the biological knowledge base that you must tap effectively in order to extract the information you require.
Play by the Rules
Your organization抯 business rules (functional requirements) and operational characteristics (non-functional requirements) are the essence of the design requirements for your project. They must be carefully cataloged and analyzed to insure internal consistency. When inconsistencies are found, you need to identify the cause of the inconsistencies (you will find that in some cases the inconsistencies are perfectly valid and reasonable) and determine the proper method(s) for adjusting the project.
How It Has to Work and Why
For each component of your project, you will need to identify the operational and business requirements. For example, there will be times when the need for 24X7 availability will supercede the need for total accuracy. Situations such as this must be taken into consideration and included in your development plan.
Cultural and political constraints will have a serious impact on your success, so they must be addressed while collecting the business requirements that define the project. Even in those cases where the political environment is opposed to the needs of the project team, you can use political relationships to increase the visibility and acceptance of your project, but only if you have a clear understanding of the dynamics involved.
Every project faces risks, some are minor, some severe. The successful project is based on identifying what those risks are, how likely they are to occur, how serious they are and what actions are best to prevent the issues from arising. Identify the tactics to be used in dealing with the issues when they do arise, because, despite your best efforts, some will still occur.
Mine the Biological Knowledge Base
The biological knowledge base is the complete body of human knowledge and intelligence available. The readily accessible biological knowledge base primarily consists of: designers and developers, knowledge workers, end users, management, system staff, security staff and physical maintenance staff.
Everything you learn from the biological knowledge base should become a part of the business requirements for your project and be fully documented to serve as valuable material for subsequent projects.
Design and development staff members are those who are or have been responsible for creating and maintaining existing systems and are tasked with integrating future systems. You will need to gather business requirements and functional constraint information from architects (business, data and system), database administrators, database analysts and programmer analysts. Each will have their own perspective on your project and on the information needed in order to make it successful.
Effectively interviewing the designers and developers will provide you with background information that will give your project a head start toward a successful completion. Their knowledge will provide a foundation upon which to build the final business requirements that your business partners identify.
Architects create the designs for the environments in which applications and systems function. They are seldom directly involved in building the applications, systems or databases, but provide the blueprints from which such structures are created.
Architects can detail information contained in the design documentation as well as the enterprise standards, logical limitations and business functionality. Architects also begin gathering the data requirements for the project.
Database administrators and analysts are experts when it comes to creating, maintaining and optimizing the data structure behind information management applications. These DBAs are an invaluable resource.
DBAs can provide your team with nearly everything it needs to know about database management systems, structure, security, resource requirements (hardware, software and personnel), enterprise standards, physical limitations and how others have integrated business rules into their database implementations.
Programmer analysts are the ones who create the code that makes applications work. Their job is to take a concept and turn it into a functioning system that provides the desired capabilities.
These specialists should be interviewed with the intention of deriving information on operation limitations in their applications, structural standards that constrained the design and development of the applications, how they enforce the business rules that defined their projects and a listing of the design requirements from which they worked.
Knowledge Workers (Subject Matter Experts)
Knowledge workers are those who work with the base information for your project. They consist of business analysts, actuaries, accountants and business consultants, as well as marketing, sales, clerical and production.
Business analysts are your best resource for understanding the true business meaning for a particular data element or set and for identifying the logic on which the application is based.
They will provide you with information on which business questions need to be answered and where to find the data that will help to answer them. They will also provide you with the specifications on functional reporting requirements ?the information they need to have in order to develop the reports upon which decisions are based.
Actuaries are statistical analysis specialists who determine the likelihood that something will happen a specific number of times within an identified group during a given time period. They can also be called risk analysts because they job identify risks the business faces.
They provide your team with information on the data elements they require in order to perform the statistical analysis upon which their predictions are dependent. They can also identify many of the derived and dependent measures that will assist them in preparing analyses as needs and demographics change.
Accountants are the true numbers crunchers of the organization. They are the ones who determine to what extent the organization is profitable. They make sure the books balance. They tend to be detail oriented to the exclusion of nearly every other consideration.
You will get specific information regarding the data that feeds the profit/loss analyses they use in building financial reports and budget management reports. They will also provide detail on the derived and calculated measures from which they build these reports.
Business consultants, whether internal or external, specialize in identifying ways to improve business functionality and preparing plans for implementing the new processes. In order to accomplish their tasks, they must receive clear and reliable information regarding the current and historical views of the business as well as developing trends.
The consultants will identify the business questions they need answers to in order to identify the current state, which they base their trend analyses on. In many cases, the most important pieces of information are derived from profit/loss reports.
The marketing team is primarily interested in identifying potential customers, learning what products or services they want and determining how your organization can fill all or part of that need. In order to perform their tasks most effectively, they need to have sales, production and customer support data.
The marketing team will be able to provide you with information on the following topics: client segmentation, test marketing requirements, marketing program effectiveness, customer relationship management and value chain management.
The sales staff is responsible for actually turning a marketing plan into financial transactions. They need to judge the effectiveness of sales strategies and tactics on a near real- time basis in order to adjust to market conditions.
Your sales professionals will identify the information they need in order to support both sales and production reporting. They will need this information on a periodic basis (sales for a specific date, week or month) as well as on a period to date basis (production so far this year or month). They will also need reports detailing projected production, inventory levels and sales in queue.
The clerical staff is primarily responsible for all data entry operations. They are usually hourly employees who do not have a highly developed technical skill set. They often overlooked in determining the design requirements for a business intelligence data store. However, they can be a font of knowledge regarding productivity reporting and data quality issues.
When interviewing these team members, focus on the data issues that effect their productivity. They will be able to help you identify the elements which are essential to developing a comprehensive data quality program as well as staff productivity reporting.
Your production staff is most intimately involved in developing, producing and delivering your organizations? products and services. The information that most directly affects production includes: pending orders, inventory (current and projected), changes in production requirements (especially special marketing) and personal productivity.
Production is another group that is frequently underutilized in determining data warehouse requirements. They can provide vital information on the data elements such as inventory control and order processing reporting systems. They will also be your best resources for validating that the productivity requirements you have identified are in fact those that have the highest value for the organization.
Depending upon the structure of your organization and the business you are in, you may have several other categories of knowledge workers you will need to interview. Some examples include: legal, political action teams, environmental impact specialists, medical practitioners and product design professionals. In each case, take the time to get to know the job as well as the person doing it, so you can understand the context in which the required information is used.