The Obstacle In Our Path

June 9th, 2010 2 comments

In ancient times, a king had a boulder placed on a roadway. Then he hid himself and watched to see if anyone would remove the huge rock. Some of the king’s wealthiest merchants and courtiers came by and simply walked around it.

Many loudly blamed the king for not keeping the roads clear, but none did anything about getting the big stone out of the way. Then a peasant came along carrying a load of vegetables. On approaching the boulder, the peasant laid down his burden and tried to move the stone to the side of the road. After much pushing and straining, he finally succeeded. As the peasant picked up his load of vegetables, he noticed a purse lying in the road where the boulder had been. The purse contained many gold coins and a note from the king indicating that the gold was for the person who removed the boulder from the roadway. The peasant learned what many others never understand.

Every obstacle presents an opportunity to improve one’s condition.

 

Please note that this section of Motivational Stories is not written by me, I have just collected all such stories together.

In case if any reader finds any information is wrongly said/written on my blog please do write me @bharat.mane@gmail.com

If you find these to be helpful, be sure to drop me a note in comments.

Hope you enjoyed it!

Share and Enjoy:
  • Print
  • email
  • Google Bookmarks
  • PDF
  • del.icio.us
Categories: Motivational Stories, Stories Tags:

Fun with jQuery-Autocomplete in .NET MVC 2.0

May 31st, 2010 6 comments

Its always fun to try new things and especially when it takes repeated trials, the more exciting it gets Whew

I must tell you it was a very exhaustive day for me to keep trying. So, I thought it’s worth sharing it. Before we begin, if you are new to jQuery, Oh! it’s awesome. It’s the most popular JavaScript Library in use today. It’s worth spending some time at http://jquery.com/

 

jQuery is a new kind of JavaScript Library.

jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript.

http://jquery.com/

If you are new to MVC, just google it, you will get tons of information. However, for .NET MVC 2.0, here are some pointers;

Let’s begin  our topic of discussion “jQuery-Autocomplete”, small but powerful and very useful plugin that we see in almost every website or we wish we had one. JQuery has an extensive list of plugins available.  http://plugins.jquery.com/

The basic idea is, we have one website say “Media Library”, and user wants to search the songs and as a smart user :) we would like to search them as we type Happy

Yes the answer is Autocomplete, in ASP.NET AJAX or similar other libraries you would have seen or used the same. Here we are going to use this while we build a small website in ASP.NET MVC using jQuery. Here the plugin adds necessary behavior to handle key press events etc.

Tools that I am using:

Create a ASP.NET MVC 2 Web Application

Note: Use the template that is provided with Visual Studio that will create all the skeleton that is required for the MVC project

Download the Plugin Scripts from 

http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/
http://docs.jquery.com/Plugins/Autocomplete (you may please refer for complete documentation)

Scenario 1: Let’s say our songs data is static data

Add references of CSS and scripts as below to the page

   1: <link href="<%= Url.Content("~/Content/jquery.autocomplete.css") %>" rel="stylesheet" type="text/css" />

   2: <script src="<%= Url.Content("~/Scripts/jquery-1.4.1.min.js") %>" type="text/javascript" />

   3: <script src="<%= Url.Content("~/Scripts/jquery.autocomplete.js") %>" type="text/javascript" />

Add one text box

   1: <input type="text" id="txtSongsStatic" />

The below script

   1: //Static data for autocomplete

   2: var songs = ['Aaj Rani Poorvichi Ti Preet', 'Aaj Tula Javalun Pahaiche Ahe', 'Aala Aala Paus Aala', 'Aala Aala Wara'];

   3:  

   4: $(document).ready(function () {

   5:     //Adding autocomplete to region input

   6:     $("#txtSongsStatic").autocomplete(songs);

   7: });

That’s it? :) yes that’s it and you will see a cool autocomplete working for you as shown below

image 

Here autocomplete plugin has lots of interesting options which you may try it out

http://docs.jquery.com/Plugins/Autocomplete/autocomplete#url_or_dataoptions 

But life is not always that simple Winking, as our data in 99% of cases is not static. Let’s make it little complex where our data is stored in database.

Note:

