Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Small project management.

  1. Mar 30, 2009 #1


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member


    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 ?
  2. jcsd
  3. Mar 30, 2009 #2


    User Avatar
    Homework Helper

    The main issue is having the group identify existing and any potential future common parts on an ongoing basis and to structure the code to take advantage of the common parts. If you do firmware builds via some sort of source control system, you could identify which folders (or directory trees) are "common" and which ones are unique to a specifc implementation.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook