Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Outsource or in-house development? 2

Status
Not open for further replies.

multiplex77

Programmer
Dec 25, 2001
302
SG
Hi all project managers,

My IT team is in a dilemma now...we have a large web application that we want to develop within the next 6 months. Our initial plan was to outsource to a web development company. But it turns out, even the best company out there is disappointing...they are dishonest and not as proficient (skills-wise) as we hoped.

Now we're considering developing it in-house. We have 2 relatively inexperienced programmers (I'm one of them) but no project management experience. Would it be suicide to try to develop something like this in-house by managing it ourselves and hiring part-time programmers to help out? We plan to send ourselves for project management and applications architecture courses, but is knowledge sufficient to overcome inexperience?

Please share your thoughts and experiences with me. I really want to hear your "First time project management" experiences.

Thanks a million! :)
 
Project success is highly dependent on the project manager understanding the details of the work to be done, and, to a large degree, having strong technical skills in both the focus area, as well as the sub-disciplines that also touch the project. Without the former, one cannot effectively plan the project (well, that's a little extreme; you could use "spiral development"--plan the project based on what you know now, then multiply the budget and timeline by three to accomodate the changes you'll need to make while you "learn as you go", and continually update budget/timeline). Without the latter, one cannot successfully manage the project team.

Based on the internal environment you describe, this project should be contracted.

If, by saying "..out there...", you mean the local environment, then you need to relax your selection criteria to include contractors from outside the area, and expect to pay travel costs, etc. accordingly. There are many strong development firms of all sizes; attracting the good ones to work on your project, without paying through the nose for the privilege of their association, is the challenge!

Have you considered doing an RFI, to see who's out there in the marketplace, or thought of Dunn & Bradstreet listings, etc. as a means to identify possible contractors? There are a variety of web-available RFI, RFP, RFQ, etc. templates; other departments in your company may have some boilerplate, too.
 
Thank for your wisdom, mainepe.

I'm interested when I note you saying knowledge of the final product is more important than the technical skills. This is the problem with our current contractors. Despite explaining to them clearly the specifications of the project, they fail to grasp it. And I guess I don't blame them for that -- our application is not an off-the-shelf, commercial product, but a consulting tool to be used by our company. Your description of "spiral development" is exactly what is taking place now, just like what happened with our previous project. I fear that they'll never grasp the "heart" of the project, and we'll end up again picking up the pieces and undoing all the mess they left behind instead of spending that time developing it from scratch ourselves.

What was your experience as a techie assigned to managing a project for the first time?

Thanks again! :)
 
Background info:
-I am, and have pretty much always been, a copious list maker.
-I am extremely left-brained; strong ISTJ on Meyers-Briggs.

My early project management experiences were very inefficient, and frustrating to some degree, because I hadn't yet been exposed to any of the formal techniques one can apply to ease project planning, scheduling, resource commitment, execution, and verification efforts.

Thus, I went with my intuition, and found myself doing many of the critical steps using common sense and gut feel as my guide (though I didn't realize I was until later on when I got some formal training). However, I ended up iterating a lot, applying trial and error over and over until I developed a task planning/tracking template that worked, and in general working a lot harder than I needed to, given the projects' relative complexities.

Enough said about my history, but a little more about my background--I'm a PMP, and a Registered Professional Engineer.

In my professional opinion, you need a consultant to help you organize this project's scope and procurement. Either that, or your company needs to hire someone versed in project management, especially if the new system is to be one of your organization's "flagship" applications.

Some observations that back up this bold statement--
-You may be experiencing "scope creep" instead of technical limitations on the part of your contractor. Have you ever written down and formally signed any statement of work? Until this gets nailed down in black and white, you'll continue to be challenged by explaining things "over and over" to the contractors.
-You may also be experiencing "scope creep" and contractor ineffectiveness due to a lack of internal consensus on what is supposed to be done. In a situation where the deliverables aren't formally documented, the contractors in essence have multiple customers, and multiple potentially asynchronous deliverables lists, one for every person in your company they come in contact with. What you're experiencing could be a result of the contractors continually jumping from one brush fire to the next, with limited overall direction.
-Are the contractors working on a time and materials basis, or for an hourly/weekly rate? If so, you're doubly challenged because they have no incentive to ever bring the project home.

Just curious, but why the recurrent theme on "first time project management experiences" in both your initial and reply posts? No offense, but to some degree I'm left wondering if I'm helping a colleague with a real-world problem, or providing fodder for a project management course developer.
 
Thanks for your reply. I really appreciate you taking so much of your time to advise me and sharing your experience and wisdom. I guess you have given me enough info to develop a course! :) But no don't worry, I am exactly what I claim to be...a techie who's had 2+ yrs programming experience but has never had the responsibility of leading a project before. But now I've just been hired and assigned, together another programmer and a project manager, to develop our company's first web application product. We are at a crucial crossroads now, deciding whether to stick with our external consultants, or source for part-timers to work with us to develop it in-house.

