Blog Archive

Sunday, November 13, 2011

Behavioural Science – Part 2

Global Sourcing IT Industry
Mahmudur Rahman Manna [ref]


Team Formation and current practices:

Gaming World: Multi Agent System (Markov Decision Process)

In game theory, a discussed topic is Multi Agent Systems along with Markov decision process. Agent is an autonomous entity that acts in the world, interacting with its environment and with other agents. It can be a human, a robot, a software process etc. One of the key ideas behind this approach is that several different agents can cooperate to achieve certain goals. This requires the design of efficient collaboration protocols, of which team formation is a typical example.

Cooperative behaviour, which is one of the greatest advantages of agent based computing, has been studied from many different angles over the years. Coalitional games have traditionally been analysed from a game-theoretic perspective, but in recent years have attracted a lot of attention from researchers in artificial intelligence, especially in cooperative task completion. Several approaches for team formation and collaborative task solving have been considered including team formation under uncertainty using simple heuristic rules, reinforcement learning techniques and methods using distributed graph algorithms. To reason formally about cooperative games, several logics (e.g., Alternating Time Logic, Coalitional Game Logic, Strategy Logic) and other formalisms (e.g., Cooperative Boolean Games) have been introduced and used to analyse coalitional behaviour

This theory introduces definitions of:
-          Agent organisations,
-          Tasks,
-          Teams,
-          Rewards (to measure the performance of both individual agents and agent teams).


Furthermore this theory has now several developed algorithms and models for verifications. Off course those are to improve how we can derive more efficient and effective, near perfect results/successes.


Relevance of introducing this topic is clearer for the similarities it has with our multi provider and vendor oriented developments. In our case it’s not system or robot rather it’s us. A consciousness driven being whose self-esteem is highly counted to him/her rather than any team success and organisation gain if not it merges or matches with his/her self-esteem.  

Its better we are already dealing with intelligent and social being, who usually loves to be in team. But also we know about lots of wars the world has seen. So the dynamics of team is really complex part to keep in a steady mode and surely if there is no such mentor body to take care of that.

But the interesting part of Markov Decision Process (MDP) is its ‘reward’ part that really counts also in human cases.

MDP has four key things:
1.       State
2.       Action
3.       Probability of an  action to be in a state at a certain time
4.       Reward

And reward comes when an action achieves a certain state. 


                                                                   
                                                                 Figure 6: MDP (‘S’ refers State and ‘a’ refers action)

There is much implication of MDP in our multi provider based project development. Our try will be to relate team dynamics and MDP core concepts to bring on a table and analyse how it can help in having a better environment for individuals who are dwelling in heterogeneous provider based platform.   


References
John B. Miner, ORGANIZATIONAL BEHAVIOR Foundations, Theories, and Analyses, OXFORD UNIVERSITY PRESS, 2002

Stephen P. Robbins, ORGANIZATIONAL BEHAVIOR, Prentice Hall International, Inc.

Fonstad, Nils, and Robertson, Engaging for Change: An Overview of the IT Engagement Model, CISR Research Briefing, Sloan School of Management, Massachusetts Institute of Technology (MIT), March 2005.

 Craig Schiff, Engagement Management is Key to Implementation Success, http://www.information-management.com/issues/20040401/1000840-1.html , November, 6th 2011.

Dr. Z , Business of Stress: Rise of the Type A Machines, http://www.stresshacker.com/2010/01/business-of-stress-rise-of-the-type-a-machines/, November, 6th 2011.

Donald Bell, UML basics: The component diagram, http://www.ibm.com/developerworks/rational/library/dec04/bell/, November, 6th 2011.

Ilan Oshri and Julia Kotlarsky, Special Issue on Global Sourcing: IT Services, Knowledge and Social Capital, http://www.palgrave-journals.com/jit/journal/v23/n1/full/2000129a.html#bib7 , November, 6th 2011.

Taolue Chen, Marta Kwiatkowska, David Parker, and Aistis Simaitis, Verifying Team Formation Protocol with Probabilistic Model Checking, Department of Computer Science, University of Oxford, July 2011.

