Wednesday, March 16, 2011

TM1 and Excel - Information Processing Powerhouse

A well designed cube(s) or enterprise analytic solution is an information powerhouse, especially when used inside EXCEL. Rules to access TM1 cubes is the equivalent of using SQL on database. Analytic modelers can create complex models to derive insights on various facets of the enterprise without actually developing an excel and on the fly. To create a new model in EXCEL, the users just need the DBR() function.

A simple example: Consider the situation when a cube is designed to determine the monthly sales or inventory or financial information. These can be one or more cubes depending on how the enterprise solution is created. Using DBR(), an EXCEL-TM1 user can extract data from the cubes into the EXCEL worksheet. Once the organized data is present, trending models or aggregated yearly information models or any other predictive or informative analytics can be performed based on the task at hand without relying on enterprise solutions to be developed. Of course,  a well-designed cube with crisp structural, creational and behavioral patterns in a pre-condition to make TM1 and EXCEL combined an information powerhouse.

Monday, February 7, 2011

Dual professional life - contrasts and opportunities


Since jumping into entrepreneurial bandwagon, I have been leading a dual professional life - as a consultant and as an entrepreneur/ CFO/ Product Manager. Both of my assignments require a different focus and attention, and both are equally important to me. As a professional, I value retaining high standards in technical aspects of every assignment because excellence and quality is automatically derived with this approach. This has also helped earn the trust of my customers on my work. The challenge is to retain the focus required in each assignment while multi-tasking.
As an entrepreneur, I lead an organization (a startup) revolving around its products that can be accessed, potentially by a million simultaneous users/customers. I have to create product(s) understanding the economy, market segments, geography, competition and existing product gaps. The product features have to be tightly associated to various factors like using open source or create/buy product component, usability versus availability, competition & price, cost & infrastructure challenges, support, management and so on… The funding and organization structure has to be established. I have the responsibility, ownership and my decisions directly affect the cost, product and the organization.
As a consultant, I provide solutions to create  scalable enterprise applications for analytics in an environment where software product style development is more of a fancy stuff due to the nature of business. I would generally get an assignment to provide solutions for a problem and that becomes the immediate goal.  In most cases, I do have an available resource list that includes most of the above attributes to be used to deliver the solution. On the accountability front as well, even though it is imperative to deliver the best solution to the problem in hand, the customer often takes the responsibility for choices made and has the higher stake in the risk as well as rewards quadrant.
As an entrepreneur, many times I had to change my operating style to ensure that I took the right decisions at the appropriate speed to affect the outcome especially. This was quite challenging in my first year as entrepreneur, when it was a one man corporation that relied on a trusted partner to deliver the product framework 'Learnomorph'. Without enough experience or contacts in the entrepreneurial network, it was my own gut feel and analysis that I relied on besides discussions with friends. Learnomorph eventually became the basis for 'Gurukumo Inc' as I won the trust of friends who readily agreed to partner and form the new venture.
To successfully blend techno-functional management with a new organization and inculcate values that need to be practiced going forward required a decision making with a different thought process. I had to resort to my MBA class materials, cases studies of successful organizations, studies on how to do international business, etc. to formulate Gurukumo strategy revolving around innovation and products. There were various other activities that I gradually learnt after jumping into this value creating exercise - branding and brand management, challenges with outsourcing and managing virtual teams, managing transactions and government regulatory obligations to achieve offshore development, legal aspects of doing a business - especially global business, filing taxes, maintaining records and book keeping, building a product support framework, etc. to name a few. I also reset a few plans after understanding the ground realities of business environment.
Looking back, I do feel that I have created value for my organization as well as for my customers. While my experience as a consultant has helped me give the perspective of project dynamics in operations world where companies use software products in our product design, my entrepreneurial work helps me with the leadership required to deliver and maintain excellence in providing overall business solution to the problems at hand.  It is true that I have to continue with two full-time assignments for some more time. At the moment, I am enjoying the improved efficiency to deal with this, something I can experience because of the slight increase in my average sleeping hours over the past month. This is something that I would want to increase with time.

Sunday, January 30, 2011

