640 likes | 921 Views
30 critical lessons for global SAP NetWeaver BI project Teams. Dr. Bjarne Berg . What We’ll Cover …. Introduction Scoping the SAP NetWeaver BI project Getting the project started - project plans & execution Designing InfoCubes — the good, the bad, and the ugly
E N D
30 critical lessons for global SAP NetWeaver BI project Teams Dr. Bjarne Berg
What We’ll Cover … • Introduction • Scoping the SAP NetWeaver BI project • Getting the project started - project plans & execution • Designing InfoCubes — the good, the bad, and the ugly • Improving performance — what to do, and how to do it • Understanding the curse of MultiProviders • Cleaning up and DSO management • Considering global integration points • Wrap-up
BI Has “Grown Up” and Is Now a Core Infrastructure Requirement • 59% of companies now have an enterprise data warehouse • This number will grow to 86% by 2009 • However, only 39% of companies have a BI competency center and only 54% have an enterprise information strategy Source: Business Week Research, Sept. 2007 Where will your company be in three years?
What We’ll Cover … • Introduction • Scoping the SAP NetWeaver BI project • Getting the project started - project plans & execution • Designing InfoCubes — the good, the bad, and the ugly • Improving performance — what to do, and how to do it • Understanding the curse of MultiProviders • Cleaning up and DSO management • Considering global integration points • Wrap-up
1. Global Master Data Integration and SAP NetWeaver BI • When an organization has multiple SAP R/3 systems, the SAP NetWeaver BI master data integration can be cumbersome • Determine what local master data needs to be maintained in the BI system and load it as separate master data • Determine what global master data needs to be maintained in the BI system and load it to the shared areas • To do this you will need master data mapping rules or tables • If you have conflicting master data, consider loading the local masterdata to DSOs (make it reportable) and merge the global master data to be used by the InfoCubes • Alternatively, you can load versions of master data into custom master data objects in SAP NetWeaver BI and use the merged master data as the “0 objects” If you have multiple regional transaction systems, plan on spending 5%-10% of your global project time on master data integration, design, and testing.
2. Using MDM for Global Master Data Integration • You can also decide to use the SAP NetWeaver Master Data Management (MDM) tool to manage and merge the global master data in a central location Source: SAP NetWeaver Magazine, Alan Joch If an MDM implementation is warranted, make it a separate project and don’t include this as part of the global BI project. The BI system simply extracts the new merged and integrated master data.
3. Privacy and Security Concerns across International Boundaries • European and many Asian countries have strict privacy rules • European Union Commission’s Directive on Data Protection protects personal information from Europe to countries whose privacy practices are not deemed “adequate” • All European Union (EU) member countries are bound by the European Commission’s finding of adequacy • Your company can become entangled in many local laws, or seek participation in the “safe harbor” agreements by the Department of Commerce (costs up to $500) • The safe harbor eliminates the need for prior approval to begin data transfers, and makes approval from the appropriate EU member countries automatic Some European Restrictions Personal information cannot be collected without consumers’ permission. They have the right to review the data and correct inaccuracies. Data processing companies must register their activities with the government. Employers cannot read, copy, or transfer workers’ private email. Personal information cannot be shared by companies or across borders without express permission from the data subject. Safe harbor agreements can reduce exposure to such legal issues.
4. Capacity and Scalability Is the Top Concern for Your CxO • Don’t under size your global BI system • Spend adequate funding on hardware, memory, processing power, and disk space A survey of 353 top C-level officers in large companies reported that the top BI concern was the scalability of their solutions. Source: Intel, SAP, and Business Week "Seizing the BI Opportunity" 2007.
4. Capacity and Scalability — Global Hardware Example • This company reallocated their Sun-6900 box (on Oracle) and have three app servers on the production box • More memory allows them to take better advantage of the parallel load of the BI system and to cache many of the frequently run queries (BEx Broadcaster) • The hardware also allows them to compare performance between the boxes Example of a large BI system Production 12 CPUs 96 GB RAM Sandbox 4 CPUs 32 GB RAM Development 4 CPUs 32 GB RAM Test 4 CPUs 32 GB RAM • Key numbers: • 3.1 Terabytes of data • 2,810 named users • About 620 active users Global systems must consider network connections (speed), data encryption, and distributions of application and Web servers for load balancing (due to 24-hour operations).
When to Select Different Methodologies High System development Life cycle Joint Application Design based methodologies (JAD) (SDLC) Time to Delivery Rapid Application Development Extreme Programming (RAD) (EP) Low Low High Impact of Failure 5. Pick a Formal Methodology — You Have Many Choices • Accelerated SAP (ASAP) methodology is not your only choice • Even though harder to manage on a global project due to long communication lines, consider RAD, JAD, or EP based on the time to delivery and impact of failure Look at what your global organizational partners have done. You may know more about RAD than you think! Source: Bjarne Berg, Data Management Review 2004
6. Report Dispositioning — Don’t Throw Every Report into BI • Many tools exist that can report on SAP R/3 data • You might have static reports that belong in SAP R/3, which would not be cost effective to develop in SAP NetWeaver BI • Make cost-effective decisions • Just because the report is not in SAP NetWeaver BI does not mean it cannot be added to a Portal or viewed on the Web • Not all reports belong in SAP NetWeaver BI • Avoid using BI as a “dumping group” • You need to make conscious decisions on what reporting needs you are going to meet, and how you will accomplish this You need a formal report dispositioning process and need to evaluate every requirement as BI vs. transaction reporting.
7. SAP Solutions Manager — EarlyWatch Reports Are Great! • EarlyWatch reports provide a simple way to confirm how your system is running and to catch problems • A “goldmine” for system recommendations • Run them periodically and read the details • A real EarlyWatch report from a mid-sized company that has been running SAP BW for the last three to four years On a large global project, system issues can be hard to pin-down without access to EarlyWatch reports. The monitoring reports allow you to tune the system before the user community gets access and complaints arise.
7. SAP Solutions Manager — EarlyWatch Performance Info Due to time-zones, a 24-hour operational system,will have less time to react and fix issues. Therefore, early detection of system issues are critical to the success of a global project.
8. Organizing the Global Team — Six Ways to Balance the Global BI Development Effort The more distributed the BI development effort becomes, the more difficult it is to maintain communication and get cohesive requirements.
Project Sponsor Project Manager Business Team Technical Team Business Analyst BI Architect Presentation Developer ETL Developer BI Basis and functional SAP R/3 support 9. Organizing the Global Team — Small Technical Team Roles • These are roles, not positions • Sometimes one team member can fill more than one role Many companies fail to formally assign roles and responsibilities. As a result, they have many “jacks of all trades” and “masters of none.” The team consists of four to five team members and projects lasts normally 3-6 months depending on scope ETL = Extract, transform, and load
Project Sponsor/ Steering Committee Project Manager BI Architect Portal Developer(s) Sales Team Finance Team Material Mgmt. Team Business Analyst/(sub-team lead) Business Analyst/(sub-team lead) Business Analyst/(sub-team lead) BI Developer BI Developer BI Developer Presentation Developer(s) Presentation Developer(s) Presentation Developer(s) ETL Developer ETL Developer ETL Developer BI Basis and functional SAP R/3 support 10. Organizing the Global Team — Large Functional Teams In a global BI organization, you simply need to create functional teams (instead of the previous technical team models). 15-30 team members and normally 6-18 months duration between each go-live
11. Organizing the Global Team — Localized BI Training • Training for end users and the local query developers should be completed in their own language to assure understanding and encourage participation • Developer training should be in the project language (e.g., English, German, French) Don’t underestimate the value and cost savings of in-house training.
Dashboard Scorecard Cockpits Purpose Displays performance Displays progress Displays status and events Usage Performance monitoring Performance management Performance management Updates Real-time feeds Monthly snapshots Daily snapshots Data Events Summaries Summaries and events Measures Metrics KPIs Metrics and KPIs Context Exceptions/alerts Targets and thresholds Trends Source Linked to systems Linked to plans Linked to BI systems Sources: Wayne Eckerson, 2005; Bjarne Berg, 2006 12. You Have to Plan for Global Cockpits • 58% of all companies reported that they were already using BI dashboards and 25% more planned to do it in 2007-2008 • Source: Business Week Research Sept. 2007, survey • Dashboards are no longer cutting-edge • Expected by senior management Dashboards and cockpits should be in your long-term global BI strategy (three to five years).
13. Pick a Project Language and Stick with It! • If you don’t enforce a global project language, BI project documentation becomes fragmented • The project team will quickly disintegrate into groups based on the language with which they are most comfortable • Enforce a project language and require that all emails are written in it and all notes are taken in the same language • Don’t allow “side bars” in languages that others don’t understand Make sure the project language is clear, and that pertinent documents are translated in a timely fashion.
What We’ll Cover … • Introduction • Scoping the SAP NetWeaver BI project • Getting the project started - project plans & execution • Designing InfoCubes — the good, the bad, and the ugly • Improving performance — what to do, and how to do it • Understanding the curse of MultiProviders • Cleaning up and DSO management • Considering global integration points • Wrap-up
Resource Leveling — 1. Base It on the Scope (Real Example) Remember that your sizing also has to be based on the team’s experience and skill level.
Resource Leveling — 2. Prioritizing & ‘rules of thumb’ (real example) Plan to spend 15% of the project time on project prep, 25% on blueprinting, 45% on realization and 15% on go-live. There is a risk of spending too much time on design and short changing development time, which often causes project delays. Accept that you will not have answers to all questions until you see the data and queries.
Project Preparation Phase — Dependencies • Key to project prep phase is the level setting of all parties • One-day workshop with stakeholders, managers, and sponsors • Dedicate some time early in the workshop to demo SAP NetWeaver BI and discuss capabilities of the tool set A one-day workshop can remove project confusion and delays, help in getting the right requirements, and avoid missing “low hanging fruit.”
Blueprinting Phase — Planning Dependencies • Many tasks can take place at the same time • The trick is to ensure all team members are active and the workload is evenly balanced throughout project Note: Example dates are based on a 6-8 weeks RAD implementation Spend some time on resource loading and workload balancing. Not all tasks are dependent.
Blueprinting Phase — Project Management, Test Plans, Dependencies SAP R/3 and BI testing is not different from a methodology standpoint, but the execution is.
Realization Phase — Development Core Dependencies • Most issues during this phase will be data ETL • While you cannot plan for all issues, you can set aside time to deal with them Data cleansing should occur in the source system. (Hint: Cover this in the scope statement.)
Realization Phase — Testing Core Activities “There's no time to stop for gas, we're already late.” Testing is not a waste of time! Business analysts are responsible for planning and executing the system testing of queries.
Final Preparation Phase — System Testing Dependencies • Typical backup strategy • Run a full system backup on the weekends and only delta backups each day before the load process starts • Make sure that you can actually restore from the backups and that the system has the resources it needs (i.e., Will one application server be enough?) Don’t underestimate the need for system testing for performance and recovery purposes.
Final Preparation Phase — User Training & Support Dependencies • This is the time to execute the production support plans and re-organize the project team into a sustainable organization, or plan the hand-off to a support organization if one exists • Remember to plan for the integration of your support plans with your organization’s existing support systems and help desk routing
Final Preparation Phase — Dependencies • You can often cut over to the production box before the go-live • If you already have BI users live in-the-box, you can mask the new functionality by not mapping the new queries to the user’s role menu until you are ready If you are already live with other content, plan for a weekend cut-over and spend Saturday to validate the production box. This gives you Sunday to fix any major issues.
Go-Live — Post Go-Live Activities The last deliverable for the implementation ensures high system performance through monitoring & feedback. The support organization will take over the system after a pre-determined time period. Some team members may transition into their new roles as support staff. We need to execute issue resolution plans and contingency plans. This is a critical time when a “SWAT” team that quickly addresses user concerns can make all the difference in how the system is received among the users. A “lessons learned” session should be held at the end of the project to assure organizational awareness and education. Source: Pauline Woods-Wilson
Unit Logistics Material Billing information Currency Key Plant Unit of Measure Material number Shipping/receiving point Base unit of measure Material entered Billing document Sales unit of measure Material group Billing item Volume unit of measure Item category Billing type Weight unit of measure Product hierarchy Billing category EAN/UPC Billing Billing date Creation date Cancel indicator Number of billing documents Output medium Customer Number billing line items ~ Batch billing indicator Billed item quantity Debit/credit reason code Net weight Billing category Sold-to Subtotal 1 Reference document Ship-to Subtotal 2 Payment terms Bill-to Subtotal 3 Cancelled billing document Payer Subtotal 4 Divison for the order header Customer class Subtotal 5 Pricing procedure Customer group Subtotal 6 ~ Customer country Subtotal A Document details ~ Customer region Net value ~ Customer postal code Cost ~ Customer industry code 1 Sales order document type Tax amount End user Sales deal Volume Sales document Organization Company code Accounting Personnel Time Division Distribution channel Cost center Sales organization Sales rep number Calendar year Profit center Sales group Calendar month Controlling area Calendar week Account assignment group Calendar day LEGEND Delivered in standard extractors Delivered in LO extractor Not in delivered Content - but in R-3 14. In the Blueprinting Phase — Model Your Global Solution 1. Create a model based on pre-delivered SAP NetWeaver BI content 2. Map your data requirements to the delivered content, and identify gaps 3. Identify where the data gaps are going to be sourced from Storage Requirements + Storage Objects Standard Content Map functional requirements to the standard content before you make enhancements
15. Accept Cultural Differences — No Culture Is Dominant! • Cultural differences should not be tolerated, but embraced • Europe has longer vacations (four to six weeks are common, not exceptions) • Family time is important — don’t plan 12-hour workdays for four months • Not everyone is equally interested in hearing how we do things in the US • Many cultures find it offensive to talk about salaries, and money • Talk about value and deliverables instead • Consider a co-project manager
16. Meet Local and Global Requirements • In most global organizations there are varying product hierarchies, financial reporting requirements, mapping of accounts, data integration, and tool requirements • Try not to solve only the enterprise reporting needs of the corporation, but also the local reporting and analytical needs • This way you will get local support and ensure the system will actually be used • A successful global BI project has more than one constituent If you ignore local requirements, they will simply reinvent your effort and find work-arounds and other tools.
17. Determine Where to Start • All functional areas are not equally supported by strong standard BI business content • Some areas have much you can leverage, others will require significant enhancement to meet your requirements • The differences are often due to customization in SAP R/3 by companies and/or industry solutions Focus on an area that solves a problem instead of becoming a “replacement” project. Gradually, using a priority-phased approach, solve other business problems. A good way to think of a BI rollout is in terms of business problems.
What We’ll Cover … • Introduction • Scoping the SAP NetWeaver BI project • Getting the project started - project plans & execution • Designing InfoCubes — the good, the bad, and the ugly • Improving performance — what to do, and how to do it • Understanding the curse of MultiProviders • Cleaning up and DSO management • Considering global integration points • Wrap-up
The observation relates a company’s current BI system to normally observed configuration parameters, which serve as benchmarks to what is commonly seen at other implementations 18. InfoCube Design — Evaluating Designs (Example) Cubes with many red or yellow codes should be examined KF = Key figures
19. Partitioned InfoCubes That Are No Longer the Same • Often when InfoCubes are physically partitioned, changes occur as new development and fixes are applied • After a while, there is a risk that some of the physically partitioned InfoCubes are no longer identical • This can cause many issues (i.e., if archiving is used, you must ensure copies of these older datastores are maintained to be able to restore data)
InfoCubes should be named: 0ABC_C01 or ZABC_C02 ODSs should be named: 0ABC_O01 or ZABC_O02 MultiProviders should be named: 0ABC_M01 or ZABC_M02 20. Naming Conventions Should Be Followed ODS = Operational Data Store
What We’ll Cover … • Introduction • Scoping the SAP NetWeaver BI project • Getting the project started - project plans & execution • Designing InfoCubes — the good, the bad, and the ugly • Improving performance — what to do, and how to do it • Understanding the curse of MultiProviders • Cleaning up and DSO management • Considering global integration points • Wrap-up
Global Performance Issues • Global projects have many performance challenges • Hardware must be optimized for 24/7 operations and Network capabilities • BI system must also have optimal backup and disaster recovery windows and rapid data load processing • Since most of the query rendering time is spent on the database, it is important that global projects spend serious time optimizing the database reads by leveraging tools, such as the BI Accelerator and the classical SAP NetWeaver BI aggregates The correct definition of global aggregates can dramatically reduce the time spent on database reads by the BI queries, thereby delivering faster queries to the users in different countries
21. Performance Enhancements Are Available — Use Them • Check indexes periodically • Under RSA1 Manage Performance • Check database statistics to route queries faster • At this company, 50% of the InfoCubes had outdated database statistics that should be updated • For large InfoCubes, or cubes with many users, the percentage used to build the database statistics can be increased to 15%-20% • May yield improved query routing
21. Performance Enhancements — Aggregates Are Often Incorrectly Built (Example) • Several cubes have no aggregates, while others can benefit from generating new proposals • A score above 30% for average aggregate valuations should be a target for a data store
21. Performance Enhancements — Correct Aggregates Are Easy to Build • This example shows the benefits of aggregates by using system statistics to generate proposals • This very large InfoCube had over 160 queries attached to it and only one aggregate • Select the run time of queries to be analyzed (e.g., 20 sec) • Select time period to be analyzed • Only those queries executed inthis time period will be reviewed to create the proposal • High value aggregate proposal (users who had queries that ran over 20 seconds during the last six months would have benefited from 438 times — each query execution)
22. Memory Cache Is Often Set Too Low • The cache settings at many companies are too low • For example, at one large company the cache was set at 100 MB for local and 200 MB for global cache, which is too low for a system with thousands of users and 4 TB of data • Review the settings with the Basis team and look at the available hardware • During the review, use the transaction code RSCUSTV14 in SAP NetWeaver BI to increase the cache, if needed • Focus particularly on the global cache • To monitor the usage of the cache, use transaction code RSRCACHE and also periodically review the analysis of load distribution using ST03N – Expert Mode Example: At one company, over 61% of all 35,644 navigation steps in a month accessed the database instead of the cache, even after the query was executed.
23. Use the BEx Broadcaster to Pre-Fill the Cache Distribution Types By broadcasting the query result of commonly used queries to the cache, your users do not need to execute the query from the database. Instead the result is already in the system memory (much faster).
24. Focus Performance Enhancements on Large InfoCubes • Typically 20% of the cubes and queries will see 80% of the usage • Focus on these when performance tuning, or it can become overwhelming • InfoCubes with over 100 million rows should be analyzed for performance enhancements, such as broadcasting of queries to cache, aggregates, indexes, database stats, etc. Avoid building local queries that are unique to the various geographies or business units. Focus instead on the reusability of global queries that are saved as local views (favorites).
What We’ll Cover … • Introduction • Scoping the SAP NetWeaver BI project • Getting the project started - project plans & execution • Designing InfoCubes — the good, the bad, and the ugly • Improving performance — what to do, and how to do it • Understanding the curse of MultiProviders • Cleaning up and DSO management • Considering global integration points • Wrap-up
25. Avoid “Swiss Army Knife” MultiProviders: It Will Be Slow! • There is a temptation to use only a few MultiProviders to build all queries • This may dramatically slow down queries • Hint: This design may prevent queries from being executed in parallel Avoid attempting to build a single MultiProvider to do all functions of the data warehouse
25. “Swiss Army Knife” MultiProviders and Parallel Processing • To avoid an overflow of the memory, parallel processing is cancelled as soon as the collected result contains 30,000 rows or more and there is at least one incomplete subprocess • The MultiProvider query is then restarted automatically and processed sequentially • What appears to be parallel processing corresponds to sequential processing plus the preceding phase of parallel processing up to the termination • Generally, it’s recommended that you keep the number of InfoProviders of a MultiProvider to no more than 10 (ideally less than 4-5) Avoid creating InfoCubes that are specific to one country or business unit. If you do this, you will have to later combine them in large MultiProviders that may cause slow performance.