Thursday, March 05, 2009

First Bad experience

Worked for the proposal - but still could get the bid - Some one else quoted cheap and client went through them - So should i change my strategy ?

Thursday, February 26, 2009

Mysql proxy, with Master slave for any application

Step 1. configure mysql master and slave.
Step 2. Run the proxy with the argument
mysql-proxy --proxy-lua-script=share/rw_splitting.lua (of course with some redirection to log file as each and every request is kind of logged..)
(little investigation required here) My friend David in Linux Foundation pointed out an interesting flaw

Run the master and slave
Step 3 : mysql -u USERNAME -pPASSWORD -h 127.0.0.1 -P 4040
step 4: in joomla configuration.php - change the $host variable to :4040
Note: 4040 is the proxy port.

Note: For drupal or any Mysql based application, modify the port to 4040 rather than 3306 (default mysql port)

Run apache..



When you visit a site -- the db requests are routed to proxy. then to master or slave..

We need to work through any issues we come across. but i am confident that this is something which will work.. share your thoughts too


David Ames - my friend at Linux Foundation suggested the following
David Says "

A couple of differences from Sudhi's setup.

mysql-proxy is running on each web server on port 3306. So configurations will use
localhost port 3306.

mysql-proxy has two backend servers one Read Write and one Read Only. The command line
options in the startup file look like this:

/usr/sbin/mysql-proxy \
--proxy-address=localhost:3306 \
--proxy-backend-addresses=:3306 \
--proxy-read-only-backend-addresses=:3306 \
--pid-file=/var/run/mysql-proxy/mysql-proxy.pid
--daemon

Regarding the rw_splitting. I am not as confident in this script. It attempts to have all writes go to one server and all reads go to the other. In the config above we accomplish almost the same thing. The only difference is reads will be load balanced between the two.
I am more confident in the this setup than using the rw_splitting lua script. The above scales better as well as we can just add slaves as Read Only backend servers.

Reference:
http://dev.mysql.com/doc/refman/5.0/en/mysql-proxy-faq.html#qandaitem-15-6-6-1-22

Sunday, November 23, 2008

Most recent Adventures - Part 2

Starting your own company or venture is like being on dope. The stress(mental and physcial) can take its toll if not careful. I am not taking care of my self with overwhelming commitments towards my clients. I want to get into a fitness regime from monday - Spend 1 hr in the YMCA gym.

Yes, the most exciting news - I will be working with Linux foundation on some projects. That is the best thing that has happened to hooduku so far.
Linux is like the mother of all open source - So working for Linux even for a small project is a big deal. More than excitement, am keen to provide our value prop to community. It is important to be good books of community. As usual - before start of any project - I have some jitters.

Major problem am trying to solve for a client in migrating a CRM data from older version of SugarCRM to new version. Because the prior implementation of SugarCRM was not upgrade safe - am going through a intense drill to safely migrate alldata, relationships module by module - Just to be careful.. BTW- This client was my first client who signed me up and hence some additional precautions.

Few weeks back, I have also started collaborating with my partner in business crime - Greg Parrish. A Staffing consultant and who hired me for small job to develop a CRM app for a insurance client. The project fell through -but our relationship persisted.
We have some complementary skills which could be leveraged for a greater good. I found him to be very geeky- but does speak about solving problems for clients.
I think there is some synergy in the sense that both of us want to solve our client problems adopting open source products and solutions rather than expensive commercial products. I hope we can pull off few good deals. That is all we need to move to that next level.

After much delibration, one of our non-profit client finally aceepted our offer on delivering and implementing CRM solution. This was a great challege to be accepted. I am hoping we can deliver a quality solution and gain some additional projects from them.

Most recent adventures - Part 1

It has been little over two years since I last actively blogged. There is no excuse for the reason. It is just that, I have been busy on handling two or more projects at a time. What was challenging is the fact that, I was handling projects with varying degree of complexities and technology platform. Many of my peers and friends know me as a Java geek. One of earliest professional manager wrote me a reference "To plagarize coke, Sudhi eats, drinks, and sleeps Java...".
That was eactly around 9 years ago when Java was hot as coffee :)
Though I enjoy Java, I have branched out to different things. I will discuss on this little later.

Last few years, I have been struggling to convince many of my fellow co-workers that as indiviuals, we have to go above and beyond technology. Over the years, technology is just a co-incidence. The real dope is in solving the customer problems. Technology should just be an enabler or tool nothing more than that. Let me give you an example. Recently, I have been helping couple of my customers to adopt, and implement an open source CRM called SugarCRM.

SugarCRM is a open source product developed, and managed by SugarCRM ommunity. There are also enterprise and professional versions available, many just prefer opensource version. Simply because it is free and no upfront licensing costs.

