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.
|