I recently put a suggestion to my boss asking if we could open source an application that was developed by our team. I will not delve into finer details of the application but it is something that we have worked on for the past two years.
We have added most of the features that we set out to have in the application. The application is pretty stable now with very rare downtimes. The user awareness is there and growing every day. People have started using the application and are increasingly asking for some usability enhancements. I felt that this was the perfect opportunity to go open source with it (with open source, I mean only within the company. My organization is still not into the culture of open source, not yet anyway)
My boss felt that it was too early to think along those lines. But I wanted to get my readers's views on this.
How does open sourcing projects within a company work ? In my opinion, it should work in pretty much the same way as "real" Open Sourcing works. There could be issues with people spending too much time on open source projects in the organization while not spending equivalent time in their assigned projects. These are issues which I am sure will be ironed out if the attitude taken and the approach taken are right.
In fact, I would use this post to go one step further and suggest something even more radical. A software company should only take up projects which the employees want to work on. Then, these projects could be open sourced so people with the required skill-sets could work on them. Obviously, this model requires that you do not have actual project teams. People assign themselves to projects they are interested in. If the company takes up something and finds that folks are not interested in working on this or that project, they could say to their customers : "Sorry folks, we cannot help you here" or suggest a better approach.
I understand that there are several flaws in this approach.
For one, democracy does not always work. Developers do not always know what is best for them. You need to do the donkey's work sometimes to learn before you can develop something new. Newcomers to the industry will not necessarily appreciate this fact.
Second, open sourcing is mostly meant for applications where there are never-ending opportunities. Consulting companies do not often work that way. They usually have a project with a fixed deadline and a fixed schedule. They are expected to deliver to their clients within a certain period of time.
Third, open sourcing has this bad reputation of being a developer's paradise. There have been open source projects where the contributors have gone overboard with exotic features while neglecting basic etiquette like documentation, good GUI etc.
(Read this excellent piece on the shortcomings of the open source model in general)
With all those flaws that I mentioned, I still feel that things could be tweaked. No model is complete in itself --- you need to customize it to suit your field of work.
All that was my take...what is yours ? Please pour in your comments ...
Thursday, March 08, 2007
Wednesday, March 07, 2007
Data, data everywhere -- not a drop to drink !
I am not trying to give away anything here. But the organization that I work for is obsessed with collecting data. My estimate is that we spend an average of 30-40% of our time trying find out where we stand.
All operations are geared towards facilitating the data collection process -- how can I tweak my project management so I can get more data about the ..er...project management ? Status reports are prepared and shared quarterly, monthly, weekly, daily...There are whole applications developed internally whose sole purpose is to provide reports and charts --- to slice and dice data in a gazillion ways : how many projects did we complete last week where two or more people were involved where there were two Java developers and 1 DBA ....
And, these dashboard applications are getting more and more complex every day. With every change in leadership, there is a change in the specs on what kind of reports should be built. Every manager has his idea of the ideal report, the ideal chart.
You can only create charts and reports when you have data in the first place. So, off we go. We collect data day and night. There are groups whose sole purpose is to collect data about the projects we do, about our customers, about the revenue we make, about the business we won, about the business we lost, about the number of people who joined the company, about the number of people who left....it is endless.
For every 10 things that an employee does, at least two have to do with the process of either data collection or data reporting.
With so much data being collected, there are obvious compromises on the quality (accuracy and completion) of data being reported --- but that is a whole new story altogether.
But I also noticed one very funny thing. With so much data being collected, you would assume that everything that the company does would be measured. You would assume that the operations would be managed with precision. Atleast to some extent...
But no. I will cite two examples to make my point:
The place where I work has a canteen. Let us say, it can seat 200 people at full capacity. There are atleast 1500 people working in this office. Now, how would you manage this canteen at lunch-time (say 1 PM to 2 PM when most people would have lunch) ? You obviously cannot have everyone having lunch at the same time. And you cannot regulate by asking people on certain floors to have lunch at such and such time. This is typically when your decision suppport system would pitch in and provide an optimization-based solution. You would open up a seperate dining area in the building. You would perhaps consider serving lunch on the terrace. You could consider opening up lunch earlier than usual. You could vary pricing of lunch or availability of dishes so that the traffic is staggered.
The point is: if you had an inkling of which times the canteen is overpacked, you could plan better and provide better services.
The second example is of the company transport. The company provides to and fro conveyance to the employees at pre-scheduled times in the morning and evening. But, I have noticed (with great personal discomfort) that there is no pattern to the number of busses provided for transport. To cite one case, in the evenings there are busses running at hourly intervals from 6 through 9. The operations dept does not have a clue as to how many people take the bus at 6 and how many take the bus at 9. As a result, there have been instances where the bus at 6 is half-filled while the bus at 9 is packed to the hilt.
My aim was not to point fingers at the administration of my own company. I understand that I am part of the problem and I am only ridiculing myself.
The point I am trying to make is: Do we really need to be obsessed about collecting data ? Do we also need to be discriminative about what kind of data to collect ? How do we use that data ? Does it end in charts and reports ? Or does it need to be chanellized into a decision-support system. If data cannot be used to make meaningful decisions, it should not be collected: is that a correct observation ?
Some of the above questions have obvious answers, some do not. There are also organizational obligations (maintaining and earning industry certifications, for example) that drive data collection initiatives and force the organization to go against the grain of logic. But where does this all take us ?
All operations are geared towards facilitating the data collection process -- how can I tweak my project management so I can get more data about the ..er...project management ? Status reports are prepared and shared quarterly, monthly, weekly, daily...There are whole applications developed internally whose sole purpose is to provide reports and charts --- to slice and dice data in a gazillion ways : how many projects did we complete last week where two or more people were involved where there were two Java developers and 1 DBA ....
And, these dashboard applications are getting more and more complex every day. With every change in leadership, there is a change in the specs on what kind of reports should be built. Every manager has his idea of the ideal report, the ideal chart.
You can only create charts and reports when you have data in the first place. So, off we go. We collect data day and night. There are groups whose sole purpose is to collect data about the projects we do, about our customers, about the revenue we make, about the business we won, about the business we lost, about the number of people who joined the company, about the number of people who left....it is endless.
For every 10 things that an employee does, at least two have to do with the process of either data collection or data reporting.
With so much data being collected, there are obvious compromises on the quality (accuracy and completion) of data being reported --- but that is a whole new story altogether.
But I also noticed one very funny thing. With so much data being collected, you would assume that everything that the company does would be measured. You would assume that the operations would be managed with precision. Atleast to some extent...
But no. I will cite two examples to make my point:
The place where I work has a canteen. Let us say, it can seat 200 people at full capacity. There are atleast 1500 people working in this office. Now, how would you manage this canteen at lunch-time (say 1 PM to 2 PM when most people would have lunch) ? You obviously cannot have everyone having lunch at the same time. And you cannot regulate by asking people on certain floors to have lunch at such and such time. This is typically when your decision suppport system would pitch in and provide an optimization-based solution. You would open up a seperate dining area in the building. You would perhaps consider serving lunch on the terrace. You could consider opening up lunch earlier than usual. You could vary pricing of lunch or availability of dishes so that the traffic is staggered.
The point is: if you had an inkling of which times the canteen is overpacked, you could plan better and provide better services.
The second example is of the company transport. The company provides to and fro conveyance to the employees at pre-scheduled times in the morning and evening. But, I have noticed (with great personal discomfort) that there is no pattern to the number of busses provided for transport. To cite one case, in the evenings there are busses running at hourly intervals from 6 through 9. The operations dept does not have a clue as to how many people take the bus at 6 and how many take the bus at 9. As a result, there have been instances where the bus at 6 is half-filled while the bus at 9 is packed to the hilt.
My aim was not to point fingers at the administration of my own company. I understand that I am part of the problem and I am only ridiculing myself.
The point I am trying to make is: Do we really need to be obsessed about collecting data ? Do we also need to be discriminative about what kind of data to collect ? How do we use that data ? Does it end in charts and reports ? Or does it need to be chanellized into a decision-support system. If data cannot be used to make meaningful decisions, it should not be collected: is that a correct observation ?
Some of the above questions have obvious answers, some do not. There are also organizational obligations (maintaining and earning industry certifications, for example) that drive data collection initiatives and force the organization to go against the grain of logic. But where does this all take us ?
Monday, January 29, 2007
How do mergers/de-mergers etc boost IT business ?
Hi Folks..yet again, I need your inputs.
I am trying to understand how IT services vendors benefit everytime there is a merger/demerger/joint venture/integration etc on the cards.
Consider a simple example where there is a major bank A. A buys out a mid-size bank B. Now, for accounting purposes and to be able to serve customers better, A must integrate all of B's computer systems into their own. If, for instance, A runs on SAP, B has to be integrated into this SAP system. Just imagine how much money an SAP solution provider/implementer could make out of this !!!
Where do I start with the statistics ? is there any way businesses can go around this ?
I am trying to understand how IT services vendors benefit everytime there is a merger/demerger/joint venture/integration etc on the cards.
Consider a simple example where there is a major bank A. A buys out a mid-size bank B. Now, for accounting purposes and to be able to serve customers better, A must integrate all of B's computer systems into their own. If, for instance, A runs on SAP, B has to be integrated into this SAP system. Just imagine how much money an SAP solution provider/implementer could make out of this !!!
Where do I start with the statistics ? is there any way businesses can go around this ?
Customers and Vendors come together
Hi Folks...I am trying to do a short post on the scenarios where customers and vendors (this may be in any field of business, not just IT) come together and form a partnership or joint venture and service other companies.
I would like to tell you where I am coming from:
In the IT industry, for instance, vendors/consultants create IT systems for customers doing business under various industry sections such as bankinng, manufacturing, life sciences. In this scenario, the vendors have the computer knowhow to build stable and robust computer solutions to everyday business problems. The customers, on the other hand, have the subject matter experts who understand what these systems should look like.
This coming together of two fields of businesses produces a huge knowledge base for both the companies. I wonder if the two companies can package and sell this knowledge base to other companies in similar business areas.
Your comments will be appreciated !
I would like to tell you where I am coming from:
In the IT industry, for instance, vendors/consultants create IT systems for customers doing business under various industry sections such as bankinng, manufacturing, life sciences. In this scenario, the vendors have the computer knowhow to build stable and robust computer solutions to everyday business problems. The customers, on the other hand, have the subject matter experts who understand what these systems should look like.
This coming together of two fields of businesses produces a huge knowledge base for both the companies. I wonder if the two companies can package and sell this knowledge base to other companies in similar business areas.
Your comments will be appreciated !
IT teams do not understand the impact of their work
As someone who audits IT projects for a living, I have seen this a lot. It bewilders me sometimes..but then, I do realize that as in all professions, IT-ians are also so caught up with the daily hum-drum that they somehow fail to see the big picture.
I have seen project teams who just do what they are asked to do without questioning the rhyme or reason for doing it.
Why is it? Is it because IT is making its foray into such diverse fields of business that it is impossible for a Java programmer to understand banking terms in one project and then start all over again and learn the minutia of manufacturing in the next ?
That could be a good reason..but I would have thought that once an engineer, always an engineer. Someone who has gone through Engineering would try to ask questions...not maybe to understand everything, but atleast to be able to hold ground when talking to the functional experts.
Another field where this diversity of knowledge would be applicable would be management. Folks coming out of Business Schools might be facing the same problems, albeit to a lesser extent. They come with a generic broad knowledge base and are asked to learn the jargon of the specific industry in which they are employed and turn things around.
Maybe it is a good skill to acquire - curiosity.... Picking up tidbits and trying to make threads out of it is something that every IT-ian would require more and more as IT starts pervading every known field in life.
Maybe, one day, you as a software professional would need to learn how to make dal tadka so you can design a cookery software !!!
Lousy example...but I hope I make my point.
I have seen project teams who just do what they are asked to do without questioning the rhyme or reason for doing it.
Why is it? Is it because IT is making its foray into such diverse fields of business that it is impossible for a Java programmer to understand banking terms in one project and then start all over again and learn the minutia of manufacturing in the next ?
That could be a good reason..but I would have thought that once an engineer, always an engineer. Someone who has gone through Engineering would try to ask questions...not maybe to understand everything, but atleast to be able to hold ground when talking to the functional experts.
Another field where this diversity of knowledge would be applicable would be management. Folks coming out of Business Schools might be facing the same problems, albeit to a lesser extent. They come with a generic broad knowledge base and are asked to learn the jargon of the specific industry in which they are employed and turn things around.
Maybe it is a good skill to acquire - curiosity.... Picking up tidbits and trying to make threads out of it is something that every IT-ian would require more and more as IT starts pervading every known field in life.
Maybe, one day, you as a software professional would need to learn how to make dal tadka so you can design a cookery software !!!
Lousy example...but I hope I make my point.
Saturday, January 27, 2007
Building widget-style dashboards
Yes...I have seen the latest version of the Mac OS X. I know it has widget-style dashboards.
I want to know if we can build similar internal dashboards for companies.
Would these require downloadable client software ? That would not be a feasible solution since a lot of new machines are added to the network at any point of time and this would involve adding these client software to the image.
Which leads me to the next question : Is it necessary for all machines owned by a company to have a standard image ? How is this enforceable in the scenario where 25 % of the desktops run on Linux, 60% run on Windows and the rest run on Mac, Abracadabra etc ??? Would you have to build non OS-specific client software ?
This is a much bigger problem than I thought...!!!
I want to know if we can build similar internal dashboards for companies.
Would these require downloadable client software ? That would not be a feasible solution since a lot of new machines are added to the network at any point of time and this would involve adding these client software to the image.
Which leads me to the next question : Is it necessary for all machines owned by a company to have a standard image ? How is this enforceable in the scenario where 25 % of the desktops run on Linux, 60% run on Windows and the rest run on Mac, Abracadabra etc ??? Would you have to build non OS-specific client software ?
This is a much bigger problem than I thought...!!!
Monday, January 08, 2007
Cellphone malware spreading through bluetooth
Read This
This is why my phone started receiving all those weird .sis files...
Last night, in trying to connnect my phone to my Mac, I had switched on thhe bluetooth in my phone. (moron that I am, I didnt realize that my mac is not bluetooth enabled !)
I forgot to switch off the bluetooth on my phone.
The article states :
---------------------------------------------------------------------------------------------------------
F-Secure said Lasco.A arrives to the phone's messaging inbox as a velasco.sis file that contains the worm. When a user installs the velasco.sis file, the worm activates and starts looking for new devices to infect over the Bluetooth protocol.
"When Lasco.A worm finds another Bluetooth device it will start sending infected SIS files to it, as long as the target phone is in range. Like Cabir.H, Lasco.A is capable of finding a new target, after the first one has gone out of range," the alert said.
---------------------------------------------------------------------------------------------------------
Another clue would have been that this happpened only when I was travelling in the bus...obviously there was a bluetooth device around that would have been infected with this virus!
Switching off the bluetooth on my phone now..lets keep our fingers crossed...
This is why my phone started receiving all those weird .sis files...
Last night, in trying to connnect my phone to my Mac, I had switched on thhe bluetooth in my phone. (moron that I am, I didnt realize that my mac is not bluetooth enabled !)
I forgot to switch off the bluetooth on my phone.
The article states :
---------------------------------------------------------------------------------------------------------
F-Secure said Lasco.A arrives to the phone's messaging inbox as a velasco.sis file that contains the worm. When a user installs the velasco.sis file, the worm activates and starts looking for new devices to infect over the Bluetooth protocol.
"When Lasco.A worm finds another Bluetooth device it will start sending infected SIS files to it, as long as the target phone is in range. Like Cabir.H, Lasco.A is capable of finding a new target, after the first one has gone out of range," the alert said.
---------------------------------------------------------------------------------------------------------
Another clue would have been that this happpened only when I was travelling in the bus...obviously there was a bluetooth device around that would have been infected with this virus!
Switching off the bluetooth on my phone now..lets keep our fingers crossed...
Friday, January 05, 2007
05-Jan-07 : How do you test Dashboards ?
05-Jan-07:
Talked a lot about review coverage and compliance..I am generally confused about the difference between these two terms.
I am also slightly worried about the way we are developing the tool --- there is a lot of ad-hoc ness about it with only a part of the team providing its inputs and ideas. We have, further, neglected to take inputs from process owners and SMEs.
The other aspect which concerns me is the lack of will towards testing. We have not made any major efforts towards correcting this trend. We pay very little attention to how we test charts and dashboards. Perhaps we lack expertise in this aspect. Testing transactional components of the tool has been far easier and far more effective (only relatively speaking, of course !). We have faced major failures in testing the OLTP components. Need to improve this further.
I keep coming back to the variations across locations in a huge company. In an earlier post, we talked about variations in attitude, about the personality of the local managers flavouring the workings of the locations. What I am also finding out is that there is an ugly side to this personality impact -- ego. People are not very malleable when it comes to taking learnings from other location managers..its a cut-throat world out there...and accepting learnings is almost equated to accepting defeat..
Finally, is there a chance that people in locations across the company will embrace the tool, but keep using their own local procedures/processes unchanged..parallely ? That would be a disaster...yes Sir...a major disaster !!!
Talked a lot about review coverage and compliance..I am generally confused about the difference between these two terms.
I am also slightly worried about the way we are developing the tool --- there is a lot of ad-hoc ness about it with only a part of the team providing its inputs and ideas. We have, further, neglected to take inputs from process owners and SMEs.
The other aspect which concerns me is the lack of will towards testing. We have not made any major efforts towards correcting this trend. We pay very little attention to how we test charts and dashboards. Perhaps we lack expertise in this aspect. Testing transactional components of the tool has been far easier and far more effective (only relatively speaking, of course !). We have faced major failures in testing the OLTP components. Need to improve this further.
I keep coming back to the variations across locations in a huge company. In an earlier post, we talked about variations in attitude, about the personality of the local managers flavouring the workings of the locations. What I am also finding out is that there is an ugly side to this personality impact -- ego. People are not very malleable when it comes to taking learnings from other location managers..its a cut-throat world out there...and accepting learnings is almost equated to accepting defeat..
Finally, is there a chance that people in locations across the company will embrace the tool, but keep using their own local procedures/processes unchanged..parallely ? That would be a disaster...yes Sir...a major disaster !!!
Wednesday, January 03, 2007
03-Jan-07 : Standardization anyone ?
03-Jan-07
Most of the day was unproductive...
Discussions with Chennai,Bangalore are showing me how vast and varied we are as a company.
The culture is different...the attitudes are different, the approach is different. Against this our tool doesn't stand a chance.
But it was a good idea to ask all the branches to deploy this tool at their locations instead of going directly on the company portal. This way most of these folks are getting a first-hand account of what it will take to use this tool. It also probably enlightens the top management about where all these branches are going and how they are planning to get there.
There are quite a few management lessons to be learned from the deployment of this tool :
>> When a company is growing at multiple locations, the top "Federal" management is expected to keep an eye on what the local cultural/demographic factors or patterns are.
>> When there is a local Regional Manager, there is bound to be a possibility that his/her personality will drive the way the branch goes about achieving its targets.
>> Setting targets for each individual branch is not enough..this is too obvious an observation to be written down, but I somehow get the feeling that it has been forgotten by everyone in the everyday hustle-bustle.
Questions to be asked now:
>> Is it necessary for the entire company to follow exactly the same procedures/tools for tracking quality ? If yes, what are the expected benefits out of this ? What is the cost of not doing so ?
>> As a company, are we on the same page on "What is quality" ? Isn't there a quality policy that defines for us the vision of this "Quality"..do we also need to follow the exact same processes ? What is the cost of enforcing this at such a vast scale (and growing...)
>> When the company adds a new center/aquisition, is there an induction/certification process before we accept/embrace it as part of our company ? Again, what is the cost of doing this ? and what is the cost of NOT doing this ?
Standardization has its benefits and costs, its values and pitfalls...where do we find the balance ???
Most of the day was unproductive...
Discussions with Chennai,Bangalore are showing me how vast and varied we are as a company.
The culture is different...the attitudes are different, the approach is different. Against this our tool doesn't stand a chance.
But it was a good idea to ask all the branches to deploy this tool at their locations instead of going directly on the company portal. This way most of these folks are getting a first-hand account of what it will take to use this tool. It also probably enlightens the top management about where all these branches are going and how they are planning to get there.
There are quite a few management lessons to be learned from the deployment of this tool :
>> When a company is growing at multiple locations, the top "Federal" management is expected to keep an eye on what the local cultural/demographic factors or patterns are.
>> When there is a local Regional Manager, there is bound to be a possibility that his/her personality will drive the way the branch goes about achieving its targets.
>> Setting targets for each individual branch is not enough..this is too obvious an observation to be written down, but I somehow get the feeling that it has been forgotten by everyone in the everyday hustle-bustle.
Questions to be asked now:
>> Is it necessary for the entire company to follow exactly the same procedures/tools for tracking quality ? If yes, what are the expected benefits out of this ? What is the cost of not doing so ?
>> As a company, are we on the same page on "What is quality" ? Isn't there a quality policy that defines for us the vision of this "Quality"..do we also need to follow the exact same processes ? What is the cost of enforcing this at such a vast scale (and growing...)
>> When the company adds a new center/aquisition, is there an induction/certification process before we accept/embrace it as part of our company ? Again, what is the cost of doing this ? and what is the cost of NOT doing this ?
Standardization has its benefits and costs, its values and pitfalls...where do we find the balance ???
Subscribe to:
Posts (Atom)