Software Work Product Model (swpm)

During the modeling of software processes, work products are traditionally treated as atomic units, with names but no structure, and they are generated or changed during the course of the projects. In fact, the language SPEM does not offer mechanisms to detail the structure of work products, allowing only identify whether it is an artifact, a deliverable or an outcome of the project. The typical work products in the software processes are often documents or source code and they are managed from specialized or generic tools. For example, software modeling tools such as Rational Rose, or version control systems such as Git are examples of specialized tools that provide support to the management of certain types of work products. However, other generic tools such as content management systems, document management systems and collaborative editing systems or wikis can also be used to manage evidences of the processes. The design of models for certain types of work products has been an approach used in model-driven web methodologies. However, it is common the need for adapting and customizing well-known methodologies for their application in concrete situations and in specific organizations, a.k.a. process tailoring. Therefore, a vocabulary to define flexible work products in terms of structure and type of its artifacts is proposed here.