Ensure that the browser you are using supports viewing the requests and responses headers and contents as shown in the below image. This is very important when you are working with any ajaxified application. Otherwise trust me you will spend your whole day in finding the problem and yet you won’t

For Google Chrome it’s built in browser just press Ctl + Shit + I or Go to Developer –> Developer Tools

For Internet Explorer we have Web Development Helper

For Firefox we have Firebug

Likewise, you may find one for your favorite browser :)

   image

Scenario 2: Data is dynamic and is stored in Simple Database “MyMedia” with one simple table “Songs” as shown in image below

image 

So now your html will look like

   1: Search Songs [Static]:

   2: <input type="text" id="txtSongsStatic" />

   3: <br />

   4: Search Songs [Dynamic]:

   5: <input type="text" id="txtSongsDynamic" />

And your script will be

   1: //Static data for autocomplete

   2: var songs = ['Aaj Rani Poorvichi Ti Preet', 'Aaj Tula Javalun Pahaiche Ahe', 'Aala Aala Paus Aala', 'Aala Aala Wara'];

   3:  

   4: $(document).ready(function () {

   5:     //Adding autocomplete to region input for static data

   6:     $("#txtSongsStatic").autocomplete(songs);

   7:     //Adding autocomplete to region input for dynamic data

   8:     $("#txtSongsDynamic").autocomplete('<%=Url.Action("GetSongs", "Home") %>', {

   9:         dataType: 'json',

  10:         parse: prep_data,

  11:         formatItem: format_item

  12:     });

  13: });

  14: prep_data = function (data) {

  15:     parsed_data = [];

  16:     for (i = 0; i < data.length; i++) {

  17:         obj = data[i];

  18:         // Other internal autocomplete operations expect 

  19:         // the data to be split into associative arrays of this sort 

  20:         parsed_data[i] = {

  21:             data: obj,

  22:             value: obj.Id,

  23:             result: obj.SongTitle

  24:         };

  25:     }

  26:  

  27:     return parsed_data;

  28: }

  29: format_item = function (item, position, length) {

  30:     return item.SongTitle;

  31: }

In this case, instead of using the static array we are using an asynchronous call to server. At the server side we have  a controller Home and action as GetSongs, where this function is going to dump JSON and that will become the source to the autocomplete. 

   1: public ActionResult GetSongs(string q)

   2: {

   3:     MyMediaDB mediaDB = new MyMediaDB();

   4:     var songs =

   5:         from song in

   6:             mediaDB.Songs

   7:         where

   8:             song.AlbumName.Contains(q) ||

   9:             song.ArtistName.Contains(q) ||

  10:             song.SongTitle.Contains(q)

  11:         select

  12:             song;                    

  13:  

  14:     return Json(songs.ToList(), JsonRequestBehavior.AllowGet);

  15: }

One Very Important Note here

Look at return Json(songs.ToList(), JsonRequestBehavior.AllowGet);

Sometimes you may receive an error whenever you execute a json request "This request has been blocked because sensitive information could be disclosed to third party web sites when this is used in a GET request. To allow GET requests, set JsonRequestBehavior to AllowGet."

The reason is, in MVC 2 they block Json for GET requests (as you can tell from the error) for security reasons. If you want to override that behavior, check out the overload for Json that accepts a JsonRequestBehavior parameter.

This can happen only in case if by mistake you do not use AllowGet

For Example, in the below case you may receive an error,

return Json(songs.ToList());

One last note here, unless you use those small browser plugins (I have explained above) that shows the requests, responses, their header, contents, it will be very difficult to trace the problems.

That was about the server side, now let’s discuss the client side code where we are calling autocomplete. Here we are using three options of the autocomplete function

    However, parse option is undocumented (as far as I know ) and this is where i stumbled for some time and finally it worked for me. We can use this option when we want to use data that doesn’t fit autocomplete’s assumptions.

    For Example: If our data is not just key-value (Item-Value) pair, it’s our own class and from this we would like to use some field as value/display then this is where this option comes handy, where we can supply our own function to parse our collection in a way autocomplete can understand.  Here in our example we have our own collection as songs and we want to display SongTitle.

Finally, you see the result like this

image

You can download the complete source code from here 

 

