I am a CS grad student, and I am interested in applying project management or software/system engineering methods to research projects at my university. I have experience applying the Scrum framework for small development teams, but I do not believe such a management framework would be applicable here. Let us use Project A as an example.
Here are some characteristics of Project A:
- Roughly 50-75% of the effort of Project A is a technical solution that includes aspects of electrical engineering, physics, biology, chemistry, and computer science.
- Ideally, the initial effort of Project A would take less than a year to complete
- Anywhere from 2 to 12 people may be working on the project at any given time, with each individual having their own schedules and priorities
- The time commitments from each individual could vary widely (an administrator/professor might commit a few hours a week to facilitate the allocation of resources, another professor may be writing the research paper, a grad student may be involved for 40 hours a week for a few weeks in the summer to write a program, another student may commit a few hours a week for the entirety of the year to integrate electrical systems, and so forth). It may be possible to hold weekly meetings of sub-teams, but monthly meetings would be more realistic (if meetings are even necessary)
- At this time there is not a defined set of requirements. There are some vague use cases that can be refined into functional requirements, but there would need to be a somewhat substantial effort to refine the system being development into sets of technical requirements.
Project A is still in its infancy (conceptual discovery phase, perhaps?). By applying software/system engineering or project management methods to this project I can vaguely imagine the facilitation of:
- communication among team members,
- the thorough understanding of functional requirements while implementing the technical solutions,
- coordination of implementation efforts,
- and the collections of basic metrics (such as person-hours, defects per person-hour, or others)
As I mentioned earlier, I do not think that Scrum would be at all applicable to manage the technical solution of Project A. My experience in implementing technical solutions involves predictable and consistent commitments of time, even if the teams are distributed geographically or across multiple time zones. However, I am unfamiliar with managing a project where people may intermittently start or stop working because they have other priorities in the organization (the organization being the university, in this case).
What methods of project management, development life cycles, or software/system engineering could benefit Project A?