I think (and I emphasize "think") I am capable of being the technical lead on this, but I also know I have to be responsible enough not overrate myself and end up delaying the release of the product because of my lack of experience in leading software projects. On the other hand, this is just the first of many web projects that our company has in plan for the future, and if we don't develop our experience, when are we going to be able to step out and bring our company to the next level. Hence my oft-repeated theme and question: are project management skills learned through personal experience, or through mentors, or through courses and training (where we can learn the "formal techniques", as you put it).

Development cost-wise, from my initial assessment, it would be much cheaper to develop it in-house, because the consultants are planning to charge us a a BOMB for this, and I've no confidence they'll complete the work as early as we want it, and the way we want it.

Thanks again. Truly appreciate your wisdom. :)
 
Project management skills are learned through personal experience, mentors, courses and training, native intelligence/common sense, and trial & error.

You haven't mentioned budget considerations. Is there enough money available to hire an adjunct resource to work alongside you, to temporarily augment the team with project management skills for just this project? You could "mentor" with this person, lay the groundwork for a standard project management approach for the future, and get the app development done at the same time.

Sounds like a great opportunity for you to shine, by both providing wisdom about how to organize the effort, and also implement the foundations of standard project management practices within your company's business processes for the future. Sounds like you also have a great opportunity to learn by doing, and expand your skill set.

If no money is available to hire a mentor to work beside you, learn as much as you can as quickly as you can about project management. Surely there must be someone there that has managed a project before? Find them, get them to show you how they did it previously (tools, techniques, document templates, etc.), expand on what they did based on what you think could be done better, and start the project.

See my replies to "backoffice" and "DiamondOfficer" on this same forum for other ideas on how to jump start your formal training on project management in parallel with this effort.
 
How critical is this project to your company?
If it will make or break your company, I will advise you NOT to execute the project.

If it is just a static web site, just for information only, well...

Being a techie and at the same time be a PM can be very dangerous.. enough said, I have 30 years in software and have seen disasters
 
What disasters? I know it's a huge challenge...

Well, no. It won't make or break my company. My company is already doing very well without any IT products, but the management realizes there is a wealth of opportunity in bringing our services online, and I agree with them. Trouble is, before I was hired, the company already invested quite a bit in our current IT product, largely because of external consultants doing a lousy job. I'm not trying to be a hero to get a promotion, but I really feel it can be done in-house for a fraction of the cost that consultants will charge, and we might even finish it sooner and more to our liking (cos we're going to take over the code after that anyway, and no one likes working with code that he didn't write). Only issue is I've never done such a large job before. I'm not the Project Manager...more like a technical lead and asst. project manager. My PM is not a programmer by training, so really the feasibility of doing it ourselves or not is up to me to decide.

The "mentor" idea sounds great. Only thing the budget might be tight, not because our company has no cash, but because IT has not brought in any revenue yet, and it's hard to justify such an expense. But if that's the only option, management will probably go with our recommendations in order to help our dept succeed.

Thanks for all your input! I'm sure this helps not only me in my decision making, but many others as well. :)
 
