I have used Business Event Analysis and Modelling (BEAM*) many times at work over that last five years. So, what makes it great and why do I use it time and again? First of all, I should explain what BEAM* is.
What is BEAM*?
BEAM* is a flexible methodology allowing collection of business requirements for data warehouse design in an agile proactive way. BEAM* starts with collecting business processes from the customer in interactive non-technical workshops using Post-It notes. These provide you the information you require for straight forward design of fact and dimension table. By the end of the whole process you have a set of designed and documented star schemas ready to pass on you Extract Transform and Load (ETL) developers to build in your data warehouse.
Now you have a flavour of what BEAM* is, what do I think makes is so good?
1. Business focused
BEAM* is focused on the business. It collects requirements by asking simple questions in plain English – no ‘techy’ talk! Using BEAM* allows you collect information on what is occurring in the business by asking the following:
- Who is involved?
- What did they do? To what is it done?
- When did it happen?
- Where did it take place?
- How many or much was recorded – how can it be measured?
- Why did it happen?
- How did it happen – in what manner?
So, using a common scenario, a person ordering food, what information would you typically obtain?
For example: Arthur Dent went to the Vortex pizza shop on Wednesday 30th October at 7pm. Arthur places an order with Ford Prefect for 2 Quattro Formaggi pizzas. Marvin phoned the Vortex pizza store on Thursday 31st October at 6:30pm, Ford answers, and Marvin then orders 1 Pepperoni pizza for collection, Marvin is a frequent customer and get the 10% frequent order discount.
Table One: Results from the 7 W collection of pizza ordering data
This produces very clear and understandable information for both business people, analyst and data warehouse developers. It allows everyone to talk the same language.
2. Model Collaboratively
BEAM* allows you to model collaboratively. This has several advantages. It identifies the important business event that merit recording and measuring. This helps to scope the project and prioritise the work that needs to be completed first. It also helps the business identify events and determine how they are to be measured. Most importantly working together collaboratively creates shared ownership of the solution.
3. Incremental build
BEAM* allows you to plan, design and build your data warehouse incrementally. It is fantastic to be able to do this as it means that you can deliver value to business quickly. The incremental build also allows you to be more flexible and adjust the design and respond to change.
4. Document as you go
BEAM* has some diagrams and notation that you use when collecting requirements, designing the data warehouse and prioritising the work. This means that you document as you go, it saves time and provides concise information on your requirements and design.
The BEAM* diagrams are as follows:
Hope this helps, Alison.