Features like autocomplete can be great saviour when your data is large and users have to select from the them. This also helps in keeping the page size as light as possible. Sometimes you may provide multiple search criteria. For Example in our case, user can search songs based on song title, album name, artist name etc. Such features can create great user experience on your website.

Hope this helps you get web apps looking cool.

 

Additional Reference 

http://en.wikipedia.org/wiki/JQuery

http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

http://docs.jquery.com/Plugins/Autocomplete

http://flux88.com/blog/jquery-auto-complete-text-box-with-asp-net-mvc/

http://tpeczek.blogspot.com/2010/05/jquery-autocomplete-in-aspnet-mvc.html

http://www.barneyb.com/barneyblog/2008/11/22/jquerys-autocompletes-undocumented-source-option/

 

In case if any reader finds any information is wrongly said/written on my blog please do write me @bharat.mane@gmail.com

If you find these to be helpful, be sure to drop me a note in comments.

Hope you enjoyed it!

Share and Enjoy:
  • Print
  • email
  • Google Bookmarks
  • PDF
  • del.icio.us
Categories: .NET, jQuery, MVC, Technology Tags: , ,

BUTTERFLY

May 19th, 2010 No comments

A man found a cocoon of a butterfly. One day a small opening appeared. He sat and watched the butterfly for several hours as it struggled to force its body through that little hole. Then it seemed to stop making any progress. It appeared as if it had gotten as far as it could, and it could go no further.

So the man decided to help the butterfly. He took a pair of scissors and snipped off the remaining bit of the cocoon.

The butterfly then emerged easily. But it had a swollen body and small, shriveled wings.

The man continued to watch the butterfly because he expected that, at any moment, the wings would enlarge and expand to be able to support the body, which would contract in time.

Neither happened! In fact, the butterfly spent the rest of its life crawling around with a swollen body and shriveled wings. It never was able to fly.

What the man, in his kindness and haste, did not understand was that the restricting cocoon and the struggle required for the butterfly to get through the tiny opening were God’s way of forcing fluid from the body of the butterfly into its wings so that it would be ready for flight once it achieved its freedom from the cocoon.

Sometimes struggles are exactly what we need in our lives. If God allowed us to go through our lives without any obstacles, it would cripple us.

We would not be as strong as what we could have been. We could never fly!

I asked for Strength………
And God gave me Difficulties to make me strong.

I asked for Wisdom………
And God gave me Problems to solve.

I asked for Prosperity………
And God gave me Brain and Brawn to work.

I asked for Courage………
And God gave me Danger to overcome.

I asked for Love………
And God gave me Troubled people to help.

I asked for Favors………
And God gave me Opportunities.

I received nothing I wanted ……..
I received everything I needed!

Please note that this section of Motivational Stories is not written by me, I have just collected all such stories together.

Share and Enjoy:
  • Print
  • email
  • Google Bookmarks
  • PDF
  • del.icio.us

An ERP Diary – Conclusion

May 18th, 2010 No comments

This is the last in a series of blog posts I’m doing on An ERP Diary to summarize my learnings  during my first ERP implementation.

The key learning points that one takes home at the end of the day are many. To summarize and to quote a few is difficult; but, if you carefully discern the topics that are discussed, it will definitely suggest the footsteps that one must follow in this effort. To start with, “A Systematic Approach” points out the key elements in planning. “Top Management Support” lists out the areas where top management has to take charge and lead from the front. “Managing Requirements” explains you in a nutshell the importance of requirements gathering. “Communication is the Key” opens you up to the importance of communication in this complex implementation. “Effective Change Management” will make you realize the importance of change management. Not to mention the challenges and the resistance that you may face in this marathon. Last but not the least “Methodical Data Migration” stresses on procedural approach and gives you tips that are more than handy.

ERP implementation – about which the paper discusses, will help you in understanding the complexity involved in each and every process; and will make you doubly cautious in each and every step. The whole episode might introduce you to myriad things and the topics discussed in this paper are like handy tools; utilizing them in the best possible way at the right moment is the key to success. When you start an ERP implementation, it might stand tall as high as Mt.Everest and make you think twice before you start on the expedition. The right planning, preparation, and proclivity to create the change will guide you through this mammoth task. At the end when you have finally accomplished this, it definitely feels like you are on top of Mt.Everest. Good luck!

