CaseComplete allows you to partition your items into separate folders, called packages. Packages provide organization to your project. For example, you may want to keep requirements and use cases segregated by the area of business concern.
In addition, by storing items in packages, multiple users can work on the project simultaneously. When you start editing an item, the owning package gets checked out, preventing other users from making changes to it. However, they can be making changes in their packages. When you're satisfied that your changes are complete, you check in the package, making it available to others. Learn more about working in teams.
To create a package, right-mouse click on an existing package in the Project Browser (new projects only have the single top level package). Choose Add Package from the context menu and change its name to something meaningful.
By default, a new package will be saved in its own file. This approach lets you lock the package file to prevent a teammate from making changes to it while you're working on it. You can however, indicate that the package (and its contents) be saved in the same file as its owning package if desired.
Deciding how to organize your project requires some thinking about how different parts of the project might be worked on by individuals, since when a file is checked out, that blocks others from working on it. Start by thinking about how responsibilities for updating the project are going to be divided among the team members. For example, if different people are responsible for use cases concerning people, facilities and projects, start by creating packages for each of those areas. Then organize your project by creating or moving the use cases, actors and requirements into the appropriate package:
Assuming you chose the default option to store the packages as separate files, then each one can be checked out without locking up the other packages. Even though the packages are stored in separate files, when you open a project to start working on it, you only need to open the main project file because it ties all of the packages together with references:
If you chose to save a package in the same file as its parent when you created it, but later decide that you want it saved in its own file, simply right-mouse-click on the package and select Save in separate file:
Packages that are saved in their own file will have a small symbol placed next to their icon in the project browser.
You probably won’t want to structure your packages solely around work breakdown – having packages named for each team member might make sense in the short term but will quickly lose coherence over time. Instead, use the areas of responsibility along with the logical breakdown of your system to guide your structure.
Be careful about the granularity of your project structure. If you don’t partition the project sufficiently, your team members will be contending for checkouts. On the other hand, not every package needs to be stored in a separate file and version controlled separately. Too many “moving parts” can make things overly complex. Fortunately, CaseComplete makes it easy to refactor your project and to move things around to tailor the project to your team’s needs.
Comments