Tips for Selecting a Web Development Firm? 106
cyrano asks: "The organization I work with is looking for nothing less than a complete re-launch of its web site - upgrading from cobbled together static HTML and ASP pages to nothing less than a dynamic, database-driven site with a full-featured Content Management System and a secure eCommerce component. I have already collected proposals from several firms, each advocating the benefits of Java and Struts vs. ASP.NET vs. PHP...however, the technology used by each firm will only form a small part in my final decision. My true concern is ensuring that the firm I contract will be professional, cooperative, timely and will ultimately deliver their services as promised. What sort of questions should I be asking them, and what sort of warning signs should I look out for to make sure I find the perfect fit?"
what they've done (Score:2, Insightful)
Re:what they've done (Score:2, Interesting)
At my last job, they had a similar project. They wanted to port all of our existing applications to a web based system that would be accessable to outside clients and offsite employees.
The company ended up choosing a consulting company who had just started, and didn't have any previous experience. They just happened to have the slickest marketing, so they won the contract.
Long story short, the last I heard, they are still developing the project (Which was suppos
Re:what they've done (Score:2)
That's pretty much the truth for any kind of development, not just web development. There is a project that I was handed, which had been in development for about four years prior. It had been through two code changes and rewrites, and was continuously in a state of "beta." I cleaned it up, and got it to about 90% production quality in less than a month.
I agree though, it is important to know the history of the individuals that you will be dealing with. Keep in mind where the code is going to be written
Re:what they've done (Score:1)
It is also several years late, and the final cost ended up being about 3 times what was originally estimated.
That's why you want to go with a major consulting firm -- they'll get your system delivered several years late, and five times the original estimate!
Seriously, I used to do LIMS for pharmaceutical companies, and the number of failed systems created by Anderson/D&T/PWC/E&Y is
Re:what they've done (Score:2, Interesting)
Re:what they've done (Score:2)
Preference (Score:2)
Personally I would stay far away from PHP. I prefer jsp/servlets, however Struts has gained a reputation as an albatross. Is there anybody proposing using Spring, or some other lightweight framework?
Re:Preference (Score:2)
Re:Preference (Score:2)
Re:Preference (Score:2)
Re:Preference (Score:2)
Not yet. I myself have no practical experience with the frameworks, but I have read Rod Johnson's J2EE Development without EJB.
As a result, I've in fact been wondering if a AoP/IOC framework should be a requirement should we go with a Java-based solution.
Do you have any practical experience with Spring or other AOP/IoC frameworks and did you observe any performance hits in production?
return -EWRONGBIDNESS (Score:5, Funny)
Sorry, wrong industry: web-developers provide none of the above.
Re:return -EWRONGBIDNESS (Score:1, Redundant)
Very few web development firms I have dealt with had any of these qualities, let alone all of them.
I think the best advice has already been given in multiple other posts: Ask for references, check those references, and check out their past work. Ask your questions of the references that they supply.
As for technology... This sounds like this will be a fairly involved site, who will support/maintain it going for
prior work (Score:3, Informative)
There is no better gauge of skill
Personaly i would also do some background checks , perhaps contact your peers in the other firms for which the web deisgn/development company has worked for.
content first , style second (no mystery meat)
Re:prior work (Score:2)
Unfortunately, that tells you more about their clients' [lack of] taste than about the designer himself. It's one of the reasons I'm not doing webdesign for my company ("it must use flash, and it must be 500px wide, and images must be unreadably small, and we can't put any useful information on it, and we have to show how innovative we are with unique "features" and navigation systems and non-underlined links, and borderless
Re:prior work (Score:1)
I should perhaps of made myself more clear , when i was working as a web dev , I kept a portfolio of works i had done for personal use(I still do infact) or concept work
It's all about the working relationship (Score:2)
1. Do you feel comfortable with the consultant?
2. Does the person seem to understand your goals and character of your or
Rabid dislike of anyone approach... (Score:4, Insightful)
If someone crying the superiority of Java over PHP over ASP, Windows over UNIX/Linux...they are not going to be making the best choices for the various parts of the product.
Each has strengths and weaknesses, and integrates better or wrose with certain things. A key question to ask them if if they know the best X to integrate thier solution with (X). The mythical (x) need not even be what they will be ultimately building against, its thoery question but they don't need to know that when you ask.
Re:Rabid dislike of anyone approach... (Score:1)
Re:Rabid dislike of anyone approach... (Score:1)
If someone crying the superiority of Java over PHP over ASP, Windows over UNIX/Linux...they are not going to be making the best choices for the various parts of the product.
I think this is bullshit. Clients generally don't care what language it's written in (if they knew about that stuff, they'd do it themselves!) And if any of them asked, I'd say that I'd use Java or PHP over ASP because ASP is a proprietary system that only works on one platform*. Because that's a business risk for them, they need
Re:Rabid dislike of anyone approach... (Score:2)
This is not necessarily true. I'm on loan to an internal organization to help them get a data driven web site up and running. Eventually they're supposed to be able to do stuff on their own. One has some experience with desktop databases, the other is a graphic designer who has maintained several mostly static web pages. Anyways,
One Word: Portfolio (Score:5, Insightful)
As far as what technology they use, I'd say that as long as it fits your needs (each tech has it's own strengths and weaknesses) and is quality work, it doesn't really matter unless you've got something in mind.
Good luck.
Watchout for... (Score:1)
One warning sign... (Score:3, Informative)
They said that they could just give everyone a day's training on how to administrate the site and then it didn't need to be easy to use.
I was so shocked I couldn't reply, and once I had gathered myself together I couldn't persuade them otherwise. The website still isn't easy to administrate.
Re:One warning sign... (Score:1)
Re:One warning sign... (Score:2)
It was little things that I had previously thought were self-evident. Not only that, but they were selling the back-end to other people as well (not a custom made job) so I would have assumed it would be in their interest to make it good.
Probably the age old c
Re:One warning sign... (Score:2)
Well when you play this game you write obscure code, not obscure GUIs.
And as a writer of a general purpose CMS myself, i'd say that writing such beasts in a way that allows each clients to do his own thing, and keep it easy for everyone is often something really hard to do. Since each client seems to have different needs, you end up coding a sort of meta CMS where everything is configurable. But it still has to allow the webdeveloppers to b
Re:One warning sign... (Score:2)
But it still has to allow the webdeveloppers to build the website in a few hours, and have a GUI that makes the client thinks that it was done so solve his own particular problems (if it doesn't look like that, the client *will* be confused).
Not at all. Lots of clients can cope with something that doesn't look as if it solves their particualr problem, as long as they can work out what it does.
Re:One warning sign... (Score:3, Interesting)
Oh, they know better. Ask them to document those proceedures and then ask 'anyone' to follow their instructions from the documentation alone. I'd bet that the instructions are like "telnet to the server as root, log into the database as 'sa' do then do a complex SQL update affecting at least 3 tables." Keep asking questions until the documentation is complete.
The trouble is that once a system is up and working it's hard to get the
don't want to work themselves poor! (Score:2)
Get references (Score:2, Informative)
W3C Validator and Browser compatibility (Score:3, Informative)
http://validator.w3.org/ [w3.org]
and open them up in a selection of browsers.
Its is unlikely you will find any non trivial site that passes the validator, but you can see who's is worst.
You may not be that concerned about browser compatibility, but it does show how much care they take when writing their code (in case of dynamic) or html
You could go as far as putting it in their contract that their pages pass the validator.
But note that passing the validator is not absolute proof that the page is correct, just that the sgml/xml is valid.
Re:W3C Validator and Browser compatibility (Score:3, Insightful)
Re:W3C Validator and Browser compatibility (Score:2)
Re:W3C Validator and Browser compatibility (Score:2)
Transitional my buttox.
XHTML1.0 strict is an XML document.
If a software company can't generate valid xml, give then the boot.
BTW, making a website is the same as making software.
Make sure they make the design completely modular to allow you to use different images, colors, and fonts scrictly by changing the css file(s). See CssZenGarden.com, (especially like http://csszengarden.com/?cssfile=/149/149.css&pag e =0, but that's me)
And if they use tables for layout, kick them out too. You a
Re:W3C Validator and Browser compatibility (Score:2)
Re:W3C Validator and Browser compatibility (Score:2)
You are producing a valid xml document for the browser. I define that as "work with" the document.
XSLT is only workable on the server. Fine, use it on the server, store your data as semantic xml, but the output of the XSLT should still be XHTML 1.0 strict (or 1.1)
Re:W3C Validator and Browser compatibility (Score:2)
Anyone who tells you that you should use technology X without being able to provide some concrete reasons, including comparing it to other similiar technologies, is someone you should toss. Personally, I think you can get a lot more done a lot faster if you consider
Re:W3C Validator and Browser compatibility (Score:2)
Yes, I do this for a living. I've taken html 4.0 pages to xhtml1.0 scrict on the company intranet and gone from 5 seconds to 0.3 seconds. Same data. Of course, I optimized everything, not just the html, but you get the poin
Re:W3C Validator and Browser compatibility (Score:2)
I think that's a point to make your page validate, but not necessarily to XHTML; you can make your page HTML 4.01 Strict and get the best of both worlds.
Not that I agree 100% with arkanes - specifically I disagree with his(her?) comments about foregoing semantic* markup; using semantic* markup really streamlines development, and makes eases maintenance (especially if someone else wi
Re:W3C Validator and Browser compatibility (Score:2)
Not that I want to share here, but it's been my experience.
Re:W3C Validator and Browser compatibility (Score:2)
I wouldn't neccesarily recommend using client-side XSLT, outside a closed environment, j
Re:W3C Validator and Browser compatibility (Score:2)
Retooling Slashdot with Web Standards
http://www.alistapart.com/articles/slashdot/ [alistapart.com]
However, I am concerned that only a minority of web developers out there will be experts in using CSS layouts. Further, I know first-hand that most web programmers are acustomed to laying out database query results, forms, etc. wi
Re:W3C Validator and Browser compatibility (Score:2)
Tables are not useless. They should be used to display data that is in tabular format, such as database query results and lists of things.
As far as finding developers, it's only a matter of money.
Remember that anything you build today will have to compete with things built next year.
Re:W3C Validator and Browser compatibility (Score:2)
Yeah, the potential to make asshorrible tables+layouts is there, but the potential to make asshorrible ANYTHING is there
Re:W3C Validator and Browser compatibility (Score:2)
A second issue is flexibility.
Re:W3C Validator and Browser compatibility (Score:2)
Table layouts are a bitch to maintain. It's much easier to work with good CSS and proper semantic markup. CSS layouts are lighter. Search engines don't like table based layouts as much (all that extra markup pushes your content further down in the actual file). If you want to move page elements around (say putting the menu on the right instead of left), it's much easier to change a couple lines of CSS than sorting out a bunch of nested tables, counting c
Re:W3C Validator and Browser compatibility (Score:2)
Generally, I agree. Especially on the table layout bit. There's no reason to be doing that in this day and age, unless you've got some seriously ancient browser requirements. Yes, budget is going to be a major factor in how the site turns out - underfunded web projects fail the same way any underfunded software development project will fail. And I definitely agree that you should let the dev company worry about the things that you're hiring them for. Micromanagement is going to result in a crap project tha
Re:W3C Validator and Browser compatibility (Score:2)
References... (Score:1)
Re:References... (Score:2)
Where's the focus? (Score:4, Insightful)
When they present their proposals, ask why each piece is needed, and take the offensive. Ask why they didn't use something smaller or simpler. "Upgradeability" and "future growth" are, more often than not, excuses to sell you crap that you'll never use UNLESS you specifically told them that those things mattered to you. It amazes me how many people end up with a database-backed CMS for a relatively static site with a miniscule archive.
Ask about things like standards compliance and handicapped accessibility. A good company will either do that by default or jot down that it matters to you. It won't be a big deal to them. A bad company will try to convince you that IE on Windows (or whatever their technology of choice supports) is the only browser that matters.
You also want to be a little bit of a pest early on. Cold-call them a day or two after you meet to see how things are going. If they have -any- progress, you're in good shape. If the answer is "Oh, uh, we're still looking into that" or something equally evasive, well, it's not going to get better.
Portfolio, experience, and sacrifice a chicken (Score:2)
Check the other sites they've done. See if they look like something you could use. Ask the other companies if they were good to work with.
See how much experience they have. If one of their developers is an active participant in a Free software project of some sort, that's a good sign.
Finally, sacrifice a chicken and mutter an incantation from the darkest magick of Voodou. The project will go over-time, over-buget, and will be atrociously broken in unexpected ways. The only way to avoid this for any non-
Re:Portfolio, experience, and sacrifice a chicken (Score:1)
Basically basic (Score:2)
Look up existing sites, call the client, and ask them about thier experience.
Some people may not talk about it or may get upset, but eventually you should find a few that will share thier experiences.
This is still a bit tricky because clients that stay with a firm do so because they like the results. It's hard to find people that have a strong dislike for the company they're still with - strong bonds are formed bet
I work for a development firm (Score:5, Informative)
You should also check their work in a few browsers (safari, Firefox, IE6, etc). There is no excuse for a professional website not working in all major browsers. Make sure you own the work (A lot of our clients had been screwed in the past by this). .NET thats what is going to get done. The only thing we really push hard is use of CSS for all layout. It saves bandwidth and makes the site easier to modify in the future.
Try to stay away from a company that pushes one language over another. We do whats best for the client, if that means php, asp, perl, java, or even
Finally, if you are also going to host with them, find out who owns their servers, and where they are located. Inquire about their backup system and make sure they have standards for uptime.
Re:I work for a development firm (Score:1)
It would indeed be nice to make sure you get source files of images and such. This will help a lot when you need to make small changes to the existing website, but you don't want to use the same developer for some reason
I'll do it (Score:3, Funny)
Re:I'll do it (Score:1)
Philip Greenspun and Ars Digita (Score:2)
Explore his other books [greenspun.com] and the websites built by his company, Ars Digita (eg the elegant NY Review of Books [nybooks.com] site). Research the tragedy of Ars Digita, via Google [google.com] I guess. Somewhere in here [google.com] there used to be a long rant about how the venture capitalists got their toes in the door and proceeded to destroy the
Re:Philip Greenspun and Ars Digita (Score:2)
Some basic things (Score:3, Informative)
SEO - Search engine optimization. If they've researched it they should know the acronym. Most of the old techniques no longer work in Google. Some will get you penalties. No javascript based links that the search engines can't follow. Repetition is bad. Very similar pages are bad, often the case with product pages where a product has many similar configurations, each having its own page. Dynamic pages with long urls or a countless number of possible urls (like with session ids) are bad because search engines will only spider a small number of them to avoid getting thousands of really similar pages from one dynamic page. Aside from avoiding repetition and things that confuse the search engine, content is mostly king.
Security - They should at least know about sql injection.
Content organization - As a plus, they should be able to organize your site based on what your customers are most likely to be searching for, what you sell the most of. This decides things like front page links, what images best represent each category, and so on. It's not enough just to have an online catalog with every product having equal weight. It might help if they took microeconomics in college.
As for which language, php, java, or asp.net, it doesn't matter as much as the quality of the programmer. A lot of things seem to take much less effort in php though.
Re:Some basic things (Score:1)
I agree with the basic point - that language doesn't matter as much as the programmer - but to some degree, I think that it is important to know that the techonology being used is appropriate. PHP may be fine for some types of web sites, but the kind of thing I do (data-driven business/management applications) requires a lot of interactiv
Don't fret the language (Score:2)
Sadly, as a Senior Web Dev
Ask, ask, ask. (Score:2)
There are obviously complications for them providing this info (because schedules are often quite fluid), but once you've narrowed down your choices, sort out a rough schedule and ask for the resumes of the lead developer
References (Score:2)
Would I give a semi-negative references to a prospective client if they requested it? I think I would, knowing the reference I ga
Get a kick at the cat... (Score:1)
Make them give you at least one bad reference! (Score:2)
Also, just because the company is small or comes in low, doesn't mean they don't know what they are doing. I ran a small (4 person) firm for 5 years and we would lose bids to the big boys in town because the client wouldn't believe we could do it. I'd say half the time they would come back
Push for standards (Score:1)
Most of stuff they've designed is entirely table-based, 800x600 layouts that are cluttered and difficult to maintain.
What I am considering, is doing the page layouts myself and contracting out the photoshop-type stuff.
Re:Push for standards (Score:1)
What you've mentioned is one of the major problems of what I call the 'Dreamweaver generation'.
If you go to any website template site (such as 4templates) you'll notice that 90% of the templates are high res, table-based and mostly based around a Photoshopped design with Flash and extra gizmos added to wow the clients into buying them.
Then you look at your competitors sites, how many high-profile websites have +70kb of images on the first page?
The problem we're facing in the web design and development
This question is the crux of our marketing (Score:1)
The idea of this document is to provide prospective clients (many of whom are not very knowledgeable) with a resource that will help them in choosing a firm to partner with, even if they don't choose us.
There is no one thing that you
Re:This question is the crux of our marketing (Score:1)
well that's putting the cart before the horse. next time i'm in macdonalds i expect to see "ten tough pointed questions any person should ask about what to have for lunch (and the only answers you should expect.)
one of them will be "should be a bigmac" i'm sure. ;>
Vendor Management - sort of like looking for love (Score:1)
Past work is not an gauge of future performance (Score:2)
If you want to know how well a given firm will do, ask them to do one of your pages up front. Of course, you will not use their code if they are not selected (and you will sign a contract to that effect).
It has been my experience that most firms will not do this -- but then (as others have noted), those are not the firms you want to bother dealing with. The few who do provide a "live sample" will be the
Basic business practice is important! (Score:1)
I think the best thing you can do for your company would be to get a tour of their facility, talk to some programmers, and try to gauge what kind of operation they are running.
If you need some pointers on this, a good start would be The Joel Test [joelonsoftware.com]. Grab a copy of Joel On Software and take it over there and say, "How does your company score on this test?" They may look at you funny; just tell them you're trying to be sure they're a high quality organization. You can check off some of the boxes yourself, like
Re:Basic business practice is important! (Score:2)
Or even the Joel Test for web development [allinthehead.com].
Re:Basic business practice is important! (Score:1)
I don't think this is really the big point that many people are making it out to be. If you've got a small firm that has a proven PHP/Java/ASP infrastructure, then I wouldn't count them out of the running. If you can't hire a large firm, then it's better to get a firm with a half-dozen $TECHNOLOGY developers than a firm with a half-dozen developers of which only two know any given technolo
Re:Basic business practice is important! (Score:1)
Good point... I think maybe what I was thinking, or trying to say, is don't go with a firm who believe in the One Great Platform and insist that everything else is crap. I work at a one-platform company myself, and we have done most of our work in ASP or ASP.NET, but we could handle J2EE or a LAMP application if one needed to be maintained or extended. But of course, ASP.NET is what we mainly offer our clients, because we have experience and structure there.
And, when I said $TECHNOLOGY, I was also referri
Do it incrementally (Score:2)
Find a vendor you think will be good, have them break the project down into chunks of no more than a couple of weeks each. Have them do the first chunk only, with the understanding that if they do a good job, they'll get more work.
Then make sure the first chunk is done completely and well before giving them the next chunk. Accept no excuses or promises that they'll make you happy down the road. Do not give them the final payment until things are 100% complete. An in
Here's a suggestion (Score:2)
If that's really what you're after, look for an established and stable company that works on a "fixed-time, fixed-price" model, and keep an eye on any existing vendors that you want to have involved with the project.
Speaking from first-hand experience, the "fixed-time, fixed-price" model (done correctly) does more than help deliver what you want on time and
Web development is development (Score:1)
Advice from a consultant (Score:5, Informative)
Context: I've been doing web development professionaly for seven years, the last four with my own small web development company. We've worked with other firms, and been called in to clean up other people's work (the latter more often than I'd care for - that kind of work is zero fun).
As many other have pointed out, language doesn't matter a whole lot. We do recommend open source platforms, for the reasons familiar to anyone that reads this site often, but the most important question about this is whether the tool will fit the job. I've told clients before that what they really want is a Microsoft solution (because it fits the requirements) and that they should really find another firm to do it (because I'd rather put a hot poker in my eye than work with ASP).
Portfolio is important, but there are a million ways of fluffing it. Maybe it was subcontracted work, maybe they happened to have a really good person working for them for a few months, and they left because the company sucked. Maybe they're a large company, and their portfolio is all A team work, but you'll be getting the B team. On the other side, we've done work that would never make our portfolio because the client insisted on a nuclear orange and blue color scheme, or 500 links on the main page.
Picking a good web development company is difficult, largely because a) most of them are truly horrible and inexperienced, and b) the important things are difficult to quantify. There's a few things that are immediate warning signs, though. These should be rampantly obvious, but this is Ask Slashdot, and I've encountered each of these from companies that a client thought looked good on paper:
Some of the things that you should look for (this list keeps growing, I had to stop early):
Re:Advice from a consultant (Score:1)
This is so true it makes me want to cry. In my case, it is even worse; we are doing the IMPLEMENTATION of a 'web design' being done by a print designer in a marketing firm that doesn't have any grip on good web desig
Re:Advice from a consultant (Score:2)
Yeah, I should have clarified - I haven't worked with .Net at all, so can't speak to it. I don't suppose there's a lot of old-style VBScript being done anymore, but that was what I was referring to.
I don't really have a great desire to work with .Net...we're a Linux shop (as far as server stuff goes), so until mono becomes com
A few heuristics (Score:5, Insightful)
Disclaimer: I'm a web developer, and I don't always do things this way myself. They are rules of thumb, not laws that must be followed.
The most important thing to bear in mind is that you need to know what it is you want to achieve with the website. Some firms are all too happy to sell you an all-singing, all-dancing e-commerce haven (and charge appropriately), when all you actually need is a contact form, address and phone number on a single page.
Business stuff:
Get concrete deliverables. Example deliverables:
These deliverables will be missed a couple of times. The important thing is that your contract states what constitutes acceptable quality and how slips will be resolved - if they lose money every time they miss a date or forget a feature, they'll keep to schedule and not rush things out the door.
There are a few signs to watch out for from people selling snake-oil.
The human touch. Visit their offices a couple of times.
Technology:
Re:A few heuristics (Score:1)
What is your take on people that use the html generation tools (such as Netscape Composer)? These tools historically violate the 'good rules' of html form. Also, what about companies that end up supporting a site that was written partially/entirely with what I would call sub-standard tools? It is almost never in the budget to re-write an entire site. I would guess a common response to a request to rewrite would be 'It works, doesn't it?'
Re:A few heuristics (Score:2)
WYSIWYG is a myth on the web. Or rather, what you see is pretty unimportant. Rendering can, will and should differ depending upon the individual circumstances of the person visiting a website.
When you pay somebody to develop a website, you aren't paying them to draw you a picture that happens to have text in. The web is not like print media, it's fluid. What you are paying them for is a set of pages that
Followup Question: Copyright Issues (Score:2)
I was wondering if you could expand upon the issues surrounding copyrights and code licensing.
One of our candidate firms is advocating development with their proprietary java libraries, as the libraries' use will "ensure quality and speed development." It seems to me that this would incur a substantial risk. I.e. if we contract this firm, a larger firm might acquire them and immediately start charging us a licensing fee for the code for which we don't ha
Re:Followup Question: Copyright Issues (Score:1)
As somebody mentioned elsewhere, it might not be feasible to get copyright signed over to you for components like this, but you should get something in writing entitling you to use of the libraries should you want to take your business elsewhere. Remember, you need source, or you might have
Re:A few heuristics (Score:1)
I said no such thing.
More things to look at... (Score:2)
In addition to paying attention to previous bodies of work, and what part of the world that they will be working out of...
Try to find out what their ideal design philosophies are. Keep in mind that your company is ultimately going to be the one that maintains that code. Make sure that you agree on those aspects, but don't let on to what you think is right.
Try to find people that are flexible on the platforms that they can write for. The reasoning for this is to avoid the vast number of cookie-cutter de
Ditch the contractors proposing ASP.net. (Score:2)
Put another way, I can still
Re:Ditch the contractors proposing ASP.net. (Score:1)
First, I don't see why it is important that a web application or web site be developed on a cross platform backend. The whole idea behind HTTP is that the web browser doesn't care whether the server at the other end is Windows or OpenBSD or Contiki. And I will say that, yes, if you program in PHP or Perl or use Zope, you can probably move back and forth between BSD and Linux and Solaris with impunity. Are you really going to be changing your server OS every few months? Even every few years? Universal portab
Number One Priority (Score:2)
Do they have their content ready?
Just get some referrals (Score:2)
Selecting a Web development Agency (Score:1)