Training
I am going to take you through the most common type of training curriculum to caution you, and then through the one that typically works, providing a much better return on your company's investment in training. The open enrollment training curriculum is the most common type of training that companies embark upon. Where there is benefit to this type of training, it usually pales in comparison to the goal-oriented, project-specific type of training that your mentors can deliver, which I will provide guidance on later in this chapter.
Open Enrollment Training
This type of training—"open enrollment"—is generally created so that it can fit any type of company and any type of development effort. Typically, it is created on a primary role basis, such as "Requirements Management with Use Cases," which is geared for the Analyst\Requirements Specifier roles. A typical open enrollment curriculum for the analyst may be RUP Fundamentals for two days, Requirements Management with Use Cases for three days, Fundamentals of RequisitePro for one day, and Fundamentals of Rational Rose for yet another day. That comes to seven complete, eight-hour days for training—YIKES!
What this training typically lacks is the specifics of your domain. The best-case scenario for this type of training, if you must go in this direction to start off with (usually due to political pressures or some other type of constraint), is to run a few of the courses and evaluate the effectiveness from the attendees. Were they able to put into practice what they "should" have learned when placed on real projects? This will give you some quantifiable data for justification to either continue this type of training or stop it.
Goal-Oriented Project-Specific Training
Are you now asking what you should do if the most common type of training does not yield effective results? Good, let's take a look at what I refer to as goal-oriented, project-specific training.
This type of training focuses on building an "agile" yet solid foundation in either RUP technique(s) or tool functionality that can be built upon by mentoring. Each one of the key areas that was identified as a significant pain point and high ROI item will have a focused training course developed that sets the stage for the mentoring that will immediately follow it. Table 9-1 represents samples of the type of training courses that you can consider for your implementation. These samples were created by taking the entire roadmap available from IBM Rational and identifying specific content that can be boiled down to the bare essentials that focus on a single technique. There are many sources in the industry for course content that has been developed by vendors (e.g., try Googling "RUP training material"—there will be pages of results for you to review). IBM Rational has some of the best material offered in my experience, and their training course content is available for purchase (discuss with your account team). This is one approach where you can take existing content and break it down into specific packages for each technique. Another approach is that you create the content from scratch, building it as your mentors work with project teams, learning what works and what doesn't. This latter approach is typically suited for small-to medium-sized organizations, where less formality is required for creating anything related to training content. At larger organizations, I usually see that much more formality and rigor is required for anything training related. Roles such as instructional designer, technical writer, and graphic artist need to be engaged, which increase the timeline to develop content that will actually be available for use to the implementation team. It is in this approach that I find great value in purchasing existing material and using it as the foundation. It typically saves money and significantly reduces the timeline. Consider these two approaches at varying ends of the spectrum, where you may end up in the middle based on the size of your organization and the formality required, creating some from scratch and purchasing content for others that are deemed more critical by your decisions makers.
Table 9-1. Sample Training Courses
Name |
Brief Description |
Prerequisite(s) |
Primary Role |
Estimated Course Duration |
RUP Fundamentals |
Training course for fundamentals of Rational Unified Process (based on the RUP adoption models) covering basic navigation, the key principles for business-driven development, and best practices. |
None |
Any role |
2–4 hours |
Use Case Techniques Fundamentals |
Training course for fundamentals on how to apply the RUP use case technique in adherence with the Enablement Office's validated use case style. [1] |
RUP Fundamentals |
System Analysts/Requirements Specifier |
2–4 hours |
Non-Functional Requirements Techniques Fundamentals |
Training course for fundamentals on how to apply the RUP techniques of capturing non-functional requirements in adherence with our Enablement Office's validated supplemental specification. [2] |
RUP Fundamentals Use Case Techniques Fundamentals |
System Analysts/Requirements Specifier |
1–1.5 hours |
Fundamentals of Requisite-Pro |
Training course on the fundamentals of RequisitePro and Requirements Management. [3] |
Use Case Techniques Fundamentals Non-Functional Requirements Techniques Fundamentals |
System Analysts/Requirements Specifier |
1.5–2.5 hours |
Fundamentals of Rational Rose |
Training course on the fundamentals of Rational Rose for Use Case Models. |
Use Case Techniques Fundamentals |
System Analysts/Requirements Specifier |
1.5–2.5 hours |
Use Case and Supplemental Spec "Consumer" Fundamentals |
Training course for any consumer of use cases and supplemental specification on how to utilize these artifacts combined with a fundamentals overview of ReqPro, where they will be managed. |
None |
Any role (IT and Business) that is a consumer of these artifacts |
1–2 hours |
Use Case & Business Models to Test Case Fundamentals |
Training course to develop test cases from use cases and business models. |
Use Case and Supplemental Spec "Consumer" Fundamentals |
Tester |
2–3 hours |
Rational Manual Tester Fundamentals |
Training course on manual test authoring and execution. |
TestManager Fundamentals |
Tester |
2–3 hours |
Rational Functional Tester Fundamentals |
Training course on automated functional and regression testing. |
TestManager Fundamentals |
Tester |
2–3 hours |
Each of the training courses in Table 9-1 would be tailored for each project team that they would be delivered to. This is the reason I refer to this type of training as "goal-oriented" and "project-specific," in that they provide value by using actual project inputs to deliver maximum value and information that the project team can identify with and use as part of the project deliverables. Tailoring each course may sound like a lot of work, but in reality it is not.
As an example, the course in Table 9-1 that I call "Use Case Techniques Fundamentals" is a course that teaches what a use case is from an overarching industry best practice context, as well as what a use case is in your company's specific domain. The tailoring portion is an activity that the mentor performs prior to delivering it. The mentor would take information from the available inputs (project charter, vision artifact, previous project artifacts, etc.) and write a few outlined use cases, as well as the beginning of a detailed use case that would be used for training the project team resources. This approach helps transfer the knowledge of what a use case is in a domain-and application-specific context that the project's team can immediately identify with. In practice, this has consistently provided vastly accelerated knowledge transfer; using an example that the resources know and can immediately identify with provides tremendous value. Now, everyone can identify with the classic ATM use case examples since almost everyone has used an ATM machine, but these types of examples lack in depth of detail and meaningful content, using something that is so far removed from the type of functionality that the project teams in your company will need to capture (unless you are working at a banking software company).
The project team members can spend just the few hours in "training" that is needed and immediately dive into the higher value activities—mentoring. Mentoring in this model also has a secondary benefit (the primary being the transfer of knowledge in the RUP technique or Rational tool functionality) of producing artifacts of the actual project. Training and mentoring activities cost time and money. There will be push back at all levels, from project practitioners to management, when a project team is going to apply RUP and Rational tools for the first time. Questions of impact to the timeline and resource cost will come up, such as: "If the project team is in training, they are not doing work on the project?" "Where will they charge their time, and how will this affect project deliverables not being produced on time?" Using this mentoring model, the material used in the sessions are actual project artifacts that the project team would need to do anyway; they will just be in the RUP style.
Now all you need is mentors—read on.