One of the biggest issue the customer faced - The Email Interface in SugarCRM was not user friendly at all. So my customer asked,if I can provide her an alternative. I knew there was this Thunderbird - Open source version of outlook. I configured Thunderbird to send and receive my emails - Btw I have my complete email infrastructure hosted on Gmail. It was simple and straight forward.
Set the outgoing SMTP - smtp.gmail.com - port :587
Then set the inbound and user email address.set the password with ssl.
One shot, everything worked like a champ. Now, I also figured out there is a sugar Plugin for thunderbird. I wanted to try that too. So downloaded the SugarCRM lugin for Thunderbird. Installed the plugin - Configured the Plugin to point to my Sugar installation hosted on http://flexcollab.net - Voila, I could just create accounts, leads from my desktop. I thought this was a cool feature. Called the customer, helped download, install and configure Thunder Bird and Sugar Plugin - Established my account with customer - convinced the customer to go with my sugar installation on flexcollab.net.

This is just an example. Technology should not be complex for business folks. It should be made simple. In a commercial version of Collaboration suite like MOSS 2007, it has already been made quite simple and flexible. The realdeal with cost cutting and all that, it makes sense to adopt open source tools. Take a look at the kind of tools we have. We have opensource CRM, Opensource ERP (so many of them - OpenBravo, ERP 5), Open source ETL (Pentaho) List is end less. Open source is a lucrative market. Might not be as lucrative in terms of professional services billing as commercial products, but still a good way delivering quality services to customers.

Another customer was looking for some key issues to be resolved and also a custom module development in SugarCRM. Before giving me the job, he said, I have worked with many people who have not been able to solve my issues. He was very pessimistic about my capabilities. I said to him - "Hi, I am not promising that am going to solve your issue. But let me try and figure out what the problem is". He gave me access to his dev machines where Sugar was installed.

Issue 1 : When you export the accounts and leads the custom columns were never populated in the CSV file. Easy, just go and override the Create_Export_Query in .php to include all the columns including the custom columns. It worked finee.

Issue 2: The pop up defnitions were not working fine. He wanted customized one. This was a hard one. Tooksome time, took help of a Sugar developer in London, got a solution which worked. sudhi@hooduku.com for detailed solution>

From these two customers, I have not made tons of $$, but the kick is that I have signed customers on an ongoing basis - selling my Solutions as a Service model.

Friday, February 10, 2006

How to build a global knowledge management system

Rediff link: http://in.rediff.com/money/2006/feb/10km.htm

Abstract:
In a global world, knowledge is very crucial. It provides a basic framework to, connect, collaborate coordinate and communicate in highly complex and competitive market place.
India has done fabulously so far in this era. Thanks to nation’s top notch educational institutions, we have been leading our way into Nirvana in globalization. Going forward it is up to the Indian companies to nurture the very individuals or its employees with training in new technologies, management mantras, concepts and ideologies. In fact many Indian companies do offer a decent career path and comprehensive training programs as well. The only problem in all these training programs offered is that it could be pursued only in India, the so called its off-site employees. But companies fail to impart training and extend support in education to many of the employees working onsite at client’s locations across world. The reason is the cost, effort and management of such a program.
In this article, I would like to provide a solution, which could be adopted by firms to provide a seamless educational framework for its employees globally.
Knowledge Management (KM) has been a predominant trend in business in the recent years. Scaling-up research prototypes to real-world solutions usually requires an application-driven integration of several basic technologies. Typical characteristics to be dealt with are: manifold logically and physically dispersed employees and knowledge sources, different degrees of formalization of knowledge, possible conflicts between local (individual) and global (group or organizational) goals.

Leverage on Open source – No need to re-invent the wheel
Many organizations already have adopted an open source revolution that is questioning if there will be any thing like Intellectual Property (IP) in software.
We have already seen tremendous push towards the open source, where in companies have developed products and services at low cost, efficiently and quickly.

Organizations could leverage the following of open source and develop a seamless knowledge management system, where in knowledge could be imparted to employees all over the world. There are many content management systems (CMS) which offered via open source licensing terms and conditions such as Mambo, Drupal, PHPNuke, DotNetNuke etc., These content management systems are extremely flexible in the sense that it can be customized based on organization requirements.
Another advantage is that the open source contributors for these open source frameworks are very active and vibrant. So any issues with the CMS, the contributors or as I would like to call them “ambassadors” keep plugging away with new features and making it bug free, preparing for deployment on production systems.

Organizations do not need to spend astronomical sum of money to build an employee friendly knowledge management system. More ever, any initiative in open source is good for the community, organization and the entire knowledge ecosystem. Further more, building on the experience, such a knowledge management system portals, will help companies remain competitive and excel in winning key customer accounts.
My advice to the companies is that in a knowledge economy and highly competitive world, we cannot afford to be complacent and ignore the onsite folks. Companies should be able to leverage technologies available and provide a comprehensive training curriculum for both onsite and offshore employees. Such an environment will help organizations manifold. They are
Creates a global knowledge ecosystem for the company.
Helps in nurturing talent and reduce attrition
Transitioning individuals on high worth projects are easier
Transforming average resource to high caliber contributor for future projects in pipeline.
Providing the resources for employees to be highly adaptable for demanding project assignments.

