Understanding the context, structure, activities, and content of software development processes found in practice has been and remains a challenging problem. In the world of free/open source software development, discovering and understanding what processes are used in particular projects is important in determining how they are similar to or different from those advocated by the software engineering community. Prior studies have revealed that development processes in F/OSSD projects are different in a number of ways. In this paper, we describe how a variety of modeling perspectives and techniques are used to elicit, analyze, and validate software development processes found in F/OSSD projects, with examples drawn from studies of the software requirements process found in the NetBeans.org project.
There is growing recognition that software requirements engineering can effectively incorporate multiple viewpoints (Finkelstein, Gabbay, Hunter, & Nuseibeh, 1994; Leite & Freeman, 1991; Nuseibeh & Easterbrook, 2000) and ethnographic techniques (Nuseibeh & Easterbrook, 2000; Viller & Sommerville, 2000) for eliciting, analyzing, and validating functional and nonfunctional software system product requirements. However, it appears that many in the software engineering community treat the process of requirements engineering as transparent and prescriptive, though perhaps difficult to practice successfully. However, we do not know how large distributed F/OSSD projects perform their development processes (cf. Curtis, Krasner, & Iscoe, 1998).