Hello folks, I wanted to ask you guys about getting a consultant to review your design/architecture. When do you think it is reasonable to do so, just after finishing the beta version of your product, and want to make sure the architecture is good ? Is it only when your "customers"start complaining about your application, and you really smell bad code (kinda symptoms described in Fowler's refactoring book)?
And another very important question, How much do you have to pay the consultant? I think most big shops like Accenture require around 175$/ hour, and the smallest Accenture project I have ever heard of is 1.5 man month. which is quite expansive for a medium sized project. But these big consultancy firms tend to have people with only 2 years exp. and I don't really think they would be better then any other guy with 3 years exp.- under his belt that you could hire to work full time for you. How much do you need to pay in case you need a consultant like Martin Fowler? or equivalent? What is the minimum project time they would take? (assuming I have a 20 man months project, and I am picky about good design) would they come to Europe for 15 days job (assuming you pay the hotel 200 $*15 days =3000$ + 1000 for ticket + 200 $/hour * 80 hours = 16.000 $ , Total = 20k for 2 weeks! Is it worth it, what can they do that other can not ? How about getting a Guru from India and pay him 50 $ a day (+ take home salary and accom/transport)? Any comments will be appreciated.
It varies. I recommend getting a consultant in sooner rahter than later. By the time you're in beta, if there's a serious problem with the architecture, then it's going to be very costly to change it. (In general the cost of change increases with time.) The big firms don't bother with very small jobs (e.g. 1 guy spending a week). They invest more time trying to land other jobs! A generic architecture can cost anywhere from $75-$300/hr. It depends on their experience, depth of knowledge, and need. For example, I charge significantly more if I'm doing security consulting, because very few people have cryptrography backgrounds. Sun used to have "911" calls, which were very expensive. If you're in trouble (2 weeks prior to release the code is running 3 times as slow as it should), they can send a guy over, but it cost about $300/hr. As for someone like Fowler, call and ask. As for Indian programmers doing that, I haven't heard of it, but that makes a lot of sense. They will most likely be cheaper. If you email me more project info, I might be able to give you a better idea what of you might need, as well as my own bid. --Mark
Hi, Mark is right wait till beta release is too late. You are a clever man to see problems beforehands. The figure is depended on the nature of the project and damage status. The travel and hotel expenses, you pick up the tab, the meals usually pick up by the consultants. But if you wanted industry celebrity, then you also need to pick up the meals expense too. Why don't you post the job specs on the Job Offered Forum and let people bit for it? Regards, MCao
posted 16 years ago
Thanks for your replies Mark and Matt, Well, as for now it is at the Idea phase (So you can guess that I am thinking ahead not to have problems later) and I wanted to have an idea in case I want to make a reasonable project costs estimate. So nothing concrete for now, but thanks for your replies. I was thinking that 20k is actually more then 20 Man-months (outsourcing to Asia costs) , and is the cost to have it redone from scratch in case it starts showing some probs. (At this stage at least the requirements will probably be clear, and the time spent so far would give a good idea of what is feasable and what is not). Any other ideas about the Costs of Gurus (I don't want to contact guys to tell them I don't have some concrete reqs /project)? Please share with us!
posted 16 years ago
I'm glad to see you're thinking ahead. What is the nature of the team? Usually you bring in someone from outside because you lack the capabilities internally. Do you have an architect/team lead? Is this person capable of doing the job, or is the job too big? Does it require certain expertise? Do you just need another pair of (well-trained) eyes to look at it? Requirements are a critical area in that most engineers haven't been trained to do it well, and if you screw up the requirements, you're chances of a successful product have greatly diminished. Does your team know how to turn an idea into a requirements document? A guru, as you call them, might be valuable to help: - define specifications - identify key technologies - help architect a solution With respect to redoing it from scratch, what exactly do you mean? I do believe most projects would benefit if 3/4 of the way through it got scrapped and everyone started over. For this reason I encourage teams to build prototypes with the intention of throwing it away. However, if you have one team build it, and then have another team rebuild it, you lose 98% of the benefit. --Mark
posted 16 years ago
Well I meant redoing it from scratch by the same team (outsourced), so the cost of getting a Guru for two weeks is merely the cost of the project (20 man months. 20k). We are missing a Software architect with some years of experience. Even though we might have an architect (to whom we r outsourcing the project) we need another reviewer (maybe by an other consultant in Asia that is not going to ask for much). This is because we need to sign some SLAs that our app needs to live up to. The application is using a Telecom network, and these Operators are not going to let u play with their network. If it were an embedded system software in C I would have no problems, because even if it is hard, there are no 1 Million ways to do the stuff. If you know your hardware system well, you can be pretty sure that you use it the right way and take advantage of its features/shortcomings.. (well unless it is in something they are sending to mars). But distributed java app, and all the hype about projects failing, and being a newbie makes me think twice (actually 1000's of times). I don't want to get sued by BIG guys because my software crashed their system. Therefore, I am asking about the costs of getting a Guru, and if it is really worth it. The costs might as well be spent on an other team to review the architecture and do extensive testing. So I want to know if there is really a big dif. between a normal guy that has 3 years of exp. in java (actually 2 guys) and an industry expert in a project of just 20 man months (my estimate though). Actually If I had the money I would be very happy to pay an expert just to see him in action, as I really want to learn this stuff. But for a start-up (read 0$ in the account), that would be based on a small project, this might be overkill. I would be grateful if anyone of you guys had worked with an expert, and tell us a bit more about the expenses, and if they were happy with the results (and thought this could not be made by a 3-years exp. Guy they could pick anywhere) Any feedback will be appreciated.