|Read more about this book|
(For more resources on IBM, see here.)
Scrum is a concrete discipline of Agile software engineering. While Agile methodologies place emphasis on the principles and benefits of the iterative and incremental software development, Scrum constitutes a concrete set of management practices for highly flexible and productive teams.
Scrum is a popular form of Agile methodology practiced these days. In this article, the BookManager application uses the Scrum development template.
The central idea behind this section is to be aware of the process-oriented workflow in Rational Team Concert. We will describe this by using the Scrum process and see its integration into Rational Team Concert.
We will now see various aspects of how Scrum is supported and practiced through Rational Team Concert.
Rational Team Concert starts the infusion of the process right at the time of the Project Area creation. This means that you can decide to choose a process from the available templates and attach it to the Project Area. From then on, the project and team has the ability to conform to the chosen process. If the project has more than one team, different teams may participate at different times and may follow a different process. In this situation, you can create Team Areas for different teams and add team members, roles, and customize process, if needed.
You could deploy the default available templates or create a templates from an existing one that suites your team and organizational needs. Creating a new template or initializing the project with available template is only the starting point. With the progress of the project, you can change the template to fit your team. In traditional software development, we see various tools that are bundled without seamless integration, and often the user needs to navigate from one tool to another to get a task done. Typically the process conformity is achieved with the help of various team meetings, spreadsheets, checklists, and others that are outside the tools or software development infrastructure. However, with Rational Team Concert, the process, team, and development tools are all integrated into one. As a team member, you don't have to worry about the process conformity or process knowledge as long as the administrator configures the process templates as shown in the following screenshot:
The ability of the tools to understand the project and process is one of the core concepts of Rational Team Concert, called Process aware tools.
Open the Project Area description of BookManager Project from the Team Organization view. The Project Area editor has several editor tabs that describe members, release plans, process configuration, work item categories, and others.
The Project Area's Overview tab contains the crucial information about the process. It has the name and short description about the process attached to this Project Area. In our case, you see Scrum as the selected process template. This tab also has the list of project members. Depending on the process selection, the process roles assigned to a user may change. Rational Team Concert has widely accepted user roles from the Scrum process such as:
- Scrum Master: A person responsible for the project.
- Product Owner: Person responsible for managing the product. He is also the person who will manage the product backlog
- Stakeholder: Any party interested in the outcome of the product, such as internal management,a partner,or a customer.
- Team Member: A member of the cross-functional team who works for this project.
During the Project Area creation, the second step is to choose the process template. As an administrator, you need to make sure that the available templates are deployed. By default, the English (United States) locale is selected for the selected Scrum template. Depending on your country and language, you will adjust the locale. Be sure the project is initialized by ensuring that the default setting that says Automatically initialize the Project Area on Finish as specified in the process templateis selected, as shown in the next screenshot.
Project Area also defines the project time lines. When we create a Project Area with Scrum process template, by default Rational Team Concert creates a main release, Release 1, with two sprints namely Sprint 1 and Sprint 2. It also creates a product backlog. As an administrator, you will attach the process template to the project. The rest of the work is done by Rational Team Concert, giving you a ready-to- use system
The Scrum process template comes with default user roles, namely Stakeholder, Product Owner, Scrum Master, and Team Member. You can also add additional roles that are in your organization, as shown in the following screenshot:
To define a new role, go to the Process Configuration tab of the Project Area. In the Defined Roles section, you can add a new role by clicking on the Add New Role icon. You can define Cardinality to allow this role to be assigned to multiple members or to a single member, as shown in the following screenshot:
Every role defined in a process template needs to have permitted actions. This is configured by navigating to Project Configuration|Permissions in the Process Configuration tab. Select the Domain Specialist role and grant the necessary actions. In our case, we have given access to the Domain Specialist so that he is able to create and save dashboards and review the work items.
Configure the permissions and behavior of operations, that are associated with a team area from Team Configuration|Permissions. The options in this section can be further customized in Team Areas. These options can also be configured differently for a particular timeline, iteration, or type of iteration.
Optionally,you can enter a custom message explaining why permission is denied for a combination of a role and action.
You have seen that the Scrum template not only gives default roles and permissions in the context of Rational Team Concert, but also gives you the power to add and further customize the roles and permissions.
|Read more about this book|
(For more resources on IBM, see here.)
One of the guiding principles of the Agile methodology is emphasis on individuals and interactions over processes and tools. Rational Team Concert gives every possible emphasis on people and teams by providing an integrated approach on collaboration. Team and individual interaction is supported via a variety of tools within.
At a bare minimum, teams can interact with the work item-aware Instant Messaging via Google Talk. In a more sophisticated integrated approach, you can use Lotus Sametime, which is a client-server application and middleware platform that provides real-time and unified communication and collaboration for enterprises. These capabilities include presence information, enterprise instant messaging, web conferencing,community collaboration, and telephony capabilities and integration.
Team members have the ability to share their availability with the entire team as seen in the previous screenshot. This makes it possible for all the members to be aware of what's happening in the team. You can quickly look at the scheduled absence view of team member to know why a team member is not online or responding to e-mails. This information is also considered for the calculation of the team load and burn down charts. In traditional tools, this information needs to be updated in several spreadsheets or disparate systems, and any project report needs to pull the data from different systems, which is time consuming and error prone.
As seen in the previous screenshot,individuals can define their availability for the project. In a globally distributed team, it is necessary to know a team member's time zone and project availability. This can be captured by the team member in the Work Environment tab of the User editor.
You,as a team member, can enter the time zone, work day schedule, and work assignments. Work assignments have the interesting aspect that you can see who is dedicated to multiple projects, if any. These integrated collaboration features, combined with the powerful features from work items, increase the team's productivity.
Work items are a way to keep track of issues and tasks in a project during the development lifecycle. They are the indicators of the project progress. Depending on the process template attached to the project, the types of the work items will change. In the case of the Scrum process, the work items are a combination of the generic work items and types specific to Scrum:
- Track Build Item
- Adoption Item
Attaching the Scrum template to the Project Area creates all the necessary work item types. You can observe that we did not create any new work items types for the Scrum process and as soon as the Project Area is created, we have everything ready concerning the Scrum process.
Product Managers or Product Owners can create Epics or Stories as work items and start tracking them. A work item has several features integrated into Rational Team Concert and provide a way that you can leverage to increase team productivity, such as:
- Assign the work items for a specific Sprint or Backlog.
- Attach needed information such as documents,spreadsheets,presentations, and other external information.
- Link other work items and maintain various relationships such as parent, child,related,duplicate,and depend-on relationships.
- Add one or more team members or stakeholders as subscribers to an Epic or Story.
- Add one or more approvers to the work item. In practice, you could add a stakeholder or a domain specialist as reviewer for this Story or Epic.
- Finally, each work item has the complete changes on it recorded and can be seen in the History tab.
Project administrators and team members benefit from the work item changes that happen on the various project reports in real time. Work items are neatly integrated into the team, process, and source control system of Rational Team Concert. Automatic generation of the work item infrastructure is a powerful feature that reduces a significant manual effort.
A repository workspace is a private development area where you can keep your work. Your work remains private to the workspace until you decide to deliver it to a team flow target such as a shared stream.
In traditional software development, it is difficult to deal with constantly incoming changes,such as when you, as a team member, are working on a work item and another higher priority task comes up. If your manager asks you to work on this higher priority task immediately, then you are left in a messy state with your previous work. You will manually copy these files to a temporary location and start working on the new task. We are not always in a position to revert the working files as considerable work may have already been done. So, in a situation where there are many high-priority tasks coming in and the dynamic workplace leaves you to juggle with the working files, the real challenge in this scenario is the manual effort of merging the conflicting files later on.
Rational Team Concert enables you to respond to dynamic environments and unscheduled work priorities. With the help of the repository workspaces and change sets, you can do various actions to work with the new work items such as:
- Deliver: The change set is marked as complete if not already completed, and then flows to the workspace's current flow target.
- Suspend: The change set is removed from the local workspace but preserved in the repository so that it can be restored when you want to resume work on it.
- Discard: The change set is discarded and the items revert to the state they were in before the first change was made. This operation permanently undoes all the changes in the change set.
As an example, consider a scenario where you are working on a task and make considerable changes to source files. When an urgent task comes in, Rational Team Concert empowers you to make variety of decisions. You can deliver the current changes if they are complete, suspend the changes to complete this urgent task, or discard the changes made till now to work on the new urgent task. From the context menu of the change set in the Pending changes view, you can take the most appropriate action. Without this capability, you may need to manually back up the incomplete changes to work on them at a later time. The following screenshot shows the context menu on a change set:
Responding to change is one of the primary principles of the Scrum, and Rational Team Concert enables a controlled and careful change mechanism. You can check-in your changes into your own repository workspace and later decide if you want to deliver into a flow target. This way all your work is preserved and you can adapt to the ever-changing priorities.
Scrum Master,Product Owner,Team Member,and other stakeholders need to have a real-time view of the project progress, including any impediments. Rational Team Concert provides a real-time view of the overall project progress via dashboards accessed from the web interface, as seen in the following screenshot. Remember that the source control, work items, and process templates are all seamlessly integrated, which gives a real-time view of the project progress.
In the previous screenshot you can see the Sprint burn down chart and the open work items. Teams can use the burn down charts for the daily Scrum meetings. This report plots the remaining backlog of work in terms of the time estimated to complete it. Ideally, the chart will show a trend toward zero hours of remaining work as the sprint comes to a close. Only work items that are open, are in progress, and have an estimate specified are included in the calculation.
As an administrator you can get various reports based on the work items and assignments. This helps understand the number of outstanding work items for each team member. For any stakeholder of the project, reports give a real-time view of the project progress and you can generate reports on what you feel is important for you.
Scrum advocates the continuous release of the working software and getting immediate feedback from the customer. At the time of Project Area creation, Rational Team Concert will also create the Main Release as Release 1.0 and two sprints, Sprint 1 and Sprint 2, by default.
As seen in the previous screenshot, depending on your project requirements,you can create one or more Sprints that would constitute a main release. In our case, we have Sprint 1 and Sprint 2 that would get released as Release 1.0. From each of the Backlogs you see in the Team Artifacts view, you can see the items that are yet to be worked on. The idea is that the Product Backlog has the list of all the tasks that are yet to be scheduled, and the Release backlog has list of all items that actually planned for the release. The Scrum Master would schedule tasks from Product Backlog to a specific Sprint, which would also show up in the Release backlog.
Your team can use the Rational Team Concert Build component of the Jazz technology platform to define and manage the builds. Your team can have build awareness through build monitoring, build alerts, build result viewing, and linkage of builds with other artifacts such as change sets and work items.
When you create a build definition, you have the option to create a dedicated repository workspace for the build. Dedicated build workspaces enable you to identify changes and work items that go into a build, and to create snapshots of the build source content.
With the help of the Team Build component, Rational Team Concert provides support for continuous integration and nightly builds. As an administrator you can schedule the builds at a specific time, and team members can request a build on-demand. You can leverage any existing ant scripts in the project.
You saw in the above sections that once the Scrum process template is associated with the Project Area, you get a fully functional process infused into the client. Various aspects of the project and team, such as Work Item types, release management, Role definitions, and others, are defined by the process template selection. You have also seen that Rational Team Concert completely supports the various aspects of the Scrum process.
In this article we took a look at agile development. We have used the Scrum process for the BookManager application. We did a deep dive into the Scrum development and integrated support from Rational Team Concert. We have seen how team members and Scrum Masters can leverage various features and reports.
- FAQs on IBM Lotus Notes 8.5 [article]
- How to Set Up IBM Lotus Domino Server [article]
- IBM Rational Team Concert: Team Collaboration [article]
- Replication Alert Monitor: Monitoring Management [article]
- IBM FileNet P8 Content Manager: End User Tools and Tasks[article]