Conclusion
We are in a knowledge economy. Individuals compete with people all over the world. In private sector, it is no longer necessary to belong to any particular race caste or creed. To make a dent to the bottom line of organization and individual’s goals and aspirations, the very basic necessity is to provide the basic requirements. And yes, knowledge management is as important as food, water and air.
In many global companies a comprehensive knowledge management is in place. The draw back is it has to be nurtured by the individuals only in majority of situations. For instance, majority of Knowledge base comprises of employee contribution such as case study, lessons learned of projects etcetera. Sure I am not questioning the premise of a knowledge base, but the reality is not just about lessons learned after math successful projects. What gets documented into a knowledge base is yesterday in most of the organizations. We need knowledge management for tomorrow. It is also about what to anticipate in real projects of today and clients and how to mitigate proactively for unfavorable situations of tomorrow. End of the day, it is all about transforming unfavorable environment to favorable landscape of immense opportunities and exceeding customer expectations in the competitive global world.

A word of caution to Individuals: No matter in what situation you are in. It is imperative that you have to keep pace with the changing global world and remain competitive to survive.

How to think Outside the box - Rediff Article

Abstract:
This article addresses and explains what it means to “Think outside the box”, why it is so important in any industry and how it has helped many industries/companies to transition the business outcome from mediocre to extra-ordinary.

Introduction:
The phrases “Reframing”, “Lateral thinking”, “process improvements, “Thinking outside the box” and many more such phrases, is a very powerful concept worthy of deeper investigation and practice than just another management cliché in today’s complex and dynamic business world.

The world runs on Internet time said former Intel chief Andy Grove in 2001, after the “Webization” adoption and completion by corporate companies’ world over. It is much more important for thinking heads of global companies to have folks on payroll, who can “Think outside the box” to compete against global competitors. In the modern era of highly competitive global environment, apart from the five forces of Michael Porter and three forces of Larry Downes, the key is to have a Out of the box thinking strategy to be successful.

“Thinking outside the Box” à An interpretation with examples
It is never easy to “Think outside the box” nor is it reflection of one’s intelligence. For a given problem, some people tend to explore solutions in the unknown world, which requires creativity, mental toughness, agility and boldness. Often the individual is a leader in true sense, but we do not have to be leaders to think outside the box. Exploring in an unknown world means to investigate the un-walked path, leaving a psychological comfort zone”. It is thinking beyond the parameters of human consciousness and experience - to see beyond the norm, to be a visionary. It means leaving behind frustration, anger, stress, and fear. Can you be creative? Moving the consciousness 'out of the box' to move out of your physical form.
Life is a journey and exploring through the muddle is adventureous. So how do you think outide the box? Well, it all begins with how we think and consider things. I am sure; we were, are and will be trapped in the maze of thinking till mortality strikes human race. The reality of life is that most of the world follows the conventional wisdom. We have been thought to think in routine ways from early days of school. The fear of something abnormal catastrophe makes the world is trapped in matrix or a box.
A liberal, open mind, unconventional wisdom, zeal of being different and an approach to uncover the known in unknown method is like thinking outside the box. One should think beyond barriers of political, economic, social and ego barriers.
An example is when companies bid in application development and services, the lifecycle costs and development time can be reduced by 20-25% if companies can actively participate and adopt opensource framework, libraries and architecture. I don’t see many companies associate the value addition provided by opensource when bidding for projects.

Recently I read in Business week that, GM is trying to hire multiple companies to deliver IT outsourcing services. All big companies, such as IBM, EDS, HP, etc., are competing for approximately 15 billion dollar business. GM no longer has to rely on one single company. The company which has the best strategy to solve GM’s IT services problem could get a major pie. Now GM creating a competition platform and level playing field to deliver the best quality solutions at viable cost structure is thinking outside the box.

Another example as mentioned in killer-apps, Christopher Brennan, the regional manager for British Petroleum's (BP) with the limitations and stagnation in gas station sales, thought an idea, outside the box to install kiosks. The kiosks played an important role in transforming the channel sales. This is thinking outside the box.

Companies spends amazing amount of money, efforts and time to define, develop and implement strategy, but thinking outside the box, if thought in its entirety can be far more successful than strategies, where in it is devised to realize the benefits on long haul

It is much easier to think outside the box
I decided to do some research quite literally. I brought a 42” HD-TV box from my garage into my living room. I tried to put myself and close the lid at the top. After pushing the self-timer button on my camera, I almost fell on my face while trying to get inside the box before the picture was snapped. My conclusion, therefore, is that's much easier, and certainly much safer, to think outside the box.
The need for thinking outside the box
The person at the top feels that the quality of solutions, services or ideas in vogues is not great. This stems from frustration. It also comes from people working in teams who feel that the contribution of others is not helping find new and original solutions to the challenges of the modern world.
Characteristics of Thinking Outside the box
Thinking outside the box requires different characteristics
One should be willing to take new perspectives to day-to-day work.
Capable of thinking different with an open mind and thoughts with some substance and do things differently.
Focusing on the value of finding new ideas and acting on them.
Striving to create value in new ways.
Listening, supporting, nurturing and respecting others when they come up with new ideas.
Out-of-the box thinking requires openness to new ways of seeing the world and a willingness to explore. Out-of-the box thinkers know that new ideas need nurturing and support. They also know that having an idea is good but acting on it is more important. Results are what count.


