- #1
- 5,117
- 20
Hello,
I'm looking for established techniques, writings, books, etc... on what I'd call small project management. I'll try to frame what I need.
The problem to solve is about as follows. 4 or 5 people have developed small software/firmware systems in their corner, for specific applications. There's one person who has been developing in his corner quite a system (different FPGA's on different cards communicating through high speed links with their own protocol, ethernet link to a control computer and an acquisition computer, and the relevant software that runs on these machines), and now the thing is that we are going to use that platform developed by that one person in order to take it as a basis for different systems.
So there will be a kind of common part to most of them, and then particular adaptations to different situations. And the question is: how to manage that, in a flexible way, so that people can do things in their corner, but can nevertheless take advantage of evolution of the common part on which several people can work ?
For people who are not mainly software engineers ?
The very simplest way to do this would be that everybody takes a copy of the system as it is now, and evolves it by himself: we'd have forks of the original system. But that means that there's no means to put in common the parts that can benefit to everybody after the fork.
We could also manage it as a single software project, but we need more independence, as most of the "forks" will mainly be developed by individuals, only occasionally touching upon the "common" part, and that common part is not even well-defined (you take what you can, and you adapt what you need).
So are there "standard" techniques to manage such a thing ?
I'm looking for established techniques, writings, books, etc... on what I'd call small project management. I'll try to frame what I need.
The problem to solve is about as follows. 4 or 5 people have developed small software/firmware systems in their corner, for specific applications. There's one person who has been developing in his corner quite a system (different FPGA's on different cards communicating through high speed links with their own protocol, ethernet link to a control computer and an acquisition computer, and the relevant software that runs on these machines), and now the thing is that we are going to use that platform developed by that one person in order to take it as a basis for different systems.
So there will be a kind of common part to most of them, and then particular adaptations to different situations. And the question is: how to manage that, in a flexible way, so that people can do things in their corner, but can nevertheless take advantage of evolution of the common part on which several people can work ?
For people who are not mainly software engineers ?
The very simplest way to do this would be that everybody takes a copy of the system as it is now, and evolves it by himself: we'd have forks of the original system. But that means that there's no means to put in common the parts that can benefit to everybody after the fork.
We could also manage it as a single software project, but we need more independence, as most of the "forks" will mainly be developed by individuals, only occasionally touching upon the "common" part, and that common part is not even well-defined (you take what you can, and you adapt what you need).
So are there "standard" techniques to manage such a thing ?