I have worked in a number of firms, from 40,000+ employees around the world
to startups. I also teach at a local university and have just started
another software development firm. We have three programmers, myself, and
my partner (ok, all of us write software.)
What you want to do is decide who does what.
1) Developers make bad QA people. But they are better QA people than no QA
people. If you can't bring in a QA person, then set up a special
arrangement with a customer to provide a QA person. If the software will be
sold to more than one entity, then give the entity providing the QA a break
in price, etc. for this service.
2) My partner does most of the sales and marketing. But since he also
codes, he doesn't tell the customers that we can do things we can't.
3) One person should be designated the tech support person. This should be
the most junior programmer since it costs the least for his/her time to be
interrupted. But they should be able to easily escalate this to whomever
can quickly address the problem (which is usually quite easy to figure out
in your size company.)
4) Since your company is small and the software new (and therefore
constantly changing) having the developers available to address issues can
help - as long as it doesn't prevent them from meeting their deadlines. If
your product needs so much support that this is happening, fix the software
before doing any new development. This also allows the developers to get a
better idea of the types of customers and their needs early on in a project.
5) Always make sure you have specifications on what will development will be
done. Do not allow a developer to change what is planned based on a support
call. Put a change management plan in place to handle this instead.
Otherwise, the developer will never get anything completed.
6) Whomever is doing support should not be modifying code except to fix an
obvious bug. If the problem is a WAD (Works as designed) then it's up to
the change management process to prioritize (or ignore) the requested
change. This means, have a good way for anyone to post a requested
These are a few ideas for you. There are many more, but this (along with
the other comments) should get you started.
Quote:> Hello everyone!
> I would like to know about who "can" and "should" be included in the
> Software Development Teams for small and startup companies.
> Consider this scenario: Three persons wish to develop and sell software
> they are low in budget and could not hire many people to perform different
> kind of roles. So each of them has to wear multiple hats (such as
> developing, testing...etc) successfully.
> My particular question is that after the software is developed and sold to
> the customers, could (and should) the members of this Software Development
> Team provide customer support (such as via Newsgroups) without forming a
> spereate customer support team? Is this a possibility and does any
> development teams in the world do this?
> Thank you all for your time!