Conclusion:
In an effort to introduce the concept of Thinking outside the box, I have tried my best to explain in detail the relevance and how it is being used in companies to deliver best in breed solutions. Any company that was, is and will be successful, if they spend some time in nurturing and supporting thinking out side the box ideas.
The best part is, without any limitations, the concept can be introduced in any industry segment, any domain and in any department of an organization.

End of the day, it is not only the Porter’s laws or new terms that is introduced that will drive the economies of the global world, but also the ability to create, nurture and support the concept of “Thinking outside the world”.

I think, it is fair enough to say that, Porter applied the “thinking outside the box” concept to existing strategies and competitive forces to devise his visionary statements. How many of us could do that? My guess is not many.

Simple and quick Puzzle to test your ability of “Thinking outside the box”
You have 9 dots or points, each one spaced away approximately by 2 inches from each other. You have to connect all the 9 points by maximum of 4 lines, without revisiting the dots or points more than once.

Acknowledgements
I would like to thank Michael Porter, Larry Downes, Nicholas Negroponte and many others who have inspired me to write this article.

Tuesday, January 17, 2006

Top 5 steps to evaluate BPO firms -- rediff

http://ia.rediff.com/money/2006/jan/17guest.htm?q=tp&file=.htm

I received quite a few responses to my recent article on 'How to hire a firm for outsourcing'. Some of the responses raised a few questions that I would like clarify in this article, sharing my experience and judgment.

The purpose is purely to indulge in a thought-provoking knowledge sharing and exchanging exercise.
Organisations looking to hire for sourcing as their management strategy would often go through the route of request for proposals (RFP). But at the end of the day, the small- and medium-sized companies are often overlooked due to the reasons unknown.
Evaluating companies for outsourcing is very challenging and some times expensive. Hence based on my experience working on a few project bids and experiences shared by my friends in the field, I have 5 steps or processes, through which organisations can select firms for outsourcing.
As a rule of nature, we have to create and nurture the ecosystem with a mixture of small, medium and largescale companies in any industry. There should be a level playing field for all players, be they small or big. Otherwise it beats the purpose of equilibrium and might have a negative consequence on the larger economy, where no individual is willing to spend effort, time and energy to build and nurture companies.
The rules of free trade and openness have to be applied to the business execution domain as well.
One reader commented that 75 per cent of outsourcing deals fail according to studies. Though I would argue the circumstances for the failures, I would completely agree with his judgment that organisations sponsoring for outsourcing should have streamlined process management in place.
Someone from the top management in the sponsoring organisation should be able to drive the adoption of changes and modifications of business process execution due to the engagement of third party companies.
Evaluating small- and medium-sized companies is tough. There is a lot of effort and tremendous economic factor involved in evaluating the companies for outsourcing. But nevertheless, it is worth going through the pain, just for the flexibilities that these companies offer in terms of cost and project deliverables.
I have tried to list five fundamental steps or process that can be followed to encourage small and medium businesses to compete in a level playing field in the era of globalisation and digitalisation.

1. Starting with a pilot
Pilot projects are a good way to start the evaluation process. The pilot project should have clear objective, expectations, benefits set and some of the rules could be very stringent with tight deadlines for milestone deliveries.
This is often followed in Silicon Valley companies to encourage small start-ups to demonstrate the abilities of new products and services. It often portrays the benchmark in service level agreements. This way, organisations have the options and flexibilities for innovation in business strategies and delivering services to their end customers.
Competition reduces the cost; hence organisations can negotiate deals relevant to project's costs and deliverables.

2. Talk to top 5 customers
Customer referrals are very important to provide credibility into the project bidding phases. The S-M (small and medium) companies bidding for project submit customer contact. With today's communication infrastructure, it should not take much time and effort to verify a company's experience in project delivery through a phone call or email.
This is not a new trend that I am proposing. But, to encourage small and medium existence, this advice needs to be followed strictly.
In US, there is a certification of 'Minority Business Enterprises.' Through this certification S-M companies, whose founders/presidents/CEOs can claim minority status, bid and win projects. But again, large organisations awarding projects are not often willing to spend additional resources to evaluate the minority organisation.
Often they are encouraged to do business through preferred vendors. Often in consulting terminology, it is a layer business, which does not make much sense to S-M company's bottomline.
The moral of the story is organisations awarding projects should follow the path of 'encouraging S-M companies.'
In more ways than one, I strongly like the Silicon Valley culture. Large companies, in fact, nurture smaller ones. Be they venture capitalists or CEOs or investment advisors. The quality of nurturing is one of the key aspects that has brought back the Valley today closer to the boom of the 1990s.

3. Talk to the employees working for the organization
Employees of the organisation could be an excellent referral of culture, ethics and philosophy of the company. Some times the feedback from the employees could be biased. But in small- and medium-sized companies, employees often reflect the firm's ethics, culture and philosophy.

4. S-M companies should be transparent in their dealings
Definitely the paperwork of cash flow, cash in hand and general financial health should be addressed during awarding the projects. Because, the health of S-M companies will have a major impact on the sponsoring organisation for project deliverables and timelines. The S-M companies, if they are serious about cracking some deals, should have all their paperwork in order.