Additional References

http://www.tc.umn.edu/~hause011/article/ERPmigrate.html

http://it.toolbox.com/blogs/erp-roi/erp-case-studies-17753

http://it.toolbox.com/blogs/jdedwards/the-erp-life-cyclelessons-learned-over-16-years-6558

In case if any reader finds any information is wrongly said/written on my blog please do write me @bharat.mane@gmail.com

If you find these to be helpful, be sure to drop me a note in comments.

Hope you enjoyed it!

Share and Enjoy:
  • Print
  • email
  • Google Bookmarks
  • PDF
  • del.icio.us
Categories: SAP, Technology Tags:

An ERP Diary – It’s not easy to clean the old mess and move on to new one

May 1st, 2010 No comments

“Data migration is the most important activity determining the success of an ERP implementation. Effectively migrated data is a demonstration to the stakeholders that the ERP system is an accurate reflection of their current organization. This increases their confidence in the system and in turn is a key factor in the ultimate success of ERP implementation” [7]

“I was shocked to learn that fixing this data can cost as much as 10% of your entire project.” Says David Winter

Ensure a trouble free start by flawless data migration that is the key to the success of the launch. To achieve this, a planned methodology for execution is essential. Automation of – source data extraction, transformation to the new system, load on the new system, and validation against the source data is advised since that decides the precision of the data migration. Execution of the below listed activities will ensure a error free migration

  • Identifying the data to be migrated and the source of that data; along with data owners
  • Mapping the legacy data to the new system
  • Define the essential transformation rules comprising of specifications to transform data as required in the new system
    • For example, in legacy system an Employee Id is alphanumeric (“E198456”) and in the new system, Employee Id is Numeric (198456). In this case the rule can be “Exclude E and use the rest numeric code”
  • Extract data and then initiate the transformation process
  • Perform the pre-load validation
  • Load the actual data
  • Perform the post-load validation
All the above mentioned processes must be repeated (at least 3-4 times) to achieve better results.

In continuation, the data that is going to be loaded consists of various master and transaction data elements (Employee Master, Project Master, Plants, Vendor Master etc), these must be loaded in the appropriate sequence to proceed. Succession sequence must be followed if any.

In some situations the system may demand extra efforts for the data migration such as

Share and Enjoy:
  • Print
  • email
  • Google Bookmarks
  • PDF
  • del.icio.us
Categories: SAP, Technology Tags:

An ERP Diary – Do you think Change is very easy :)

April 2nd, 2010 No comments

“The world hates change, yet it is the only thing that has brought progress.”

                                                                                            –Charles Kettering

The key to success is often the ability to adapt

                                                          –Unknown

“No major software implementation is really about the software. It’s about change management. If you weren’t concerned with how the business ran, you could probably [install the ERP software] in 18 to 24 months, then you would probably be in the unemployment line in 19 to 25 months". Says Jeri Dunn, CIO of Nestlé USA

“It’s not Engineering Change Management, but People Change Management that is more challenging [in reference to an ERP installation]. Automating business process by itself is not difficult. But to do that in the face of resistance from not only the management but all the employees needs strong leadership skill — change management skill. People change management is hard and it’s wise to expend upfront energy to rally everyone behind the goal of Engineering Change Management. Individuals and departments needs to be transitioned to a desired future state before implementing ERP. I think this is the only way to successfully implement ERP for SME organization.” [8]

Based on the above viewpoints it’s essential to put in place an effective modus operandi for change management. To do so-

  • Ensure that ERP implementation is part of your organization goal
  • Ensure that all the leaders are in consensus and motivated in driving this initiative; these leaders must explain the benefits of ERP to every individual in their department to get them to believe and understand the concept
  • Participation of the end users during the requirement process to earn their confidence
  • Identify the catalyst to trigger an interest in every department
  • The implemented ERP may revamp the way a user goes about their job every day making things topsy turvy resulting in change of work, role, user interface, performance of the system. This may invite some resistance from the part of users. To address this, start investigating from the basics like [6]
    • Who are the resisting individuals and/or groups?
    • What are their needs?
    • What are their interests?
  • Keep users updated about the implementation progress of ERP
  • Conduct trainings at various levels as implementation progresses on new system
  • Spread awareness through activities such as newsletters, conducting small quizzes, circulating handouts, hosting e-learning programs and placing posters at vantage points etc.
  • Arrange sessions for the not so convinced users to get rid of their doubts.

