Yesterday, I was reading in Businessline newspaper an article about Mr. P Chidambaram – ex-finance minister for India. The article talked about how Chidambaram was considered among his colleagues arrogant, not polite, etc. All these views are in complete contradiction to my view about Chidambaram. I considered him to be extremely sensitive to people issues and therefore, very polite etc. But I guess for certain people he is arrogant! The point is, I made my assumptions about Mr. Chidambaram based on very little information I had and I stuck with that assumption. I never questioned this assumption. Though, this assumption did not cause any problem to anybody, at the end of the day, I am making assumptions about somebody without doing my due-diligence. Normally I do; but in this cause I did not. So I started reading a lot of Mr. Chidambaram and I am still reading about him!
Take on people
December 5, 2008 by rajTen Foundations
October 3, 2008 by rajHere are the “Ten Foundations” for building business software applications:
1. Quickly build new features
2. Usability
3. Manageability
4. Business Intelligence
5. Support for partners (resellers)
6. Single Integrated solution
7. Adaptability
8. Productivity
9. OS focus
10. SAAS with thick client
Acceptable level of service – zone of tolerance
September 23, 2008 by rajYesterday, I saw an interesting cartoon. The cartoon showed a man in business attire in front of a computer banging the table. The caption read ‘I wish they had a bundle offer to package a technical support person along with the software!!!’.
Agreed that mostly software are buggy and customers are completely justified in getting frustrated with the software and support. But once in a while, you do come across a customer who expects everything under the sun and you as the software vendor or support company get totally brunt by servicing them. In such occasions you should rely on the zone of tolerance (ZOT) concept.
When deciding the level of service to be provided to your customers, you must decide between the cost implication of providing the service and the customer unhappiness for not providing the service. If you are solely concentrating on providing the ideal world service then the cost to provide this level of service will eat into your profits that you might otherwise make. If on other hand, you ignore the service then you leave your customers unhappy resulting in loosing the customer. So how much of service do you provide? Where do you draw the line. You draw the line at the ZOT of your customer. The trick is in identifying the level of service that the customer finds acceptable even though they might not be happy about it but it certainly does not make a dint in your profits. This range between the ideally desired level of service and the acceptable level of service is termed the Zone of Tolerance.
Which is better: Client Server based software or Web-based software?
March 18, 2008 by raj
Just as there are two kinds of everything in the world, we now have two kinds of Software: Client-Server and Web-based. The new kid on the block, Web-based, typically resides externally on an Applications Service Provider’s (ASP) network and you access the Software using a browser Software over the Internet; while Client-Server Software is run internally on your own computer network and you access the Software running on a server machine using a Client Software.
Recently, there is so much talk about the advantages offered by the Web-based Software over the Client-Server Software. I, on the other hand, believe that one can marry the advantages offered by Web-based Software in Client-Server Software and yet retain the traditional advantages such as quick response and superior usability provided by the Client-Server Software. We can blur the line between Web-based and Client-Server Software, and provide a hybrid model.
System Access:
Web-based: Software is accessed from anywhere with a standard browser and an Internet connection. The user does not even have to be using his or her own computer.
Client-Server: Users must be on the local network to access the Software unless the company has invested in a remote access Software such as Citrix, PC Anywhere or VNC. Remote access Softwares require additional user Software which can be expensive and increase your IT overhead.
Hybrid: With remote connectivity, Hybrid Client-Server can provide the same anywhere access that Web-based Software provides. By making the Client Software a free download from a website, you can download the Client Software and start accessing the Client-Server Software from any computer. So, by using Hybrid model, you can not only get the anywhere and anytime access to the Software but you also get good response and usability because the Software uses the power of the Client computer.
System Costs:
Web-based: System is typically offered on a subscription basis keeping you in control of the costs and allowing you to grow into the system without a huge up-front expense.
Client-Server: Software is usually paid for up-front and the initial cost of the system can be high. You have high exposure if the system doesn’t turn out to meet your needs.
Hybrid: Even with Client-Server, one can provide subscription model. One can subscribe for monthly/yearly payment and choose to pay using Credit Card right from the Client Software. Over and above this, user is in control of upgrades and can decide whether they want the new features/support or not, unlike in a Web-based Software.
System Support
Web-based: Your IT staff is virtually uninvolved in system upgrades, installing Client Software or database migrations, making your exposure virtually nil. Issues with upgrades are typically dealt with globally, not on a customer-by-customer basis.
Client-Server: You bear all the expense of upgrades, and Software vendor can push as many new revisions at you as they choose. Issues with upgrades are difficult as the vendor must typically address them remotely.
Hybrid: As with Web-based, system upgrades can be done without your intervention. The server Software can download the upgrade from a known web location and automatically upgrade itself. Even the Client Software can be set to automatically upgrade.
System Training
Web-based: You can take advantage of the online manuals, training materials, forums, knowledge-base, etc. You can easily connect with other users of the product across the globe and seek help in resolving issues. Product Support provided by the vendor is offered through the same medium through which the Software is accessed, providing instant resolutions for Users’ problems.
Client-Server: Other than user manuals, there is no provision to connect with other users of the product, knowledge-base, etc. Product support is through traditional medium like phone and email taking usually high time to resolve problems.
Hybrid: By embedding web-technology directly in the Client-Server Software, it is possible to provide the same support and training available in the Web-based Software. Users can access online manuals, training material, forums, knowledge-base and even access the online support site directly from the Client Software.
System Agnostics
Web-based: All it takes to access the Web-based Software is a browser Software. And browser Softwares are available for all operating systems making it possible to access the Web-based Software using any operating system.
Client-Server: The Client Software is written for a particular operating system and usually, the operating system is same as the one for which the Server Software is written for. It is not possible to use other operating system other than the one for which the Client Software is written for.
Hybrid: With the currently available technologies, it is possible to access the Server Software running on an operating system different from the Client Software’s operating system. Therefore, by providing a separate Client Software for each operating system, it is possible to make Client-Server Software System agnostics.
Implementing ERP Application
December 9, 2007 by rajWhen implementing ERP application for clients, we deal with many things. In my previous job, we used the term RICE to summarize everything that we did during any implementation.
RICE stands for: Reports Interfaces Conversions Extensions
Let’s look at them one by one.
Reports:All of the client’s business reporting needs should be examined to ensure that they go live with at least as much information as they use today. The question is though, do they need the report or can they live with the new systems processes and online inquiries? Often reports are generated to support a manual process that takes some human intervention. For example a min-max report was printed to help the buyer make purchase decisions. Not with the new ERP package; the system provides suggested buys through an inquiry. So is there a need for that old report?
The best thing to do is to catalog all of the current reports and go through each of them with the client and determine what are the business needs that the reports solve. Once that is determined, find out if there is a better way to get the same information in the new system. If there isn’t, mark that report as a necessary report for going live. If the report is not currently in the new package, then a custom report will need to be made. These too should be prioritized. Some may not be critical for going live and are nice-to-have reports.
InterfacesHow many other systems will be linking into the new ERP package? This takes some software architecting, but you can see which software will be replaced by the new package and which software will remain. Does the remaining software have a need to be integrated into the new ERP? What is the cost of integrating that new solution, versus a manual entry? These are some of the decisions that you will be faced with during implementation.
Linking two systems together can be as simple as a data export and data import, to as difficult as a synchronized data movement between the systems. Often it is the first option. Export the data from the external system on a set schedule and manually import the export file into the ERP package.
ConversionsThis is one of the most deceiving areas of an implementation. It might seem simple at first. Oh, we just are converting the Customers, Vendors and the opening balances. Okay, simple enough. But does the old system have all of the data fields that the new system requires? Does the client have clean data to be brought over? One of the costly areas of implementations (in terms of labor) is the data clean up.
Most ERP packages have a standard data import template. As implementer you need to map the old system s data fields to the import template. You will also be responsible for to export the data from the old system. You will be lucky if the old system has export mechanism. Otherwise, you will have to write custom reports in the old system and use that report output to create the export file. Moreover, however good the export data might be, there will be dirty data that needs to be cleaned. If you have a lot of records, then this will be very time consuming.
The other option is not to even export and import. You can manually enter data too. The rule of thumb I go by is if there are less than 50 records in a data file, then it should be manually entered. If it is more than that, then you should look at an automated data load.
ExtensionsExtensions are additional programming functionality. Sometimes referred to as Enhancements, they provide functionality that does not exist in the core ERP package. Often this is due to a very specific task that the old system did to satisfy the client’s need or to satisfy a legal regulation that is specific to a niche industry. These custom programs are not written into the core ERP since that will break the upgrade path in most cases. Instead a separate program is developed using the same tools that the ERP system uses and data hooks are created to link the extension to the core ERP.
As much as possible, extensions should be avoided as upgrading becomes tough once the core ERP package is changed. But if there is a unique functionality that cannot be handled by the core ERP package, then an extension is the preferred way to handle it.
In summary, Reports, Interfaces, Conversions, and Extensions are key aspects of any ERP implementation and should be properly scoped in the initial planning phase. Insufficient time or resources can have a detrimental impact on the overall implementation budget. If you are about to embark on an implementation, be sure to look at all aspects of RICE before you begin.
Simplicity
October 27, 2007 by rajI have been thinking to publish this blog for a long time; finally, here it is!
I will use this blog to share interesting articles & blogs that I come across on the net and from time to time, express my opinion on variety of topics that are close to me both personally and professionally.
Recently, I came across an article talking about the book – The Laws of Simplicity by John Meda. If you can find this book read it; otherwise, get the gist of the ten laws of simplicity here
We all can intuitively relate to some of these laws but the trick, I feel is in embracing these laws and reflect them in our actions. I know, it is easily said than done but we can always try! Steve Jobs did it, Google’s Brin wants to succeed with simplicity, and Bill Gates is talking about simplicity!
I look for your feedback. It will be wonderful to hear from you – do share your thoughts by posting your comments.