5. Ongoing auditing from management office
The sponsoring organisations and the company engaged in outsourcing should evaluate the performance of the project. Weekly, monthly or quarterly meetings could be held, which outlines the key accomplishments and milestones achieved in the stipulated timeframes.
This way, lessons can be learnt from mistakes on both sides. This step should be followed strictly, since this step alone can slap project penalties if it is a viable proposition when signing the contract. I recommend that companies should have a penalty clause, though enforced moderately.

My experience is that S-M companies are fast learners and over a period of time can master the art of delivering the highest benefit to the project outcome.

Advantage S-M companies
In terms of cost benefits and project deliverables, it is advantageous to go with S-M companies. They would not have too many overheads, hierarchy, etc., Hence, it all trickles down to lower and lower costs. Among other benefits of outsourcing, nobody can deny the fact that cost does have an impact on an organisation's bottomline. Of course, cost alone should not be a factor for outsourcing or hiring third parties.
Once a project is outsourced to an S-M company, the S-M company often tries to stabilise over a period of time with the same team at the helm and at the project execution level. In large companies, sometimes the value is given to the dollars generated from the project. For an S-M company, all its customers are important, and there cannot be any discrepancy between the deals and brands of the projects.

Conclusion
In this article I have tried to summarise the top five steps/process that can be followed by large organisations to encourage start-ups, and nurture small- and medium-sized companies. Procurement management is a very broad knowledge area, but I have tried my best to develop, define and summarise at a high level.
Ground realities often differ; the steps/process mentioned above might require few tweaks along the way based on the situation. Although, the article does not offer a clear solution for S-M companies looking to transition from a pure-play staffing to solutions or project or product-based consulting, it does give an idea, as to what one should expect during the transformation.
S-M companies accordingly should align themselves with new goals, objectives, strategies, and a management team comprising sales, marketing, domain and technical expertise.
The biggest challenge for small- and medium-sized companies to move up the value chain is to transform themselves from a 'family like' environment into a more professional organisation. Often, lack of professionalism is a huge bottleneck in delivering solutions to customers efficiently. Emphasis needs to be given on performance and nothing else. At the end of the day, that is all that matters.

Acknowledgements: I would like to thank the readers and my friends, who commented with precious insights to my previous article.

Wednesday, January 04, 2006

How to hire a firm for outsourcing

January 03, 2006 published on rediff.com business column

The biggest challenge for any organisation's management team while deciding on outsourcing -- or offshoring or consulting key functions -- is how to hire a company for the initiative. There are many companies who are certified in SEI/CMM levels. SEI/CMM level is a good metric to judge the value add services offered to its clients by a company.
Many Indian companies are certified in various levels of SEI/CMM; at the same time there are lots of small players in the field too, which are willing to travel that extra mile to deliver more than what customers ask for.
Organisations looking to outsource/offshore key functions as part of their macro-management strategy should also look at small- and medium-sized companies. Of course, one of the key quality differentiators here is that with smaller companies, an SEI/CMM level certification might not be available to select from.
With smaller companies, it is a huge investment, effort and requires experience to build upon over the years to get SEI/CMM certification. The purpose of this article is to provide an insight on thekey parameters to evaluate a S-M sized company and still realise high ROI and optimum benefits. At the end of the day, it is all about 'Level Playing Field.'

Key evaluation parameters
In evaluating small and medium companies offering outsourcing/offshore/consulting capabilities, organisations need to ask a few fundamental questions before hiring. Finding an S-M company is not difficult today. However, finding the right one is often challenging and difficult.
Due to a boom for the IT-enabled service sector and for IT workers alike, there are many S-M companies in the United States and in India offering staffing services. Some companies, as they grow along with the economy, would like to transition to a more stable solution-based model or consulting model from a pure play so-called body shoppers.
Better still they would like to participate in the buzzing activity of outsourcing of IT-enabled services. I would consider them as the S-M companies because they have the experience, zeal, knowledge and the business acumen to deliver more than what customer expects.
It is the inherent capability of these company's staff to consistently deliver the highest value service, and this is what differentiates them from the others in this cutthroat business.
The companies are smaller and hence the company as a whole needs to be evaluated. The areas which need to be evaluated, are listed below:

  • The management's credibility and accomplishments.
  • Collective experience of the employees working for the company.
  • Top 5-10 customers who are served, and feedback from key customers.
  • Supervision process and organisational structure for escalations after awarding the project.
  • Service-level agreement.
  • Costs incurred in evaluation and ongoing fee for the project.
  • Company culture, work ethics, and personality.Advice to organisations interested in hiring S-M company


Although all the above are important, special emphasis should be made on 'Company culture, work ethics and personality.' No matter how qualified a company is or how glorious the company brochure, the sales presentation, the Web site, etc. appear, if you cannot work closely with them and feel comfortable relying upon their judgment and services, you will not receive the maximum benefits for you're the money you spend.


