Waupaca Computer Consulting Logo Customized Software Development

Home
Services
Why Choose Us?
About Us
Testimonials
Articles
Links
Site Map

Solutions for Medium to Large Businesses

Using a Consultant

Having worked for "big business" before starting my own company, I'm well aware of the many challenges that IT departments face on a daily basis. I also know what it's like when you're trying to implement anything new. You've got to keep all of the old systems up and running and deal with any problems your users encounter, while at the same time trying to implement, test and train on the new program. Sometimes there just aren't enough hours in the day to do everything you need to do with only your current staff. It comes down to the fact that you need to hire temporary help if you want to get everything done.

Now, if you're like me, just the thought of having a consultant come in makes me cringe. A lot of my experiences with consultants have not been very good. I've dealt with the ones that come into your company to help improve processes and make you more efficient. The idea sounds great, but the problem is that the ones I've dealt with don't take the time to really understand your business and then they make recommendations that are not always sound. Unfortunately, these people are sometimes pretty good salespeople, so senior management buys into their recommendations and you end up worse off than you were before you became "more efficient". I have also worked with the consultants that come in to actually do work and ease the burden of the regular staff by helping them get caught up with outstanding work. I'll have to say that there are a few of these types of consultants that I have had respect for, but I have also run into some pretty bad ones. The problems I've seen mainly center around the attitude that no matter what your systems and procedures are, they're going to do the work however they want to do it. They also know that they probably won't be around later when their code has to be maintained, so they just do the job with little thought about whether they are doing it properly. They typically overlook doing a sufficient job of documenting their work.

Hopefully I have benefited from these bad experiences with consultants and I know what NOT to do, which in turn will make me a better consultant. When I come into your business to help you with something, I know that's why I'm there: to help you. I'm not there to push you to do things my way, I'm not there to take your staff's jobs away and I'm not there to see how many problems I can create. My goal is to come in, find out exactly what you want me to do, how you want me to do it and then to do the task very well. It's pretty simple. If I'm cooperative with you and your staff and I actually do the job correctly, then the next time you have a problem you need help with, you'll call me. From my perspective that makes a lot more sense than coming in with a "know it all" attitude or an "I don't care what happens in the future" attitude because then I can never build a long term relationship with you.

My Technical Skills

So, what types of things do you need help with? Here is a list of some of my skills, to give you a better idea of what I can do for you:

  • I have 5 years of SQL experience using Microsoft SQL Server versions 6.5, 7.0 and 2000. I have extensive experience writing stored procedures for use in applications, scheduled jobs and for reporting purposes. I also have some experience with replication.

  • I have 5+ years of Visual Basic experience, primarily writing and maintaining small in house applications.

  • I have 5 years of Crystal Reports experience. I have created reports to pull from both SQL back ends and also Access back ends. Some of these were created to be accessed via packages like Avectra and others had their own VB front end.

  • I have 3 years of ASP experience.

  • I have 7 years of experience in web programming. Please refer to Web Site Solutions for more details.

Some of My Projects

