Agile/XP Transitioning Services
Transitioning to Agile/XP will affect many people in your organization. Your managers, developers, product managers, technical leads, quality control leads, documentation specialist will need to learn new skills, take on new roles and assume new levels of responsibility.
To make the transition as effective and efficient as possible, Object Mentor offers a unique transition package that provides a combination of on-site team coaching, mentoring and training. During the transition period, our coaches lead your team through a series of development iterations. Initially, your team will rely heavily on our coaching expertise to guide them through the process. However, as the iterations progress, your team will gradually assimilate the Agile practices and processes. By the fifth iteration, your team will be "flying solo" and you will have a software development team that can:
- create and manage requirements
- plan and schedule those requirements for production
- develop and verify those requirements
- create working software releases every two weeks
- generate believable progress and status reports on a daily and weekly basis
- embrace and react to product changes with agility
- have your trust
- operate as an aggressive, motivate team
Our Coaching Team
The Object Mentor coaching team consists of software and business professionals who have at least 10 years of experience. Our mentors are all very accomplished practitioners and leaders. The coaches include:
- Two Software Development Coaches will be
dedicated solely to your project. These mentors will work with the development team, teaching and coaching the necessary programming and planning skills.
- One Business Coach will work with the development team and the business team to help reorganize the roles and responsibilities and develop the appropriate skills. The goal is to establish an aggressive flow of requirements from the business to the development team; and a capable planning and management process for directing the on-going development. The business coach will be on site for approximately 3-4 days per month.
- One Industry Expert will visit your site for at least two days at least twice during the transition period. Object Mentor has access to a wide range of leading industry experts. These experts provide a refreshing outsider's perspective on how well your software project is aligned with your industry.
The activities that we provide and facilitate are focused on improving your teams’ skills while they get their projects done. As such, we continually calibrate the schedule of those activities to the needs of your team and business. We start with a 12-week model and work with your team to refine the schedule based on each projects’ constraints. Our programming and business coaches will work with you through a series of iterations, each lasting 2-3 weeks. Each iteration will begin with assessment and planning, followed by software development, verification, and feedback. The business coach will be present at critical periods in each iteration to help the whole business through the transition.
The transition begins with a 2-3 week period of overview, assessment, and exploration. During this time, our coaches will work to understand your project, team, culture, and environment. They will get the requirements and estimation process started. They will teach a 2-day Overview Course to your developers, analysts, managers, and executives. They will also teach a 2-day Planning Course to your programmers and analysts. In addition, they will talk with various people throughout your organization in an attempt to educate and understand. By the end of this period, your team will have the skills and confidence to begin their first iteration.
- First Iteration
The first iteration begins on the third or fourth week of the transition. It starts with the creation of a release plan. The business and programming coaches will work with your team to collect and estimate requirements, and plan the production of the next several iterations. This plan will be rough, but will set the context for the rest of the transition.
Next the team will create a detailed plan for the iteration. Requirements will be selected and scheduled. They’ll be broken down into tasks, re-estimated and allocated to developers. Progress throughout the iteration will be continuously measured and reported.
At some point in this iteration, one of the programming coaches will conduct a two-day Test First Design Course for all the developers. This may be done as a formal course, or as a set of lunchtime learning sessions, or in some other manner, depending upon your environment, culture, and schedule.
After two or three weeks, the iteration will close. The programming and business coaches will be on site for the post-assessments and subsequent planning of second iteration. During this iteration, most of the kinks in the organization will be identified and potential solutions will suggested. By the end, your team will know how much they can really get done in an iteration, and will have a much better understanding of what impediments and organizational challenges they face.
- Second Iteration
The plan for the second iteration takes account of the team velocity achieved in first iteration. During this iteration, the potential solutions suggested at the end of the first iteration will be tried. Some will succeed, some will not. Everyone will learn. During this iteration, the programming coaches will conduct a Refactoring Course .
- Third, Fourth and Fifth Iterations
During the last iterations, the team will continue to refine its skills and organization. The goal is for the fourth or fifth iteration to progress with a minimum of interventions from the our coaches. However, those coaches will maintain their normal schedule and continue to coach the team as necessary. By the fifth iteration, your team should be ready to "fly solo".
During the transition, the following skills will need to be developed by your software development team. Object Mentor will provide a combination of hands-on mentoring and classroom training to assist your team in their skill acquisition.
- Extreme Programming Practices
These practices enhance the specification, planning and execution of software development. With these skills developers and business people are better able to form, execute, and manage the software development schedule. Analysts are better able to specify, verify, and adjust feature sets. Programmers are better able to create high quality software and the test suites to prove that quality. These skills include planning, test first programming, refactoring and acceptance testing.
- Software Dependency Management
These skills enhance the programmers’ ability to create flexible and pluggable software. Using these skills programmers will be able to make existing code more flexible, and create new code without compromising that flexibility. These skills include object-oriented design principles and design patterns.
These skills allow your own people to take over for us after we leave. We find and develop the people in your organization who can best take over the role of coaching when we leave.
The transition package includes several training courses. Some are conducted on site as part of the iterations, while others are available off site.
- XP Immersion
This package includes attendance at XP Immersion for three of your employees. XP Immersion brings together several industry experts, plus many other Object Mentor coaches, for a five-day intensive session doing XP. During the Immersion, evenings are filled with talks by guest speakers and industry experts. It is a very engaging and highly charged environment in which to really get to the heart of XP and how it can change the way the company develops software. It is recommended that several of your people attend this course just prior to the Transition.
- XP Overview
This is a two-day course to explain XP to developers, analysts, managers and executives. It is usually conducted on-site during the first two weeks of the Exploration phase of the Transition. The first day is the most appropriate for managers and executives as it describes the business, planning, and management aspects of XP. The second day is more for programmers as it covers the programming practices in more depth.
- XP Planning
This is a two-day course that goes into depth on the creation and estimation of requirements; and on the planning and management of the iterations. It is conducted near the end of the Exploration phase of the Transition. Programmers, analysts, and project managers should attend.
- Test First Design
This two-day course is usually taught during the first pr second iteration. The venue may be a formal two-day course, or it may be a series of long lunch sessions – whatever makes more sense. This class teaches the programmers the importance of unit testing, and the technique of completely covering their software with unit tests that are written in conjunction with the code. Testing is at the very heart and core of XP. This course drives that point home. The goal is to make testing an intrinsic practice of every programmer.
This two-day course is usually taught during the second iteration. Again, the venue is chosen based upon what makes the best sense for the team. The class teaches the practice of using the unit tests as a lever to progressively improve the structure of code instead of letting it degrade into an unmaintainable mess. This course also teaches the principles that describe what “good” code looks like. The goal of this course is to teach the developers the techniques of good workmanship, and to take pride in their work.
- Object-Oriented Overview for Managers
This course provides a current look at the issues with software development that warrant an investment in the use of OO and how to deploy OO in the organization. It is critical that managers are up to speed on OO and have the right expectations from OO in order to help the engineers succeed.
- Principles of Object-Oriented Design
This course teaches the principles of object-oriented class and package design (OOD). The principles are taught in a series of lectures, discussions and intensive lab exercises. The students work in teams and use UML to design solutions to the problems. The teams discuss their solutions with the instructor and the other teams in a dynamic environment of inquiry.
- Object-Oriented Design Patterns
This course explores advanced principles of object-oriented design by studying design patterns. This course demonstrates the understanding and application of important design patterns, drawn from a variety of sources and illustrated using examples and exercises.
- Object-Oriented Language Courses (C++, Java, C#)
These week long courses teach these languages in the context of good programming practices and with reinforcement of the design principles taught in the Principles of Object-Oriented Design course.
Teams undergoing change typically experience high levels of anxiety as they learn the new process and become proficient in its use. In addition to formal communication supporting the team’s progress, informal methods also have a positive impact. Although managers are often aware of the need for these informal activities, the logistics of implementing them are distracting if not prohibitive. Object Mentor has the resources to create prizes, rewards, posters and other items to reinforce the teams success. Our proposal includes the creation of such items as are appropriate to fit in with the culture of your organization.
Other Development Teams
Due to the size of the development team, there will be some developers and teams that are not directly involved in the coaching activities. It is important for those people to feel as included in the transition and skill development activities as possible in preparation for their own skill development. The Business Coach will take responsibility to work with those not directly involved to communicate what the rest of the organization is experiencing. This is accomplished through learning sessions that last a few hours and through informal meetings to clarify the practices being used and to advance the understanding of those not directly involve. All of the coaches can also direct the other teams as to how they can advance their skills through self-learning activities.
If you are thinking of migrating to an Agile/XP development environment, you owe it to yourself to consider using this unique transitioning service. Over the years, we have performed many successful transitions for several Fortune 500 companies. We first began offering this service back in 1999 by working extensively with Kent Beck — the father of Extreme Programming. Today, we are the premier source of Agile/XP transitioning services.
For more information on our transitioning services,
email us or call us today at 1-847-249-4209.