Key to finding the right firm
The Web site is a good place to start. Often times the Web site's appearance is a direct reflection of the firm's personality, professionalism and approach to a client's needs. If it is easy to use, simple to follow, and 'feels' good, you may want to pursue that company.
If the site seems too flashy or too difficult to follow, then you may want to concentrate on other firms who make you feel more comfortable.


Setting the expectations
Call the company for a sales presentation, brochures and solution offerings: the goal is to get the right message across. Before you decide to hire the company, prepare a list of questions (Request for Proposal or RFP in big organisations). The approach is to ask the company to respond to the preset list of questions, in writing or verbally. This allows you to compare potential firms on a more objective basis. Your list of questions will vary depending upon your needs and your industry.


If questions are framed in the following areas, you can construct an RFP of your own. Your questions should be direct, but not offending. Again, the following are only a guide, but can be used until you have time to frame your own questions.

  • Remember you are the client and the one who needs to feel comfortable.
  • Skim, read and understand the background information and methods of the company.
  • Why should an organisation go with a firm?
  • Key differentiators, process model, project development, management and delivery methodologies and SLAs.

Note: S-M companies are not SEI/CMM certified with no project management office, hence no structured process or project management methodologies exist. But with collective experience, do well than most companies. This is my personal opinion, based on experience over the years.

  • How does the approach differ from the competition?
  • Escalation levels, organisational structure, and ownership for key deliverables.
    Maintaining timelines, cost and budget.
  • Kind of support services and duration of the service provided aftermath and during the execution of the project.
  • Does the company offer a guarantee or warranty of the services?
  • Key resource personnel involved in the project, profiles of key resources, supervisor credentials, background and experience.
  • Evaluate the company's domain and technical expertise in its entirety.
  • In addition, there are questions you should be asking yourself. Does this organisation's value match up those of an S-M company?
  • Do you feel comfortable accepting advice from the company?
  • Is there a collaboration, coordination and communication protocol set up and are you comfortable with that?
  • How will my staff react to the initiative from the management
  • Were the verbal answers in line with their brochures, sales presentations, Web site, etc.


Conclusion
In essence, to encourage healthy competition and level playing field, organisations can evaluate small and medium companies adopting some of the question areas listed in the article above
It is my personal opinion that the question areas listed above could be adopted to evaluate any company for outsource, offshore/near shore abilities or even to hire individual contractors, consultants or staffing services.


The author thanks Uma Chidambaram from ObjectWin Technology, who provided him with a real world case study and food for thought to develop this article in its entirety.

Sunday, December 25, 2005

Why open source software is hot - Rediff

December 20, 2005

What is common ton products such as JBoss and Mono framework? Nothing, except that both of them are open source initiative in Java and .NET world.
Products like Linux, Apache Web Server, and JBoss have shown that open source software can be technically superior to any commercial software available. These products have been successful in competing and acquiring market share with some commercial software equivalents such as Microsoft, Sun, BEA systems and IBM. Companies such as RedHat, have coupled open source software with a viable business strategy for a sustainable long term haul.
The purpose of this article is to outline some ways to make business sense of open source software. Open source has joined the main stream. Studies, surveys and experience have shown that majority of IT managers of global corporations are using open source software.
In several domains, there are competing open-source and commercial software choices for enterprises to choose from. In reality, I suspect, most of the companies developing commercial software are using open source behind the scenes. At least this is true to certain extent in Java world, where the majority of Java library framework is open source.

What is open source software?
According to Wikipedia, open source is regarded by some as a philosophy and by others a pragmatic methodology, relates to practices in the production of products which promote access to their sources.
The IT community in general, the developers and producers had used many different phrases and jargon words before, it was not until the 1998 when open source became a brand to denote widely adopted as the early Internet years provided a rapid convergence of socially diverse production models.
Technically, 'open source' means software that is supplied with the original code in which it was written allowing others to view, modify, adapt, and improve the code.
This can include software that cannot be redistributed without explicit permission (and often a payment) to the software owner. Most people now define "open source" more narrowly to as software with the following further characteristics:
It is protected by copyright, but not patents.
It has a 'copy-left' license (GNU license or similar), which states that it can be redistributed for no charge, but the source code and modifications must be licensed out under the same terms that it was licensed in. Please visit the http://www.opensource.org/ to learn about the intricacies and latest updates on open source licensing.
Please note, that it is acceptable to sell commercial software in a bundle with this 'open source' software. Open source software is not the same as 'shareware' or 'freeware' which often does not come with source code and has zero cost as its defining characteristic. Open source software, may or may not be zero cost.
The benefit of open source software is that when people are allowed to read, distribute, and modify the source code for a piece of software, the software evolves and gets better.
History of open source
The concept of open source software evolved as early as 1960s. Most software developed then was readily given out to users in order to better the experience for all users.
In the 1980s, the free software movement led by Richard Stallman began its campaign for free software, meaning software that respects users' freedom and community.
Stallman asserted that software should be treated the same way as academic research is treated. The source code (knowledge) should be available to others just like academic papers circulate freely.
Science advances because knowledge is shared, subject to peer review, and built on by others. GNU Emacs editor and GNU C compiler was among Stallman's early successes which continue to be popular in their categories.
Stallman created the GNU license and the concept of 'copy left' to ensure these products were open to others to improve. The GNU license is the basis for most open source licenses.
Another major milestone was the development of Linux, which was developed by a large, geographically dispersed team of unpaid programmers sharing code over the Internet, coordinated by Linus Torvalds.
This group created an operating system that was more robust, elegant and error-free than UNIX or Microsoft Windows and they created it in much less time and cost. This further proved the power of this software development model.
There is an interesting background to Apache Web Server. A group of Web administrators took some freely-available code for a web server and patched it to create a 'patchy Web server' that became named 'Apache' Web Server, and this became the best web server available on the internet.
Although Microsoft has tried to displace this by distributing its IIS Web Server at no cost as part of the Windows operating system, Apache continues to be more popular, helping to substantiate the benefits of the open cooperative software development.
In English, 'free' also means zero cost (free as in beer), the movement adopted the term 'open source' to help clarify that this category of software can be sold, as long as programmers have the "freedom" to view, modify, and redistribute the product along with its source code.