Change is the only thing that is permanent in this world. To make a change inside a conglomerate and get it working is a challenge. To achieve this, the motive must be well defined, actions must be clearly recorded and responsibilities appropriately delegated. Without such measures change management cannot called a success. In other words it cannot be called a success until the results are seen. It’s like if you launch a rocket, it has to go around the orbit and serve the purpose.

References
[1]  A Recipe and Ingredients for ERP Failure  by Ernest Madara

http://www.streetdirectory.com/travel_guide/137436/enterprise_information_systems/a_recipe_and_ingredients_for_erp_failure.html

[2] http://www.squidoo.com/erplessons  by David Winter

[3]
http://www.panorama-consulting.com/

[4] http://en.wikipedia.org/wiki/JIRA_(software)

[5] http://harvardbusiness.org/product/hard-side-of-change-management/an/R0510G-PDF-ENG

[6] http://web.njit.edu/~jerry/OM/OM-ERP-Papers/ERP-10-Success.pdf

[7] http://erp.ittoolbox.com/research/data-migration-strategies-in-erp-4620  by Ramaswamy V K

[8] http://itstrategyblog.com/erp-implementation-and-change-management/  by Raj Sheelvant

 

In case if any reader finds any information is wrongly said/written on my blog please do write me @ bharat.mane@gmail.com

If you find these to be helpful, be sure to drop me a note in comments.

Hope you enjoyed it!

Share and Enjoy:
  • Print
  • email
  • Google Bookmarks
  • PDF
  • del.icio.us
Categories: SAP, Technology Tags:

An ERP Diary – Communication is The Key

March 25th, 2010 No comments

Communication is the pulse of an organization. It decides the fate of a project. There are many divisions, team members from diverse teams in a project that are working towards a common goal. As ERPs are complex projects and almost every task might have a dependency on some or the other task which is being carried out in some other module or team. A single miscommunication can put project progress at risk. I’m sure you don’t want to end up playing Chinese whispers at the wrong moment! To strike a balance in communication and to keep project going the essentials that are listed below must kept in mind

  • At the beginning of the project establish the communication channels and set the expectation with everybody
  • Automate every possible process to avoid surprises later. Use tools like JIRA [4], Microsoft Project Planner for tracking action item, defects, risks, change requests
  • Configure tools in order to send reminders on missed activities
  • Communicate the risks and roadblocks to top management to get timely help
  • Make use of visual aids in order to convey important metrics about project progress
  • Emails must be crisp, clear and addressed only to the required. Failing to do so you are going to receive hundreds of mails daily and among that, only 5% might be for your action. In such situations there is a high probability of missing a mail that is meant for action.

If you ensure that the above mentioned points are followed without fail with regards to communication, a project will run smoothly. Here the key is communication to function without any hiccups. It’s like the invisible breeze that energizes you. You will miss it only in its absence. At the same time too much of communication can be detrimental. It’s like a live wire that demands constant vigil in handling.

References
[1]  A Recipe and Ingredients for ERP Failure  by Ernest Madara

http://www.streetdirectory.com/travel_guide/137436/enterprise_information_systems/a_recipe_and_ingredients_for_erp_failure.html

[2] http://www.squidoo.com/erplessons  by David Winter

[3]
http://www.panorama-consulting.com/

[4] http://en.wikipedia.org/wiki/JIRA_(software)

[5] http://harvardbusiness.org/product/hard-side-of-change-management/an/R0510G-PDF-ENG

[6] http://web.njit.edu/~jerry/OM/OM-ERP-Papers/ERP-10-Success.pdf

[7] http://erp.ittoolbox.com/research/data-migration-strategies-in-erp-4620  by Ramaswamy V K

[8] http://itstrategyblog.com/erp-implementation-and-change-management/  by Raj Sheelvant

In case if any reader finds any information is wrongly said/written on my blog please do write me @ bharat.mane@gmail.com