Frank Dignum, Dialogue in team formation: a formal approach, Faculty of Mathematics and Computing Science, Technical University Eindhoven.

Jos´e M Vidal, Fundamentals of Multiagent Systems with NetLogo Examples, University of South Carolina, March 2009.

S. Abdallah and V.R. Lesser. Organization-based cooperative coalition formation. In IAT, pp. 162–168. IEEE, 2004.

Roderick van cann, slinger jansen and sjaak brinkkemper, Team Composition in Distributed software development, universiteit Utrecht

Sunday, November 6, 2011

Behavioural Science – Part 1

Global Sourcing IT Industry
Mahmudur Rahman Manna [ref]

 
This writing is to identify specific components involved in global sourcing for IT services and signify there behavioural patterns and relationships among them. Try will be to bring out key elements that drives the process to success or turns into frustration.

Introduction

Psychology, sociology, social psychology, anthropology, and political science; current organisational behavioural science discusses about these topics. When two organisations get involved in a set of processes then the significant importance of organisation behavioural science becomes stronger.  Engagement chemistry has a bold impact on and in the involved organisations.


 
Type mismatch is a usual error we have to take care of in our programming life. And in polymorphic and dynamic context, casting is a solution mostly we use. If an Interface (template or set of standard definitions) is implemented in our local context (inner organisation) and if the Interface is available in remote context then there is good possibility that our implementation will be recognisable over there. Other than that we have to customize our implementation or set our Interface there newly. Now commonly everyone is used to with the word “lookup”. In solution development normally we use this lookup with our Interface name in remote contexts to check if there is any implementation available for such interface.  

Sourcing triggers with this lookup task.  Hundreds of organisations having this lookup every day to get their suitable providers. Some of them have some standard of doing so and many of them don’t know even how to do this. The consideration of behavioural science should pop up here before starting this lookup. 

Perspectives of Different Levels

There are specific levels in each organisation.  Each level most of the time act as an independent entity with its own attitudes and attributes.  On the same issue, a level would have different messages or thoughts differ from other levels.




 
In an organisation normal chemistry happens among:

Global Manager -- Department Manager -- Team Manager -- Team member 
As they represents their level with more or less understanding of his/her environment. But when it comes to an engagement of two or more different organisations for a specific goal then the ancient chemistry not works anymore.  The cross communicative functionalities gets a rapid increase on Team Level and as it is the operational level,  constitutional wrong mapping on that level would create more trouble and cost for both companies. Our case is IT engagements, so we will focus more on IT issues.  
 


A Scenario
The sourcing may be coming out from client IT department budget but other departments get involved into it more closely. Even it gets more competitive when there are different providers and vendors. Even there are cases where in same solution different providers working together -

 
Isn’t it already a chaos, stressful to think the level of interaction required here? It rarely found as homogenous but most of the time in heterogeneous form.  And it gets more complex when a Mediator Organisation walks in and takes ownership and deals with the providers.  May be a relief for sourcing organisation managers, but the social environment that builds up here is off course not hygienic, if there is no ownership to take care of the hygiene and look into the behavioural chemistry to provide stability.

Current market packages with different terms available for IT sourcing:

-          Consultancy/ professional services
-          Product based
-          Fixed
-          Development centre/ offsite
-          Onsite
-          Hybrid (onsite offsite )
-          Virtual Captive model
-          ……
 
Team and Individual

Our focus part will be the team and individuals in team and the elements they deal with.


As we are here for responding to globalization, behavioural science can meet the challenges that help to overcome stress and absenteeism here. We will try to figure out, how these challenges can be meet by behavioural science.

-           Workforce Diversity
-          Improving Quality and Productivity
-          Improving Skill
-          Empowering
-          Coping with frequent changes
-          Stimulating Innovation
-          Improving Ethical Behaviour

      
Typical Scenario of Team formation


Off course it varies based on which engagement model we are following but typically a project initiates the whole formation.
  • Projects are the initiators of engagements. 
  • Projects are the initiators of changes in engagements.
  • Projects come with a budget and target and a deadline.
  • Projects not always come with plan.  
  
