2

For Research and Development (R&D) project, what type of software development method / model more applicable/suitable?

For example, my recent R&D project has several parameters:

  • Requirement changes based on output of research.
  • Need to maintain High Level Documentation, Detail Level Documentation and others.
  • Need to develop prototype to show visible output to investors.
2

Getting the original investment

According to my experience, the most difficult part is to get the original investment, because investors may be reluctant to give you money with no commitment from your side. What if your research leads to a dead end? What if it requires much more money than they can give you? Ordinary business projects, even Agile ones, are somehow more certain, for two reasons:

  • While the customer can't know in advance if it will cost $40 000 or $50 000, he probably knows that it will not cost $800 000 nor $1 000. In research-oriented projects, we often have no idea whatsoever how much would it cost.

  • In business projects, if a twelve-months project is canceled after four months, there should be a “working something” which may not meet the needs of the customer, but which can still be deployed in production and bring some money in.

    In research-oriented projects, if after several months or years the project is canceled, there often will be nothing the investors will be able to use to get part of their money back.

    This is very similar to Waterfall projects: unless the project is completed, time and money is simply wasted.

Note that this is a generalization. Some R&D projects can be very specific and predictable. Another example: I'm currently working on a project which is unrelated to research, but which didn't have a precise scope at the beginning, but rather a “we'll do whatever appears to be actually valuable and will release it whenever we'll finish it” spirit. Totally acceptable for me—I'm acting as both the investor and the implementer here, but not doable when you need to attract external investors.

Tracking project progress

Once you've convinced the investors to give you money, the next thing is to track project progress in order to manage risks and give precise feedback to your investors.

Here, R&D project is not much different from business projects with no up-front requirements, so any Agile methodology should work. With short iterations, you can track your progress while not knowing exactly your final destination. The difference compared to ordinary non-research projects is that the uncertainty doesn't come from customers who are not sure what they needs are, but the research aspect of the project.

You may also want to read about evolutionary prototyping (including the comments). The difference between evolutionary prototyping and ordinary Agile is that you don't have to deliver a fully working product at each iteration. Instead, every prototype you deliver can also contain some more or less broken features.

This makes it more attractive for R&D projects where you can be stuck for long periods of time on a particular aspect of your product, and not being able to deliver anything fully functional during several iterations. Given the uncertainty of the project, you'd rather show some progress, even inconclusive, than remain silent for several months.

  • +1 for helpful response. But I want to be more clear. Why you think evolutionary prototyping will be more suitable/applicable for R&D projects. Can you explain more? – Md Mahbubur Rahman Dec 11 '14 at 9:37
  • @Md.MahbuburR.Aaman: done. – Arseni Mourzenko Dec 11 '14 at 10:02
  • Yes. I got the point. Many thanks for your nice explanation. – Md Mahbubur Rahman Dec 11 '14 at 10:10

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.