I have been through the inside/outside question several times over the last few years and I still don’t know which one works out the best. But I have only seen success with very long term relationships (3 + years) when using outside contractors. They need a long time, just like everyone else, to learn the important aspects of a business. My approach to this work would be to attempt to find a senior level contractor, experienced in the technology your using, and have that person as the technical lead. You will remain the project manager and your team will learn both the technology and the way to approach the project.
 
As a Project Manager at Lucent, I took an intermediate approach. My internal team could not deal with the development issue expeditiously and wanted three times the interval my customers wanted. Requirements were not finalized also at that time. To get it jump started, I contracted the preliminary work to an outside consultant and then brought it inhouse for additinal changes. It is messy to use an outside contractor, if we cannot spell out want we want.
 
I agree with a lot of mainpe's comments and especially the idea of outsourcing just the project management. I disgree strongly, though, with the sentiment that the PM must be very familiar with either your business or the technical side. A good PM can facilitate the meetings and the work while relying on the expertise of the team. In fact, it is considered a PM best practice for the PM to lay out only the first level in the WBS, and motivate the team to identify all the detail tasks, durations, risks, etc. A PM who thinks they know how to do the whole project can even be a liability in that they are overconfident and do not constantly solicit feedback.
 
As a "techie" with 20 years experience in networking and programming, I find that using consultants is a total waste of time and money. When I contracted out a Frame Relay project, my RFC made specific statements about what was to be done. I didn't want to get phone calls at 3AM reporting a router is down and run into the office to fix it...but in the end, after 5 months of fighting over contract terminology I flew all over the country setting up the routers and configuring the networks myself.

When I began a web project I contracted out to a company that had the skills and all the right endorsements and recommendations...but when they got the project, they finally admitted they were doubtful my project was possible. I was amazed because it was a simple web site that remembered your profile and purchase history. I took it back and completed the project in 4 months.

So my advice, based on a multitude of over-priced, inflated ego's and under qualified consulting firms...learn the skills, take those classes, and jump on board. Make sure your management team knows this is a new challenge for you and that it won't run as smooth as glass...but the more you do this, the more you learn, the better you get. When you reach that point where you are well rounded and very versed in many aspects of IT, you are one valuable guy!

Organizing your time and others is easy. Hire a few part timers (well qualified and experienced temps) and have them work in your office so you can watch their progress. That's the solution I came up with many years ago and it has worked wonderfully.
 
Hello! I may have already accomplished exactly what you are looking for. I've created a large scale Internet based Project Tracking System deployed via Microsoft Terminal Services. The theme is a "portfolio" management system for project managers handling hundreds of concurrent projects. This came about because I was searching, like you, for canned solutions bearing enormous price tags, until I ended up writing code for TWO YEARS.
You probably realize that in-house software development and DB administration is not cheap, and loaded with technical obstacles.
Notwithstanding, you have PM education and business rules to deal with (as pointed out by these other gents).
Contact me directly and I'll email you a powerpoint slide show on this subject and how I approached this dilemma. [bigsmile]
griert@bcisites.com


 
I've done it both ways. I managed one of the first successful web projects for my type of governmental organization four years ago, got national recognition and my team got all kinds of (small) bonuses. I've also been both a buyer and seller of contractor services and have +30 years as a tech, and a manager. All of that counts, and I find I have to use every trick and technique I ever learned to pull off outsourced projects.

Outsourced development does not save you money. It may save development time. But in order to realize any advantage you need to have your technical and business requirements nailed, and you need to know how to do contract negotiation/administration. If you don't have that down cold, you will either fail, or get eaten up in the change request process. When you go outside, you lose the ability to fix requirements/design mistakes on the fly. A smart vendor will be very willing to add functionality, for a price. And I've seen a lot of projects fail right there. Scope creep is bad for starts, it's murder when the meter's running.

My advice is to start small, and build expertise. Plan to throw the first one away. You've probably heard that before, but somehow people refuse to believe it.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top