And whenever it’s there, the owner starts the “lookup” with his/her budget.  Owner wants to earn the credit of making its success within budget, if possible save some from budget.  And this parameter in lookup task filters the existing or new providers.
 
References
John B. Miner, ORGANIZATIONAL BEHAVIOR Foundations, Theories, and Analyses, OXFORD UNIVERSITY PRESS, 2002

Stephen P. Robbins, ORGANIZATIONAL BEHAVIOR, Prentice Hall International, Inc.

Fonstad, Nils, and Robertson, Engaging for Change: An Overview of the IT Engagement Model, CISR Research Briefing, Sloan School of Management, Massachusetts Institute of Technology (MIT), March 2005.

 Craig Schiff, Engagement Management is Key to Implementation Success, http://www.information-management.com/issues/20040401/1000840-1.html , November, 6th 2011.

Dr. Z , Business of Stress: Rise of the Type A Machines, http://www.stresshacker.com/2010/01/business-of-stress-rise-of-the-type-a-machines/, November, 6th 2011.

Donald Bell, UML basics: The component diagram, http://www.ibm.com/developerworks/rational/library/dec04/bell/, November, 6th 2011.

Ilan Oshri and Julia Kotlarsky, Special Issue on Global Sourcing: IT Services, Knowledge and Social Capital, http://www.palgrave-journals.com/jit/journal/v23/n1/full/2000129a.html#bib7 , November, 6th 2011.

Wednesday, August 31, 2011

process n practice


automatically we are always in a process. look into your morning .. from your coffee to first toilet :).  my wife can easily define me :).  i know you are laughing and surprisingly on yourself .. yeah mee too now laughing on myself. 
now think suddenly you found, the way you go everyday to your office that is having some reparing trouble so you have to make the journey in a different way and you have no experience of other roads (n you dont have gps on your car :D). i know you are angry on me why i am even thinnking of such thing.
 see!, how irritating is this! .. i mean having break in your normal process of  journey to your office.  but ok.. at last you reached your office. then the other day .. you know two ways to reach office. and question is now to all - 
q.which way should one go?
ans: whichever is comfortable, short, easy, less costly (this is the problem if you ask any one they may if possible ask for everything :D)
 q. but if that yesterday incident not happened then?
ans: i know myself, i would hardly try to be another Columbus. (if i am not that much bound)
i think you are also pretty much same but can you feel -'how irritating the change in process is before you know it is really good or bad'
why i titled it as process n practice - if you cannot show people directly the good taste of the change in their process better to give a pause; and here comes the practice ( in granual this is small piece of activity highly connected with time (when? or a context/situation/circumstances- i call it time identifier .. the way you define a time in history books)) . e.g. you have to write n you don't carry a pen and notebook but you have a mobile and  :) now a days smart mobiles .. you will write there (   i am doing so.. less possibility of losing :D).  see how practice grows. yeah from need and need has some connectivity with time....... - 

[will continue this writing hopefully...:D but i think it was good start to introduce the thought .. now you think :D ]
 

Sunday, February 27, 2011

how i learned data warehousing and OLAP

It was my view in my academic life that only learning building a SaaS is not going to give me much scope in market as already thousands of Saas is roaming in market even as open source. And I felt like that the way corporate are adopting Saas in a adhoc basis they will be surely in trouble with having intelligent reports and it would be hard for them to create decisions from them. And I was searching such solutions which can integrate data from sporadic Saas and provide a combine view. And I found Data warehousing. And as my third years project I proposed to my supervisor the subject “Designing Data warehouse” and he wondered but accepted. But I was in sea and not getting a way to see any practical implementation my nearby, meanwhile I have covered Bill Inmon and Ralph Kimball. But it was not satisfying my thirst as all was just theory. I was dying to implement a demo of my own. And this thrust turned me to Oracle. At that time I heard that Oracle 9i got release with Data warehousing concepts. I jumped for it and installed in my PC. But still I was in dark .. not getting where to start. 

