jump to navigation

Outsourcing of resources December 16, 2008

Posted by Jeremy in Business, Business Focus, Business Solutions, Efficiency Process, Green Business, Resourcing.
Tags: , , , ,
1 comment so far

Many people really have problems with the outsourcing of resources.  That is especially prevalent in the IT arena.  Many people feel that they can hire some IT resources and get a project done faster and cheaper.  Yet, in many places we don’t even consider that as an option.

First, I have to give a clarification that many people make a mistake about. Outsourcing and offshoring are NOT the same thing.  I am discussing outsourcing in this article Here is my general definition of the two terms:

Outsourcing – Hiring a external specialist to complete a task

Offshoring – Outsourcing that occurs overseas

Ran across an article that discusses this concept on ZDNet called “Why are you managing your own power plant?“.  In this article Mr. Frome discusses how many businesses automatically think about managing their own IT resources and in many cases it might have been a better decision to outsource the work.  He asks five questions that I think are very important to consider:

1. Does it give me a competitive advantage?
2. Are there companies out there who have already created what I need?
3. Are there vendors who have more expertise in this area and stronger alliances with retail partners than me?
4. Does it take up much of my internal resources?
5. Could I benefit from the economies of scale of a Software-as-a-Service (SaaS) model?

The questions are key to consider.  Unless businesses have a huge IT shop with a bunch of resources who are just waiting for the next initiative it will be extremely hard to justify in house development of many of the systems.

One of the main reasons is question #3.  In most cases, there are businesses out there who have more expertise in creating solutions than most business’s IT shops will have.  When that is all that development shops do they have a significant skillset in that realm.  In addition, many times they will have utilized that skillset to create a team that can handle most requests that they receive with ease.  This is very difficult for other businesses to acheive.

Another huge point that the article discusses is question #5.  It is pretty hard to answer no to that question unless you are the only customer in the world who uses your specific software.  Because the vendor can share the cost of the system over many clients the cost will be lower than if you build it yourself or even have it developed specifically for you.  This also means that you benefit from the ideas that other customers come up with.  As features are requested and added by all businesses you benefit.

As Mr. Frome points out in his article it is technically feasible for each of us to generate our own power but we don’t because of the expense and hassle.  Many companies do the same thing with legal, marketing, accounting, printing, and many other resources.  IT is something that needs to be considered in a similar fashion to those specialties because in many cases IT outsourcing makes a lot of sense.

IT Resources: Complexity of finding the right people September 16, 2008

Posted by Jeremy in Business Solutions, Resourcing.
Tags: , ,
add a comment

This is a very difficult topic.  There are so many different ways that companies go about finding the “right” person.  I have been at places where they have a specific salary or hourly range and anyone who may fit within that realm is the best fit.  Also, I have seen people who will base it on years of experience.  Some will simply get in all of the offers and pick the cheapest one.