If you find these to be helpful, be sure to drop me a note in comments.

Hope you enjoyed it!

Share and Enjoy:
  • Print
  • email
  • Google Bookmarks
  • PDF
  • del.icio.us
Categories: SAP, Technology Tags:

An ERP Diary – Spend enough time for your grocery list

March 11th, 2010 1 comment

Surveys have shown that approximately 60% of implementations failed because of inadequate requirements. While no one can come up with 100% complete set of requirement to build any software, it is crucial to begin implementation with a matured set of requirements. Inadequate requirements can lead to disasters. Here are some key pointers to avoid such junctures.

  • Avoid inadequate definition of functional requirements. Doing so can lead to selection of incorrect package
  • It’s a general assumption that the product bought will be customizable or extensible with in-house solutions. People tend to overlook a fact. That is like with any other software product, it needs to go through normal software development life cycle from requirement analysis to implementation, testing, release and maintenance. And this is where seeds of inappropriate implementation are sown.
  • To ensure quality requirements, it is advisable to use best resources who are also the practitioners from business who knows business in and out.
  • Make sure along with the current processes to list current pain points and wish list in the functional requirements
  • Try and capture every single aspect of usability requirements, explicitly defined paths in a workflow, security requirements, and performance requirements till possible Interfaces requirements.
  • One of the most challenging tasks in the process of implementation is scope control as changes in scope increase their risk of failure. A strong Change Control Board system must be in place comprising of all the experts such as Business Representatives, Functional Consultants from each module, Development Lead, Top Management Representatives and all the relevant stakeholders as necessary. Whenever any change is requested, it needs to be thoroughly analyzed to see if it impacts business; then the change request has to be approved or rejected by the change control board as required. Failing to do pushes the project in to the risk of compromising in the Quality or affecting the Budget or Schedule.
  • Remember that you can’t achieve everything in one go; phased approach will help a lot. In the first go, you can implement only business critical processes and then prioritize the rest based on the business needs into separate phases.

For any system to become successful, the detail of every component with which it is built is essential. The points mentioned above if followed diligently will help you in the requirements gathering process. Missing any one requirement may turn out to be an Achilles heel for the entire project.

References
[1]  A Recipe and Ingredients for ERP Failure  by Ernest Madara

http://www.streetdirectory.com/travel_guide/137436/enterprise_information_systems/a_recipe_and_ingredients_for_erp_failure.html

[2] http://www.squidoo.com/erplessons  by David Winter

[3]
http://www.panorama-consulting.com/

[4] http://en.wikipedia.org/wiki/JIRA_(software)

[5] http://harvardbusiness.org/product/hard-side-of-change-management/an/R0510G-PDF-ENG

[6] http://web.njit.edu/~jerry/OM/OM-ERP-Papers/ERP-10-Success.pdf

[7] http://erp.ittoolbox.com/research/data-migration-strategies-in-erp-4620  by Ramaswamy V K

[8] http://itstrategyblog.com/erp-implementation-and-change-management/  by Raj Sheelvant

In case if any reader finds any information is wrongly said/written on my blog please do write me @ bharat.mane@gmail.com

If you find these to be helpful, be sure to drop me a note in comments.

Hope you enjoyed it!

Share and Enjoy:
  • Print
  • email
  • Google Bookmarks
  • PDF
  • del.icio.us
Categories: SAP, Technology Tags:

An ERP Diary – Let the boss work

February 11th, 2010 No comments

While converting the business needs into the desired solution is challenging, selling such product to the end users has its own challenges. First of all every leader from every department must understand and appreciate how important to have an ERP for the business. All these leaders must be aligned in achieving a common goal. Once top management has realized the importance of this initiative; they must sell this to the end users of their respective departments. To support this argument here are a few reminders.

  • “It’s critical that Business leaders be fully conversant with the ERP project in order to make good decisions with respect to managing priorities as the project progresses.” says David Winter
  • Ensure that ERP implementation is reflected in the goals of organization and it is aligned with the vision of organization
  • Remember the fact that sometimes the root cause of schedule slippage lies in the time taken to take decisions. Set up the right team comprising the key people from senior management and business to seek their help in every major risk and in getting over the roadblocks in order to get things going
  • Quorum must be strictly followed in meetings. In the absence of even one member make sure that the necessary inputs of the missing member are considered in the proceedings. This is to avoid any further delays.

