Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am involved with the development of innovative software. The development is innovative since we don't know how to develop it and what algorithm should we use to implement and nobody else did it before. The process consists of several stages of studying books/papers, suggesting algorithms, writing prototypes and comparing the result with actual data. We hope that after some iteration, we converge to a valid software system.

Is there any project management software for these types of projects?

share|improve this question

migrated from Jun 24 '11 at 12:58

This question came from our site for professional and enthusiast programmers.

"The development is innovative since we don't know how to develop it" - Best definition of "innovative" I've ever heard. Our marketing department is going to love that one. – David Jun 24 '11 at 12:58
I think you mean development methodology rather than project management. – Jon Hopkins Jun 24 '11 at 13:14
@David - by the definition of "don't know how to develop it", EVERYTHING is innovative to a marketing department. – Jon Hopkins Jun 24 '11 at 13:15
"Best", "agile", "innovative"... almost none of the words in this question have any concrete meaning. You might as well have just asked "what's your favourite way to manage projects". – Aaronaught Jun 24 '11 at 15:05

Is there any project management software for these types of projects?


There's no "project" until you have a firmly-defined goal.

Exploration and Research aren't really amenable to project management. It's exploration of the unknown.

If you don't know where you're going, you can't manage the process of getting there.

Once you have a goal, you can also define a project.

share|improve this answer
But there is a well know goal! We don’t know how to get there! For example, Wright brothers invented airplanes. They knew what they wanted: They wanted a way to fly, but at that time nobody knew how to do this. – user654019 Jun 24 '11 at 14:30
@user654019: If you can write down what it is you want to do, then you have a project. If you can't write it down, then you don't have a project. – Peter K. Jun 24 '11 at 14:54
I know what I want to develop, but I don't know how to do it! For example, I want to develop software to predict lottery numbers (!) But I don’t know how to do it! There are several prediction algorithms but probably none of them works. The idea is to find a solution. (I don’t want to develop such software, it is for example only!). So I have a well defined goal (lottery prediction) but the way to do it in unknown and nobody else did it before. I think innovation is a project that has a start and a well defined goal but the path to reach to goal is unknown. – user654019 Jun 24 '11 at 15:20
@user654019: You've confused abstract, wishful, poorly-defined, impossible-to-measure goals with actual project goals. Lottery Prediction is unmeasurable. Winning $40M within one year is measurable. Now you can have a project. – S.Lott Jun 24 '11 at 15:35
@user654019: the Wright brothers did not have a project. They had a research agenda and lots of time and money to invest. They did not have a schedule or a budget or specific deliverables or even a customer until after they had gotten a machine to fly. – S.Lott Jun 24 '11 at 15:47

By the sounds of it this is more like a research project than classical software development. In consequence I think you should consider looking at management styles for research (if there is such a thing).

Most agile methods are geared heavily towards handling change in scope. This can include projects where the scope is badly defined or undefinable and projects with areas of high risk. They do, however, assume that you can define scope and technology to some degree, and that you have at least a few known starting points. Do you?

Most agile methods use spikes to gather empirical knowledge about unknown areas, be it in technology or algorithm. From what you are describing, pretty much the entire project is a spike. I am not sure how well any of the agile methods will cope with that.

share|improve this answer
I think it is more of several spikes followed by scrums and some other elements such as study, algorithm development but how we can define it? It is similar to Agile as the path to get to the target would change a lot during research/development, very similar to the fact that in Agile, we are open to the requirement changes. I think there are several similarities and yes I agree that there are some differences. – user654019 Jun 24 '11 at 14:37

"The best agile technique" is a contradiction. The Agile Manifesto clearly says "Individuals and interactions over processes and tools", so if you're going to be agile in any real sense you need to pick processes and tools based on the individuals that will be using them.

share|improve this answer

It sounds like Scrum might be a relatively good fit, as it claims to deal particularly well with unclear requirements. And its short cycles (sprints) in which you concentrate on incrementally producing an actually useable and useful result, no matter how incomplete at first, can probably help you find and maintain focus and drive for your project; it sounds like the biggest risk would be losing yourself in aimless studies and prototypes that never actually converge.

share|improve this answer
Unclear is different from "no idea what we are doing". Unclear often means there is an existing process that you are improving, and are not sure of the best features to improve/automate/eliminate that process. – Jeremy Jun 24 '11 at 20:31

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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