Thousands and Thousands thanks to oracle team who has included SH (sales history) schema in oracle. After getting this schema I saw a light of having my dream as true. I got bulk of data provided by them.
I have created a dummy sales transactional database and used SH schema data in a modified way to pour that. Huh! Now I have a huge transactional database and I have already an empty start Schema (SH) database.  Here comes the need of ETL now. I was so much pleased to reach in such position. Baby now it is time to do some ETL .. but how?  That time the tool “Sql loader” showed me the easiest way to do that. And created some sql scripts and succeeded to perform ETL and schedule that. I was so happy to have the data in my SH schema (Data warehouse :D ).  And I cannot forget learning building the Time table for the first time. Such a table was most interesting thing for me. Now data is there, fact table there.. time table there but how to create report from them and how to provide decision supporting reports.  And a simple query takes huge time. 

Here comes the Advanced query rollup… with clause .. thanks oracle for these.  But how to minimize the query time… :D here I learned the materialized View.. I was highly excited to implement them one by one and getting the outputs. But the reports were not satisfying me.  What is the benefit of having this much data and only some ordinary reports.

Where comes the OLAP. Thanks again to oracle. I created first OLAP metadata with PL/SQL definitions. It was really much interesting to create dimensions and form a cube. Earlier I have read lot of cube but writing one’s definition in my own hand was really excellent. WOW..  It was now sounding to me I have now a real useful data warehouse build by me. But I was failing to make my friends and teachers understand this thing as they were just trying to see some outputs. And I was getting frustrated that I was unable make them understand the benefit of data warehouse with OLAP only because of having lack of some beautiful UI.
And where comes the Oracle Discoverer. WOW that this tool was really a striker for me. I used that over my SH data warehouse and showed my interested friends and teachers and now they got what I was saying in the name of Data warehouse.

I was trying to switch my java programming job and get a data warehouse related job but interestingly found that corporate are expecting some white haired aged guy for their data warehouses and getting me in their interview boards they are not satisfied. I tried several places but I saw doubt in their eyes and at the end I did not get the jobs.

Here comes the Pentaho. An American company was searching some java guy and in requirement they have written – having data warehouse experience is advantage. WOW it sounded like it is for me. I submitted C.V. and they called for interview and interestingly I got the job next day.  And I discovered it is Pentaho with which I have to build data warehouse on Telecom billing and do reporting.
WOW its excellent . I was amazed to get “Kettle”  instead of “sql loader” for the ETL .. it is really a dynamic tool and very much useful.  Doing star schema in Mysql was also a interesting thing for me. And then Mondrian OLAP server  instead of Oracle OLAP.. I was just happy to get lost with that and then MDX with Jpivot instead of Oracle Discoverer.. I was really happy in working as it was all in Java and I was playing with it shaping all in any way I liked.

I was writing the whole to store some memory in written and also in a hope that some new  data warehouse  interested guy may read it and find some tips to go ahead.

  

Saturday, December 18, 2010

Automation: Antidote for Bangladesh

Who not knows - Corruption is the Poison - paled our motherland and each day getting more visible in smallest vein of Her. I am not going to write here any poetry or story with beautiful literature. Rather I just want to put some logic to make this title words clear to you.

What can wash away corruption...?




I have asked this question to one of Teachers. He replied "If everyone does his responsibility with honesty than there would be no corruption." . But this biblical terms could bot satisfy me as it arises another question - how can everyone be responsible?



I asked a young university student and he replied "We have to be more patriotic, we have to awake. Look to our neighbor country India, how they prospering." . But this emotional loudness also can not give me any solution as it again raises question - how can we be patriotic?

I have asked one of my known political leaders and his answer was " We have to change ourselves, If you change then watching you others will be changed." . another biblical line...

I have asked a liberation warrior of our nation and his urge is " We need another great leader". Sound to me more emotional and again I have the question - how can we get such leader?


I have asked this question to people of several profession at several places but my how was not leaving me. Then one day I have asked this question to a Old Rikshawala and he answered straight forward " why to blame thieves if you keep your doors open". I dont know why but this answer touched me. Yes I found its true. There are scopes available everywhere and that is why we can minimize our electrical and other bills, we can make less our taxes.. bla bla in all section there are huge scopes to hide information or change information.