Open source software: business proposition
In the late 1990s companies started working out how to turn the superior reliability and development speed of shared open software development into a business proposition.
The following are some of the most popular business ways companies are doing this:
Sell service and support of open source software that your company does not control. This is what companies like Red Hat and Suse (Novell) do with Linux, which is controlled by Linus Torvalds and his followers.
Create open source software your firm controls, and sell service, support, and commercial versions related to this software. Examples are: JBoss, the #3 Java-based Web Application Server; OpenOffice (StarOffice), Sun Microsystems' alternative to Microsoft Office and mySQL, a database that competes against Oracle and IBM's DB2.
Sell a product or service that uses open source software as an element of a total solution offering. This is what companies do when they make commercial
Web applications that use PHP, run on Linux, are written in Perl or provide web services running on the Apache Web Server.
Provide open source software for hardware you sell. For example, companies that make computer printers sometimes provide the source code for their printer drivers so that experienced programmers can adapt these printer drivers to fit operating systems or perform functions that the company is not interested in writing themselves. As a result of having the drivers available as open source, the company sells more printers.
Open source a software product to reduce support costs at the end of life.
Companies, by adopting open source improve their reputation and reduce the support and maintenance costs for products, where the revenue growth is flat. On the other hand, for new applications, products and services, companies have embraced open source, to develop the commodity at low cost and achieve higher revenue growth.
Provide dual licensing for a software product. This is actually how mySQL is marketed. Companies can either use the version based on an open source license for free or can pay to have a license that allows them to sell a modified version of the database as part of their total product offering.
Build an ecosystem. For example Palm has successfully shared the source code of their PDAs to make it easier for other companies to write software that works with this product, making the overall offering more attractive.

Open Source Resources
It is worth pointing out that there are a lot of development and marketing opportunities available when a company chooses to go down the open source route that are not available if you keep your software proprietary. These can improve product quality, reduce development cost or reduce marketing cost.
Examples are:
Quality control and improvement. By providing your source code, others can review this and suggest improvements and provide valuable feedback.
New applications. By providing your source code, others can adapt this to applications you never thought of.
Easy distribution. There are many websites such as FreshMeat and SourceForge etc) that will freely publicize your open source product.

http://sourceforge.net
http://jboss.org


Conclusion
This article just portrays an outline about the avenues available to make money from Open Source.

Make consulting a career choice - Rediff

December 22, 2005

This article tries to provide a career path for consulting careers by making smart choices developing and nurturing skills during the early years of professional life. The purpose of this article is to outline the career options available to information technology consultants.
It is in the hands of individuals to how to design, develop and leverage their skills to be competitive in the global village of information.

Introduction
Consulting careers have gained lot of momentum since the information technology boom of the 1990s. The fundamental nature has also undergone a sea change since the year 2000. Any project execution or product development or for that matter any domain, such as accounting, human resources, finance or industries such as oil and gas, retail sector, etc, requires individuals specialised in a skill set not easily found among the employees of the organisation.
The nature of consulting is temporary and limited to project, product development and marketing.
Though consulting careers existed prior to the 1990s, the shortage of information workers during the 1990s' IT boom and flexibility in immigration policies triggered a mass exodus of qualified engineers from developing nations, mostly from South East Asia to developed nations, majorly to the United States.
The term consultant has remained same, but it is often prefixed with the demands that exist during the period. For instance, during the enterprise resource planning (ERP) implementations in the mid-1990s, they were called ERP consultants or supply chain consultants.
During the Y2K problems, they were called Y2K consultants. With technology advancements, there are J2EE consultants, .NET consultants, Seibel consultants, etc. There is also another cult called management consultants, more trained in devising and developing strategies for the top management in organisations to deliver high ROI (return on investment) to customers and stakeholders.
What was called pure technical consulting or IT consulting has transformed into a business consulting practice in recent years. Over the years, with organisations adopting open source and basically the technology becoming commoditised, affordable and easy to use, technology adoption is more a coincidence.
The strategy of organisations is to leverage technology to provide high value products, services and ROI to customers. A business consultant is an individual, who has a deep understanding of technology and a broad grasp of the line of businesses.