I personally don’t think that any of the options that I stated above are good ways to choose.  I think that you should base the decision on ability.  How do you figure that out?  It is not easy. 

  1. Look for references (preferrably from previous clients that were happy)
  2. Look for experience in providing solutions NOT just developing software
  3. Look for people who have leadership and management skillsets (this will provide them the ability to work a project with more than one person to completion

 

Cheapest Resource

The easiest way to look at this is the old cliche: “You get what you pay for”.  Most of the time you will be picking up an inexperienced person or someone who really hasn’t done it before.  Also, you will usually be working with someone who is going to work on it when they have free time.  I have seen this option employed by people who turned into my clients after this experience.  Usually, the person low-balled the offer and then failed to deliver on the timeframe or budget.  This is a technique that many people will use to try to land projects.  This is not to say that it will never work but I would be EXTREMELY leery of this option.  After all, ask yourself this question: “If the person is really good at the job, why are they below market rates?”.  Some may have legitimate reasons but most won’t.

In many cases the cheapest resource actually costs you more.  Let’s say the cheapest resource you deal with is charging 35/hour and a higher level developer is charging 100/hour.  Seems like a no-brainer.  Be careful.  With a junior or intermediate level developer the project can take 4, 5, or 6 times as long because they are not prepared.  Now look at this:

If it takes the cheapest resource 40 hours at 35/hour the project cost $1400.  If the experienced contractor charging 100/hour can get it done in 10 hours your cost was only $1000.  This obviously can make a difference to overall cost.  So, simply be careful to look for lowest COST not lowest PRICE.

Fits the salary

This really can fit into the same scenario as Cheapest Resource.  You really should be looking to find someone who can fulfill your requirements for the project solution.  In many cases the decision is purely a money decision.  When this happens many times the projects are a disappointment.  This is due to the fact that the project is driven to cut corners.  I would recommend that you do an analysis to find out costs and then decide whether to proceed or not instead of setting a cost ceiling and then cutting corners.

Experience

While experience is important, in the IT industry it is not a great indicator of ability.  Just because you have been around for 10, 20, or even 30 years does not mean that you have the ability to run a project from start to finish.  In most cases, technology is shifting at least once every 2-3 years (getting faster each year).  This means that someone with 10 years of experience probably really has 3 years of experience 3 times.  What I mean by this is that they have shifted technologies and relearned it.  So they have used 3 technologies each for 3 years.  This is the nature of the market.

Now, I don’t want to belittle experience either.  It is very important.  You can learn a lot about the industry, business, and general architecture tasks through experience (no other way).  All I am saying is that 10, 20, or 30 years doesn’t automatically make you the best resource.

Ability

This is by far the best measure of the resource.  It is also the most difficult.  I would highly recommend looking for references.  Someone who has provided quality services before will have references.  Make sure to look at services like LinkedIn where they can request references.  I would recommend looking for experience providing the types of services you are looking for.   Try to find network connections that can refer people.  It is absolutely true that referrals are the best way to find this out about a person.

Final Thoughts

In today’s market, it can be very tough to find the right resource to get your solution created.  Be careful of viewing the IT resource market as a commodity market.  Not all developers are equal.  Try to find contacts that you can trust have the ability.  I have seen too many projects fail because they didn’t have the right resource it place.  Try to find someone you trust that can help and advise you. 

If you need any help please feel free to contact me.  I would be more than willing to provide guidance and assistance.

Build vs. Buy Revisited July 11, 2008

Posted by Jeremy in Development Process.
Tags: , , , , ,
1 comment so far

I wrote the original version of “Build vs. Buy” some time ago and realized that I it needed some work after rereadng it.

Build

I believe that the information that I provided for purchasing a solution still holds true.   Much of the problem with purchasing a solution revolves around the fact that in many cases you will need to mold your business to fit the software.

Now, I will qualify that there are definitely solutions out there that can be customized to meet your needs by the software company.  In this scenario you will need to work with the vendor to find out the customization capabilities of the software.  At this point it becomes much more like outsourced build.

Internal Build

This method is still a viable option but I believe that it takes a significant investment in order to successfully acheive the desired results.  There are actually a few problems that will arise (on top of the previous list):

Lack of internal resources

Many businesses simply do not have internal resources to be able to handle the life cycle of a new development project.  In many cases, they also may not have the resources to help them determine what resources they need.  In is a catch-22 situation.  In order to staff a new development project you really need someone who has experience in new development projects.  It can also be quite difficult to find the people with the right skillsets with out someone to validate that they actually have the skillsets.  This can be a very difficult situation and it gets many companies into trouble.

Lack of internal process

For many businesses who have not done new development or it has been a long time, they do not have processes in places to work through the development lifecycle.  This takes considerable effort and thought to implement.  Although many businesses choose not to do it, it is extremely important.  Without the proper process in place to do analysis, design, development, and testing the project can be drastically delayed if not fail.

Lack of IT Resources

In today’s IT market, it can be very difficult to find the resources that you need to complete a development project.  In many areas of the United States there are IT shortages.  This means that although you have good intentions of hiring a senior level developer to help, you may have a difficult time filling that position (either as a full-time employee or even a contractor). 

Cost of IT Resources

Because of the demand for IT resources, the cost to get good resources is definitely on the rise.  Based on estimates, that is not going to change in the foreseeable future.

Outsourced Development

Based on the reasons above in the internal build, I personally believe that outsourced development is going to continue to grow. 

**Please understand outsourced development and offshore development can be different things.  Outsourced simply means someone else is doing it, preferrably a software consulting business.  It can be either domestic or overseas.

Ability to retain skilled resources

An advantage that outsourced companies have is that all they do is develop software so in many cases can afford to keep more skilled, experienced, and expensive people on staff.  For many businesses, the price to retain those resources is simply too much.  On the other hand, if they can pay the firm to use the resources and build the solution and then they are done, it can be a viable option. 

In most cases experienced, skilled resources can also deliver the project in a shorter timeframe with less time required for testing and rework.  This is because the resources involved have typically completed many projects before and they have worked out their process. 

Reusable Components

Another advantage that outsourced build companies can have is the use of reusable components.  Because they are writing software all the time, they are running into a lot of scenarios where they can build components that can be reused.  Examples may include: data access components, logging components, document management, etc.  This will typically reduce the expense and timeframe of a project because they are pre-developed and pre-tested.

Summary

This post definitely came off sounded biased toward the outsourced development option and quite honestly I think it is for a good reason.  I think in many cases outsourced development shops are better positioned with resources, experience, and their development processes to complete projects more efficiently than many businesses are.  This is mainly because most businesses are not development shops.  It is not their focus.  It is no different that outsourcing your printing, marketing, cleaning, lawn care, or whatever.  In most cases the companies that focus on a specific task can acheive the desired result cheaper, faster, and easier.  This is simply due to having the necessary resources and the necessary experience.

I hope that helps.

Build vs. Buy July 10, 2008

Posted by Jeremy in Development Process.
Tags: , , , ,
add a comment

**8/18/2008: I have added an update to this article: Build Vs. Buy Revisited

This is an article that I wrote some time ago.  I hope that it helps.

Software is becoming a more and more important part of every business as the needs for data become larger and larger. The software that you run also can make you more efficient thus more profitable if it suits your needs. It sounds simple but how do I make that happen?

Should I build or buy my software solution? It is a question that has divided IT and management at businesses for years. The question has people standing on both sides of the fence and many who sit right in the middle. Most companies at some point have to make the decision.
This is not a simple decision to make, but it is much easier if you can understand the factors that go into the decision. Each project is unique and will require some thought to make the decision that best suits your company’s needs.

Definitions
Turn-Key Solution – Solutions that you can take out of the package, install, and begin using.
Buy – Purchase a turn-key solution from a third party vendor to meet your needs. This process usually entails finding vendors, interviewing them, watching demonstrations of their products and wading through the promises of features.
Internal Custom Build – Hire development resources that can build and implement a solution based on your customized needs. This process can involve either hiring resources directly as full-time employees or sub-contracting resources. Directly employing the resources can include searching through resumes, interviewing candidates, offering jobs, and all of the human resources issues that go along with employment. Sub-contracting can be every bit as challenging due to having to find reputable sub-contractors or contracting companies to provide resources.
Outsourced Custom Build – Employing a third party to build and implement a customized solution to suit your needs. Much of this is very similar to the buy option. You will need to find and interview vendors and then sort through information to determine if they will meet your needs.

Questions about your needs
In order to determine which solution best fits your needs you will need to answer a few questions about your company’s needs. A list of the questions to begin your decision making:

What is our timeframe?
What is our budget?
How much customization is necessary? (Now and in the future)
How much oversight do we need to have?
How would we like to deal with system upgrades?
Can we create detailed specifications of how our business runs?
Do we need control over the software?
Obviously, this is a subset of the questions that you would need to ask in order to define which solution but they are quite important ones to consider. Each one will help make the determination easier.

What should I do?
I can’t answer this question for you but I can assist you. Some of the key pros and cons for each type of solution include:

Pros for Buy:
Usually can have the software running in short timeframe
Lower initial cost
No need for development staff
Support typically provided by third-party

Cons for Buy:
Lack of customization to your needs
Updates are on third party’s schedule and priority
Typically no onsite support
Your prioritized against other client’s needs
Pros for Internal Build:
Solution is customized to your needs
On-site support
Oversight
Updates on your priority and schedule

Cons for Internal Build:
Need for development staff
HR issues
Hiring technical staff can be difficult
Longer deployment timeframe than buy

Pros for Outsourced Build:
Solution is customized to your needs
Possibly on-site support
Typically updates based on your priority and schedule
Oversight
No HR or hiring issues
Specialized Resources

Cons for Outsourced Build:
Typically highest cost
May compete with other client’s for resources
Longer deployment timeframe than buy
Dependence on third-party

Summary
The buy vs. build decision is a decision that causes headaches for many companies. This is due to the fact that there are many competing interests that affect the decision. Another thing that makes this decision difficult is that each project has different factors to consider. This means that each project will require that you analyze each project and make the decision that best suits the project’s unique needs.
It is my hope that this article can assist you in at least starting the decision-making process in the future.”