Best way for R&D company to get out of pure “D” mode?
I work for an R&D company in the energy business. We've developed some successful products, but now seem to be spending all our time fixing issues relating to those products. We don't seem to have any time to work on developing new products. Does anyone have any good ideas on how to both handle problems arising with the existing products but still have the time and resources to develop new products as well?
No correct solution
If you have a successful product, and are staffed to handle either development OR maintenance then the solution seems to point at hiring.
Perhaps bring in some new blood/fresh grads to "grow" them into the more mission critical side of the R&D company? Thus the new blood would gain experience on existing products (with guidance from the more senior staff) and grow into great devs for the R&D side!
I would suggest the best method is to have a group/person dedicated to new development. They should be available for questions, but... The only problem would probably be some jealousy, but a good manager should be able to figure out how to handle that.
Why do you need all manpower for the existing products?
Was the staff reduced after completion? - Hire new guys
Are the products -ahem- very defective? - Fix your process, and fix your bugs first (sorry)
Did you develop many products, with more and more time going into maintenance, and now no development is left? - Cancel support for old products, hire new guys, or make clients pay dearly for maintenance (i.e. let them cancel support)
Are you frantically adding new features to the products? - sorry, you are doing new stuff. New features need to be balanced
Does the comany require more "R"? Many R&D companies end up M&F - Maintenance and Features. Are the other guys happy? If so, maybe you need to look for a position better suited to you.
I am not sure about your position - are you doing inhouse development, or is your company selling the software? In any case, there must be some room for new development, to remain healthy. Make clear to your management that, if the job consists purely of maintenance, the best people will leave.
Don't expect to much, though - especially if you are on inhouse development. It is estimated that 80% of all positions are maintenance (I wish I could find a reference).
Have management come up with a list of fixes that need to be done.
Engineering assigns an estimate of hours for each fix.
Decide which fixes get in and which get pushed out. Some may be "fixed" in documentation (work-around, known issues, etc.)
If you can afford to, hire someone to handle support and maintenance to free up resources for research.
If you cannot, you need to reduce your marginal cost per customer. Keep track of all manual labor and support requests and prioritize new features that will reduce these to a minimum.
try Getting Things Done by David Allen
Be very careful of this. I've seen a few companies do this where the support of the active products (the ones making money) became secondary. The "Support" function is minimized because support income counts against you in an IPO situation.
The next thing you know, your company isn't making any money, the support staff that are trying to make a little are treated like crap (and fired when the money runs out), and the "New product" team isn't required to release anything (no customer demand) so they succumb to feature-creep and multi-year long release dates.
This leads to a refocus where 2/3 of the companies staff is cut and the remainder all work on support and a token few on the "Next generation" that's always around the corner--which works until the bank calls in the loan for the money you borrowed to hire the marketing people before you even had a "new" product to market.
It doesn't have to happen this way--just be careful.