Ok! but now I have another question poking me is - why are there so many scopes to do so? Just a bit giving pressure in my head I found the answer and it is there is lacking of transparency in processes not to external people even in internal organization people.

Oh! its Transparency. you may think now this writer is so dumb that he took lot time to understand that Transparency can kill corruption. May be it took long time for me to understand this but I am happy, I understood this. But still the the same question laughs - how can transparency be achieved?

Lets find out first how people in the system hiding or customizing information after taking bribes.

Its basically starts from reserving positions in queue.
When we go to any Govt. organization for taking services what we face normally ... we have to face a guard or clerk who will normally ignore you or not listen to you until you go close to him and whisper in low voice please help me and give him some bribe. Then suddenly you will become a VIP person and will get second or third position in queue.

We know how this can be stopped. Its simple automation, so many banks and fast food shops are using already token counters . You can take a serial token from a place or machine where serials can not be manipulated and whenever service provider pushes a button that he is done with one person the service serial number increases on a screen and this way it comes your turn. I think everyone has seen this and also satisfied with this if the system is maintained properly.

Basically what I want to say is, its possible when we are not letting the process to be tempered in its life cycle by any external interaction. I can say it more simply in two lines

" Service consumer himself can initiate the process"
" No manipulation in a running process"

But its not possible in current situation as the processes are in the hands of some people and its paused, altered or stopped whenever they want by imposing some law codes and modifying records to meet those law codes.

We need separations between Process and Users of the process (organization employees). Now there are too much dependency of on employees. Sometime to me they appear as gods in their territory.

I am using the word "Process" here several times. All are well known with this term. It is the thing which drives a function to an end and meets the function goal. And thanks to God its not human who can take bribes and modify things.

Processes are normally composed of several small events. Events one by one completes a process. Each event may need some information (we normally say input) and do work on that and passes the information with some extension to next event. Like if you want to visit a doctor:

Function: Visiting Doctor

Events:
1. reserve a appointment ( input:information is your name and number, output: serial number, time)
2. call of your serial (input: your serial number, output: our presence)
3. visit the doctor (input: diagnosis, output: prescription)
4. pay the fees ( input: amount , output: receipt) it could 2nd event in some cases.

or doing a simple complaint in a complain Center:

Function : Doing a Complaint
Events:
1. Get a serial number to do a complain
2. Call of your serial
3. Get the complain form
4. Fill the form
5. Submit it
6. Take receipt and reference number

These events can be organized or decorated in several ways to get better output but whatever it is, to do a complaint it should not take more than 10 minutes but in Bangladesh I myself has
spoiled more than 2 hours to do so. And most ambiguous part it took 10 minutes just to pull attention of the clerk who will talk to me and also there is no form rather I had to buy paper from a store and write an application with carbon paper then submit it and then the clerk found I need to put more information in my application then again re-write it , meanwhile the clerk got disappeared then i had to wait then when he arrived I submitted .. he sealed and gave me the paper that was written with carbon paper and its my proof copy. huh! And its going on year after year.

Now ask me where I went to complaint. Yes the answer is Police Department and it was because I lost my Id card and I went to do a simple General Diary which took my nearly two and half hours.

to be continued ...




Monday, September 27, 2010

Business Intelligence for newbie

Let’s start with this a raw value “5”. What is this? Off course it’s a value. Can you derive any meaning from it? I think no. We people call it Data/Fact. Let’s add something more with this raw value - “Sale amount USD 5”. Can you derive some meaning now? I think so. We people call it Information. Now if I add like “Fountain Pen’s sale amount USD 5” – can you know/learn something from this?-yup. This collection of information is known to us as Knowledge.

Ok, this was so simple, now let’s beautify it with three more terms context/domain, orientation and understanding.

It is like, more you relate data with one another, the more it defines the context, so the more its give you a clear understanding.


The figure can be like:

Figure: 1.1 Trend toward knowledge


So, we can come to a summary, that if we want to get knowledge we have to do a good orientation among data according to the context.



Data Orientation