More than anything else, it is important to remember the above reminders to hit a happy ending. Though they might few in number and comes across as common points, they are deep rooted and hold together the entire machinery. In any successful project, if you carefully look through there is a pillar that would be supporting the structure. Here, the structure is the project, the pillar being the top management. This reiterates the need of top management involvement.

Share and Enjoy:
  • Print
  • email
  • Google Bookmarks
  • PDF
  • del.icio.us
Categories: SAP, Technology, Uncategorized Tags:

An ERP Diary – Align your wheels or you will be off the road

January 18th, 2010 10 comments
Failing to plan is planning to fail
                                                –Alan Lakein

 

A survey conducted by Panorama Consulting Group reveals that 93 percent of ERP implementations take longer than expected and nearly two out of three (59 percent) implementations cost more than initially assumed. Further, only 13 percent of respondents characterize themselves as “very satisfied” with their company’s software implementation. [3]

As stated earlier ERP implementation is very complex in nature, involves diverse team and bound by aggressive schedules. In such situations, planning is going to be a very challenging process. At the same time, it is not advisable to rush through and accomplish tasks to achieve metrics and show a result. Thinking on the same lines one has to have a systematic approach which covers resources, requirements development, ERP package selection, right consultants, dedicated team for unit and system testing, interface developments if any, data migration strategy, well defined communication channels, end user engagement, change management strategy, training plan etc. Let’s discuss few key elements that needs to be there during the planning

  • Meticulous planning is the need of any project. While planning a project and selecting the team for the project, it is important to keep in mind that resources that have commendable experience, aware of business intricacies, the pain points of the current system/process, nuances to handle any tricky situations and most importantly they should know how organization would like to carry out business in future. Ensure that these resources are committed only to this initiative and not timers. At the same time keep in mind that these resources are crucial to the organization and their relieving has to be planned up front.
  • “While implementing ERP, CISCO hand-picked the best and brightest which business never wanted to give”
  • “The most successful ERP projects are led by a member of the management team who has actively participated in the both the software selection and implementation efforts. When selecting your project manager, choose the one who has the most to gain (or lose) from the ERP system” says one ERP Expert
  • With the help of these resources develop a mature set of functional requirements which zero in the ERP package that suits your business needs. In other words spend enough time on choosing the right package for you organization
  • "Do accept that there is always going to be a functionality gap, usually, you have to let 10% go. If the gap is more than 10%, keep shopping” says an ERP expert;
  • Most of the time the cause of ERP failure is miscalculation of efforts and time. To arrive at a reasonably good Go-Live date for an ERP implementation, one must have well defined roadmap and milestones – that can happen only if you have a detailed scope of implementation. It is also important to look at all the constraints for this date such as, financial year ends, calendar year closing activities etc.
  • Given the fact that intense collaboration between business experts and functional consultants guarantees best solution, it is good practice to put them together. In other words co-locate the whole team to one room sometimes called as WAR room.
  • “In the ERP projects I’ve managed, the functional team is made up of "pairs" – (i.e. a Purchasing guru from the business, sitting with his/her functional configuration consultant). The business person provides all the functional (process and task) knowledge and the consultant provides the system configuration skill set” says David Winter

A successful project is always a result of a good plan. Keeping that in mind, the plan that is drafted has to be foolproof and must have backups. The above discussed elements will guard you and take you through the rigorous ordeal of implementing an ERP.

References
[1]  A Recipe and Ingredients for ERP Failure  by Ernest Madara

http://www.streetdirectory.com/travel_guide/137436/enterprise_information_systems/a_recipe_and_ingredients_for_erp_failure.html

[2] http://www.squidoo.com/erplessons  by David Winter

[3]
http://www.panorama-consulting.com/

In case if any reader finds any information is wrongly said/written on my blog please do write me @ bharat.mane@gmail.com

If you find these to be helpful, be sure to drop me a note in comments.

Hope you enjoyed it!

Share and Enjoy:
  • Print
  • email
  • Google Bookmarks
  • PDF
  • del.icio.us
Categories: SAP, Technology Tags: