In the previous recipe, we explained how to split project in to versions/phases or work-packages. Now, we are going to split project into subprojects. The decision to split a project into subprojects or group tasks in versions is a matter of organization and management. From Redmine's standpoint, if you break some tasks into multiple projects as a subproject of one parent project instead of versions (phases), this will mean that you will have additional flexibility in defining modules and roles on each subproject. From a management role's usability standpoint, you are still going to be able to filter issues almost in the same way as if you were using versions.
Using subprojects can be a great way to organize your projects into a tree-like structure. If your company is large, and you want to manage projects from different departments through one unique location, Redmine can prove itself useful. Another scenario in which we need subprojects is when different vendors...