Guidelines: Development Case
Topics
Explanation
Expressed in terms of business engineering, the software development process is a business process; the Rational Unified Process product is a generic business process for object-oriented software engineering. A development case is a static configuration (focusing on what to do, and how to do it) of the Rational Unified Process product, i.e., a business process for software engineering, tailored to a specific project, product, and organization. A development case should show how the generic Rational Unified Process applies to the context of your organization. This means that you will modify the process, and adapt the terminology. A development case should also provide an overview of the process to be followed, something digestible for everyone on the project. For details, the development case should refer to the Rational Unified Process, and other guidelines, or style guides. Process configuration is the activity of deriving a development case from the more general process presented in the Rational Unified Process. For a sample of a development case, see Development Case Sample. The person responsible for configuring the process is the process engineer. The process engineer decides how the development process should look, is responsible for "installing" the development case in the development organization (team, project or company), and teaching the developers how to use it. Keep in mind that introducing a new development process, such as the Rational Unified Process, into an organization is always a risk. You should always weigh the advantages of a new technique, against the cost of introducing the change. Introducing a change should be considered both from a managerial perspective as well as a technical perspective. Once a development case has been set up by the process engineer, the project manager can instantiate and execute it for the given project. This is often called process enactment. As the process unrolls, lessons are learned during the process itself, which are used by the process engineer as feedback to improve the process. Variable Elements in
Software Engineering Processes
This section reviews the constituents of a process that are likely to be modified, customized, added or suppressed in a given development case.
At a more detailed level, other elements of the process can be modified, added, or suppressed:
In summary, the process engineer has a wide range of decisions to make to create a well-adjusted development case out of the Rational Unified process. Finally, a development case may have to be adjusted to take advantage certain well-established company practices and standards: documents, terminology, and so on. Difficult Configurations
Certain forms of configuration are hard to implement and should be considered very carefully. For example:
Examples of "dangerous" words: system, phase, role, activity, model, and document. If the results of the process have to be captured in a language other than English, then terminology issues are more complex. In which case you have to translate the descriptions of artifacts, documents, reports and possibly other parts of the Rational Unified Process to this other language. Delegating Process Responsibility
The development case does not have to capture the entire process. In reality a lot of responsibility, and decisions about the process (and the artifacts in particular) are delegated to the members of the software development project. For example, if there is an experienced, good project manager, you may leave it to this individual to decide what plans to produce and how to produce them. In the same way many project managers does not bother how each team member design his/her part of the system, as long as they deliver the expected functionality, on time, with a reasonable level of quality. One reason for having a process description as all is for several people to share information. If this is not the case, then the cost of maintaining the process description may be too high. So, you may decide to not have and maintain the process description for one or several workflows. This does not mean that you do not put effort into that particular workflow, nor does it mean that you do not think it is important. For example, you may employ a very good test manager, give her all possible support, but leave it to her to decide how to work, and what artifacts to produce. Representing a Development Case Online
A development case can be represented in different ways.
One or several web pagesThe easiest is to represent it as a Microsoft® Word document, but we recommend you to represent the development case as one or several web pages with hyperlinks to the Rational Unified Process when needed. See the Tool Mentor: Adding External Links to Rational Unified Process, for more details on how to add hyperlinks to Rational Unified Process. If you have developed an organization-specific process product, based on the Rational Unified Process, the development case will, of course, have hyperlinks to it (see Concepts: Process Configuration, for more details). A web site with navigational toolsIf you want you could build the development case as a web site with navigational tools, very much as the Rational Unified Process online itself. For example, you can use web development tools such as Microsoft® FrontPage®, and the Rational Unified Process tools. The provide information on how to develop web pages, see Guideline: Rational Unified Process Style Guide. See the tool mentors that describe how to use FrontPage, and the Rational Unified Process tools, Rational Unified Process Development Tool Mentors. Integrated with Rational Unified Process onlineYou can also integrate the development case in the Rational Unified Process online. This can be done by just modifying the treebrowser, and add a new entry to the Development Case, and to the project-specific guidelines. See Tool Mentor: Modifying the Treebrowser for details. However, there is a clear drawback with this approach, since you will then make the Rational Unified Process specific to the project, by adding project specific information to the Rational Unified Process. This means that we can only recommend this approach if the Rational Unified Process online will be used in one single project. |
|
|