TM1 TI Analytical Modeling- back to the 1990's OOPS - 2


TM1 itself introduces a pattern on the nature of cube development by clear demarcations on data definition, parameter definition, association of values to parameters from data sets an then finally loading the data on boundaries defined by parameters and rules. This simple but generic and powerful pattern can help create any type of multi-dimensional structure rapidly. This is one of the capabilities that TM1 brings for data analysis and can be used in literally any industry.
However, when we think of enterprise solution for analytics, where OOAD is required for simplification, to ensure consistency, reproducibility and reducing duplication (increasing reuse), this tight regulation poses serious challenge, especially without capabilities of programming languages like function, Array or Vector. When similar activities need to be done repeatedly time and again, ensuring these guidelines is quite a challenge.
For example, creation of dimension and population of the dimension elements is quite a generic thing that would need to be written time and again. A simple function would have made life very easy, but then we need to work around by creating a new TI process to do this simple task. Even if such a process is created that can accept parameters, multiple members in the team can still go ahead and create a dimension in their own way without adhering to the standards. This creates lot of variation on the architecture management in not only TM1 but most analytics projects involving the tools like TM1/COGNOS or ESSBASE or SPOTFIRE.
Besides, the other challenges to coming up with an enterprise architecture solution is the level at which objects are considered. While definition of object in TM1 is identical to that in any high level programming language, the universe of defining all objects is a row of data used in the input to TI process unlike the higher level programming languages where a row of data from the table represents an instance of an object.  Cube creation requires various types of analytical operations to be performed on collections of records. Handling these types of operations bring enormous challenges to how the enterprise solution is modeled. Hence, I consider that programming in TM1 takes us back to the 1990's where design patterns were the way out. I am trying to see if we have any new flavors in structural, creational or behavioral patterns that the differ from what the founding fathers or OOAD put up. My respect for Eric Gamma and the Gang-Of-Four increases as I can use combinations of their findings to achieve most of what I want, albeit the fact that I have to implement them without a array or vector or function to assist/simplify my task.

Tuesday, January 25, 2011

TM1 TI Analytical Modeling - back to the 1990's OOPS - 1


Analytics is now a very highly pursued field across the corporate world as most of the companies are trying to make use of the vast data they have accumulated to make predictive analysis and informed decisions or improve their business processes by understanding process data trail. Working with data is very different ball game especially when it comes to analytical modeling and developing integrated enterprise analytical reporting solutions around diverse organizational functions. The most modern tools like EXCEL, Essbase, TM1, Cognos or Spotfire - all of them offer remarkable capabilities to do various types of data analysis. Like most products, these are commercial solutions and provide tools to develop relations and translations across data segments in their own style.

Working with TM1 is however a different flavor, especially the Turbo Integrator (TI). One of the major issues with this tool despite having powerful capabilities is the fact that TI is not as capable as an object oriented programming language like Java or C++. However, it is expected to deliver OO results on data. Some of the basic capabilities of any programming language like Function() or Array[] are not available. This makes it very complicated to conceptualize enterprise solutions that are expected to be reusable. The situation is quite similar to the 1990's when programming languages were not very powerful and enterprise solutions architecture was not as mature as it is today. But the answer to implementing reusable, scalable, object-oriented enterprise solutions is same as in the 1990's - 'Design Patterns' or simply put, similar solutions to similar problems.

A common pattern that I used in one recent implementation of Enterprise Solution includes aligning / organizing the candidate data set on co-ordinate system where the axes have discrete points and use simple properties of co-ordinate systems on this model. Such an organization allows determining the characteristics of the elements in question and create a modular solution. The nature of the TI process tool itself can be effectively used to create code modules that are similar to functions dependent on arguments. Since these patterns are not specific to a particular industry or company specific data, pattern based enterprise solutions can be developed using TM1 for any industry specific problem. Such a style or architecture is important in the current business environment where  there is a huge demand for such intelligent/analytical reports to beat the market or improve business performance/productivity. It is not easily realized that these tools are extremely costly to implement and manage because of the proximity of the output to senior management and the dynamics of the implementation that are so closely tied to data. Hence, pattern based solutions become important to scale and reproduce output.