Here are some specific projects I have been involved in so you can see some of the types of things I've done. It's obviously not everything I've ever done, but hopefully it will give you more of an idea of my technical background, as well as my business background. In order to really help people, you need to at least have a basic understanding of their job as well as being able to do your own.

  • Marketing Department
    • I redesigned a Visual Basic program that they used to keep track of all of their campaign codes. It originally had an Access back end and had outgrown it. It needed to be totally run out of the SQL database and integrate better with the "main" program that the customer service/sales people used. I not only needed the technical experience to do this, but also a very thorough understanding of the marketing department's wants and needs. There was also extensive reporting involved for the statistical analysis of the marketing campaigns.

    • Maintained and updated another program that dealt with the renewals of extended service plans. Again, this required a thorough understanding of the marketing department's program because of all of the "rules" involved in how customers were charged. The program had to send renewal notices at certain intervals and keep track of these notices being sent in the customer database so that users could easily look up the customer's record and know what they had been sent. It also had to look into the financial database to see if any payments were made on the renewal notices and then note that in the customer database and also create a thank you letter. There was also reporting involved so that the marketing department could see the rate of renewals.
  • Inventory
    • Extensively involved in just about everything concerning inventory as it was handled in the Avectra Back Office system (a membership management software package).

    • Due to how some inventory matters were handled outside the system, I had to know the Avectra processes inside and out. This means knowing all of the tables that were affected every time anything happened to a piece of inventory.

    • Helped maintain the code that imported data from an external POS system into Avectra.

    • Wrote the code for adjusting the system inventory to match the physical inventory. This included initially importing and compiling the counts from the inventory company and doing comparisons against the system information. This gave the Merchandise and Finance departments a preview of what the adjustments would consist of and if there needed to be recounts. After recounts were made, the massive automated update would take place adjusting all of the appropriate tables in the Avectra system. There were approximately 10,000 different products making it unrealistic to make adjustments manually. Reports were again created so that any needed write-offs could be taken care of by the Finance department.

    • Using Crystal Reports, I wrote an untold number of customized reports from packing slips to invoices to back order reports to sales reports.
  • Chapters within a large membership organization
  • I wrote a VB program to help them with their yearly updates. It was necessary for them to be able to enter information and keep track of the changes as the Chapters sent their information in. The program had to give the user the ability to see what was currently in the main Avectra database, make changes as necessary for the coming year and save these changes outside of the main database. The program also enabled the users to integrate the changes into the main database once they were ready.

  • Finance
    • Although it wasn't the most enjoyable thing I have ever done, I became involved with tracking down some issues concerning deferrals. This forced me to become very familiar with how companies need to keep track of and then later recognize their deferred income.

    • Wrote several reports for use by the Finance department, including two different instances that called for them to be run outside of the main financial package. One involved different versions of a purchase order report and the other was for printing refund checks. These checks had to be printed up in mass amounts before an event. The program needed to keep track of how many checks of each denomination had been printed, as well as actually printing the checks.
  • Magazine Audit
  • Twice every year the organization would be audited on the magazines they sent to their members. Before I became involved in the process, the IT department would pull all of the needed information and pass it on to the person who dealt with the auditor. Once I got involved, I thought it made more sense to automate the process so the user could access the information whenever she needed it and the IT department didn't have to go through the whole process every time. I wrote a stored procedure that would create a table that summarized all of the information concerning magazines sent to members the previous year. The only thing the IT department had to do was just run this stored procedure and once the table was created, it could be imported into an Access database and burned on a CD for the auditors. Although I could have set that part up for the user to run also, due to all of the information it had to compile, it took a fair amount of time to run and it was felt that it was better to keep this under the IT department's control. Then I created refreshable spreadsheets in Excel so that the user could pull the reports as requested by the auditors. Each time they were audited, the parameters would be slightly different. So with the spreadsheets, the user could easily enter the current parameters and run the current report. The first time this was used, I was told by the user that this was the "first time that they had ever had a perfect audit".

  • Events
    • I was involved in the maintenance and yearly setup of a program that was used for a huge annual event. The program was used to sell passes for the event, camping and memberships to the organization. The setup included 20 servers and approximately 200 workstations using full merge replication.

    • I created a browser-based application using ASP and a SQL back end to keep track of airplanes arriving on the grounds of this event. The purpose of the program was to be able to check arrival times versus payments for camping.
  • Crystal Reports
  • As I have mentioned previously, I have created what seems like thousands of reports using Crystal. I'm sure it's not thousands, but it's a LOT. I have created them for most every department within an organization that you can think of. Typically when I am writing a report, the critical factor is finding out from the user what he or she really needs and sometimes why they need it. I have found that someone can tell me what they want the finished report to look like and even tell me every field that needs to be on it, but if I haven't asked them what purpose the report will serve, I won't necessarily be able to pull the report correctly. The user is not necessarily going to understand how the data is stored and sometimes if you don't get deep enough into the why part of the equation, you may not truly get all of the information they need. I also find that because I do understand the back end, that sometimes I can make suggestions that will make the report even more useful to the user. Once I determine what the user wants, I will write a stored procedure that will actually do the majority of the work. Although Crystal Reports is a good product, with lots of capabilities, I find that it makes the most sense to let SQL do the majority of the work. Once that is done I utilize Crystal's capabilities to format the report in the manner that the user wants. The vast majority of the reports I have created have been created to be accessed through the Avectra Back Office program or the Avectra netFORUM program, both of which have a SQL back end. But I have also created them for other programs with SQL back ends and also for programs that have an Access back end.

  • Documentation and Training
  • I know it's hard to believe, but even though I'm a programmer I really do documentation without being asked! I try to always document within the code for the benefit of any programmer they may need to change the code later, especially when there's anything that isn't straightforward. Depending upon the size of the project or how complicated it is, I may do separate technical documentation as well as user documentation. My thought is that if a beginning programmer can't quickly and easily figure out whatever I just wrote, then it needs at least some documentation saying how and why it's doing whatever it is doing. I also think that user documentation is critical. It isn't enough to sit down with the user and train them on the new program. You have got to provide them with complete documentation that they can refer to when you aren't right there helping them.

Hopefully by seeing some of the types of things I've done in the past, you'll have an idea of whether I may be able to help with your needs. If you would like further information or to set up a consultation, please call me at 715-258-6599 or 715-281-6501 or e-mail me.


Solutions for Individuals and Small Businesses
Solutions for Medium to Large Businesses
Web Site Solutions
Home Services Why Choose Us? About Us
Testimonials Articles Links Site Map
Web Design by Waupaca Computer Consulting, LLC
E3202 Bunker Road • Waupaca, WI 54981 • (715) 258-6599 - Office • (715) 281-6501 - Cell
E-Mail

Copyright 2003 Waupaca Computer Consulting, LLC. All rights reserved.