Being a consultant: Phase 1
There are some guidelines that require strict practice to make a successful career out of consulting. Consulting is sometimes like self-employment. You have to be ready for fluctuating pay checks, long hours of work, adaptability to changing client's business scenarios, flexibility to learn and adopt new technologies, jargons, process, regulations, etc., at a quick pace.
Work experience: Various experiences can be applied in future consulting projects. From necessary engineering tasks to menial jobs, you can always learn people skills. Be a student of how to understand people from varying backgrounds and ways to approach them.
Involvement with professional organisation: Professional societies can help you network with other engineers who specialise in various areas. They are a good way of keeping up-to-date with the latest information.

Learn the art of Googling: Information does not walk or run, you have to crave for information. You are young and enthusiastic; channel your efforts to acquire knowledge over a wide variety of topics. Read articles on popular Web sites as and when you have time. Keep yourself current on ongoing political, business and industry discussions.

Learn and contribute: When you learn some thing, you have to practice the learnings and contribute to the community. Just like the Vedas are impossible to master, consulting or any career for that matter is hard to excel in. Learn the art of learning and 'unlearning' as information transforms. Try to contribute to the community, by sharing information such as technical or business skills.

Career centre: Practice and learn interviewing techniques, wearing the proper attire, and speaking skills. These are necessary skills to develop to be a successful consultant.

Survival of the fittest: Darwin's theory
During initial phases, you have to be a strong minded and intelligent to understand the intricacies of consulting. You have to be flexible in your attitude, generous to your client and adaptable to changing technological and business demands of the customer. I would modify the theory to suit the consulting business. It is the 'Survival of knowledgeable adaptable, flexible and talented.'

Build and maintain consulting career: Phase 2
To reach this phase, you have worked hard and achieved the first goal. The following discusses some strategies to build and maintain the consulting career. Some of the strategies could be used in Phase 1 as well, if you are an exceptional consultant.
Learn to cultivate business: Be pro-active to solve customer problems. Take courses in marketing and selling. They will help with communication skills between managers and upper level personal as well as help you with your own development.
Writing proposals: Learn the finer points of language and try to learn the language of the customer. Shut up and listen to the client and then write it down. Try to quantify the client's needs as much as possible and avoid vague goals and objectives. Work in stages with evaluation points (milestones), which can be used to show progress to the client.
Deliver a little extra: Deliver a little more than what the client expects. This helps in getting more referrals and repeat business. This practice will generate follow-on and referral business.
Learn how to identify pertinent information: Read up on the subject at hand and find out what is considered relevant and important. Learn from previous assignments and your mistakes. If you stay focussed on your goals it is easier to decide what is pertinent and you can stay headed in the right direction.

Professional registration/certification (PMP, CAPM, technical certifications): Take the certifications as soon as possible and always practice, what they preach. Passing the certifications will always leave you with your options open.

Advanced degree: Evaluate options and try to get an advanced degree in the area of specialisation, such as MS, MBA etc. This will add lot of value on resume, problem solving and analytical skills. The problem solving, logical and analytical skills are crucial to be a successful business consultant in the ever-demanding Information era.

Professional societies: Continue being involved. Organisations such as IEEE, PMI are important.
Networking: Keeping up and sharing with classmates and friends from other organisations and industries is a good source of ideas and information.

Maintain your edge when consulting
Since being a consultant demands a lot of your time and the hours can be irregular. Following are some suggestions for coping with these conditions:

Maintain discipline for personal well being: In order to have the energy to be a consultant over the long haul, it is necessary to eat healthy food, get plenty of sleep, and perform some type of physical activity to relieve stress.

When travelling, learn how to take a break from work. You will need one schedule or routine for while you are at home and one for when you are travelling.

Maintain discipline if you are working at home: You need to separate work from home life. When starting your workday at home, do not stop for anything personal. Treat work time as mandatory and should not change work routine unless it is an emergency.

Closer to Nirvana -- as good as it gets: Phase 3
Remember that you can never achieve Nirvana in any profession. If you reach Phase 3, modestly be proud of your accomplishment. This is as close as one can get to it in life. It is always good to have choices, whether it is buying products or choosing a job profile.
After years of consulting, individuals could be client engagement manager, programme managers or delivery manager in services in consulting practices of global organisations. Better still you could practice the occupation, being a practice manager, nurturing technology, business and consultants like yourself.

The following are two options widely adopted by many experienced individuals:
Joining a consulting company; or starting own business in consulting with associates. As in every option, there are advantages and disadvantages. Here are some of my comments:

Employee of consulting company
Advantages
Established for many years
Usually work in a single function (selling, marketing, etc.)
Easy to establish mentor(s)
Steadier income
Disadvantages
Working for a company and having a boss
Continuous traveling
Constant push on justifying billable hours

Starting own business in consulting
Advantages
You get to be your own boss, from writing your own proposals to making your own hours
Potentially great financial rewards function (selling, marketing, etc.)
Disadvantages
Stretched for time due to working in other functions such as marketing, selling, tech support, etc
Requires self-discipline