Then let’s talk about data orientation/organization/relationship. Now a question comes. How to relate data? So now we can search for data structures/models. The below one is most popular model in the current market to organize data.

Figure: 1.2 Relational Data Model


What do you think about the above model? Isn’t it a table (table is known as relation)? This model is known as Relational Data Model. Databases that use this model to organize data are known as Relational Database. Following Edgar F. Codd ‘s rules and some other vendor specific rules RDBMS (system for managing relational databases) are developed. But this is not my concern. My concern is how we can define or relate data/fact in such way that it provides us knowledge.

Before going further I want to clear some aspects like, in an enterprise system two types of databases may exist. One is known as transactional/operational support database and the other is known as Decision Support/ analytical software support database.

In transactional Databases day to day transactions records are stored. And it is not much concerned with knowledge or decision making. Whereas, Decision Support/ analytical software support database which is also known as report database, main concern is summary, aggregation and knowledge.


Relational Data Model, more concerned with defining Entities but not fact

What is happening currently? We are defining a table with some columns which represents a particular entity of real world. And when we are putting data into cells maintaining column type then each row is representing an instance of that entity.


Product

Order

Customer

Date

Currency

Amount

Fountain Pen

#0001

Mr. David

01, Jan 2005

USD

5








Figure: 1.3 Relational Model to represent Entity


But if business asks question like:

What is Mr. David’s area?

What is the category of Fountain Pen?

This table can not answer the questions.

So to meet the need of the business we will define Customer and Product as entity and refer then to Sold Product with their id.


Figure: 1.4 Entity Relationships

In the same way we can relate Order with Sold Product.

But my question is why we are relating these tables. What is out objective? Can we achieve the objective in some other way more effectively and efficiently?

Let’s give a closer look. Every business has some key facts/values that define the business.

Selling Business: Sale Quantity and Amount, etc.

Telecom Business: Call duration and amount, etc.

Banking: Withdraw and deposit amount, etc.

Business to business it will vary. We call these facts as Measures of the business which will define revenue, profit, loss, future condition and all other aspects of the business.

Why these are called measures?

As, all the related perspectives of the business are measured by these values.

So, as all the business objects are measured by these facts so analysts have invented a way of relating entities. Like the below one:

Figure: 1.5 Star Schema


Figure: 1.6 Relationship with fact table.

These relate the facts more perfectly with all the entities. The base table that contains the business basic facts is known as Fact Table. The fact table has just measures and the references of the other entities. And the other entities are known as dimensions.

What is the benefit? Still this question can arise in one’s mind. But get a snap, you will get that this single table is now our concentrating point and it can answer the questions like who, how, where, why, when.

Further I will discuss lots of other things but I must mention that this is the base of all sorts of analytical data processing from relational database.

Subject Orientation in Relational database


What is a subject for a business?

- Business stakeholders interest area. Too short Answer!

I mean the certain activity where some stakeholders keep their eye. For easy understanding i can clarify it as "Business Function". So in business; Subject is Function.

Are you going to teach us something new? I know i have to face this question for the previous line. No, i am not going to teach something new. Look, Function is the objective of the business to achieve. About this all related stakeholders are discussing. How to improve this function? where to change? when to change? Who are the major role players of this function? How to motivate them? So, all headaches are about the function. Then what is subject? Subject is a topic of discussion. So without any doubt, in business Functions are subjects. Ha Ha I am really pleased to draw such logic to prove this. Now you are thinking its a simple matter, no need to write that much to make this clear. But at the beginning i know the question seemed to you a little troublesome.





Next topics:


- CWM – Common Warehouse Model

- Star Schema and Snowflake Schema

- How knowledge comes

- More flexibility in defining knowledge through Object Orientation

- Meta Data

- Relational to OLAP

- OLAP Objects

- MDX (Multi dimensional Expressions)

- ETL

- And more.. .



References

http://www.systems-thinking.org/dikw/dikw.htm

http://www.viktoria.se/~dixi/km/chap3.htm

http://en.wikipedia.org/wiki/Codd%27s_12_rules

http://www.tonymarston.net/php-mysql/database-design.html#relational.db