We finished the requirement part and we were ready for the next phase, analysis phase.
Based on our agreement with client, we were going to use SQL Server 2005, SharePoint Server 2007 and PerformancePoint Server 2007 as tools for Business Intelligence system. What we were going to build was not pure BI system, but we were asked to build some features that is used for daily needs. So for that matters, we decided to build the system with Ruby on Rails. That means the system will be web based application.
Enough for the brief description of system architecture and now for the team.
The team comprises team leader, system analyst, db engineer, and programmers. Well, I don’t know whether I should say fortunately or unfortunately, I was chosen as Database Engineer. That means, my responsibility is to handle all the things related to database management and development of data warehouse for BI. Of course, as DB Engineer I need to arrange my to-do list and the steps were :
- Analyze the database structure including its relationship based on requirements
- Design and construct the database based on analysis with SQL Server 2005
- Use SQL Server Analysis Service 2005 to build the cube
- Use SQL Server Integration Service 2005 to create the ETL (extract, transform, and load) process
- Use SQL Server Reporting Service 2005 as report generator and provider
- Use PerformancePoint Server 2007 to generate the scorecard and dashboard
- Use SharePoint Server 2007 as a place to publish our BI system
Well that’s my plan for our project and hope it could be realized and success.
Now let’s start for the first 2 steps. Well I think, and maybe everyone thinks the same, that if you produce a well analyzed database structure, design phase will be an easy thing. But unfortunately, one problem that could hinder my step was technology exploration. I never used SQL Server family technology before, that made exploration was a must. While I create my analysis, I also did my exploration toward the technology and it went well.
During the analysis, my one and only problem was data produced by requirement still not complete and some of it was absurd. Therefore, assumption was the best thing to make. That’s why actually my database was created based on a lot of assumption. Actually, I don’t like to develop something based on so many assumptions, because small mistake in assumption could lead to chaos. But if I don’t assume for some part, I believe our project finishing will be delayed.
Overall, these 2 phases didn’t have any significant difficulty and passed nicely. And what I can conclude from these part is :
- It’s important to know what you are going to do in detail
- It’s really fun to face something new, since I never have job involving BI
- You have to prepare everything for your job including your workflow
- Beside the concept, you need to know how to use the tools. That’s why, exploration of technology become an important thing
- Actually, requirement phase is difficult. Hard for you to know that data you’ve gathered is enough or not. When the fact it isn’t, the impact is analysis phase will face some trouble. Like I experienced, I need to make some assumption regarding the data.
Well, enough for this part and let’s continue to the next part.