Planning the Project Resources


It serves little purpose to have a comprehensive and well- considered migration plan if you don t have the time and resources to implement it. It is unlikely that infinite resources are available, so migration activities are bounded by available effort and financial support. Understanding the overall objectives, being aware of potential benefits, and being clear about what you must produce as a result of the migration project gives you the foundation you need to determine the resources and skill sets you need to complete the project successfully in the time allotted.

The resources and funds available to the project may already have been fixed by the project sponsor. If not, you should determine available physical and human resources at this stage so that you are aware of the resources and funds you have to begin with.

Sizing the Effort

During the assessment and analysis phase, you will have produced a business case that determined (in broad terms) the amount of effort required for the various options available to you. You can now decide whether to conduct a more detailed sizing study or to go ahead with the project based on the broad figures.

Migration projects are notoriously difficult to size , even with the most in-depth study. An appropriate strategy is to consider the migration as a series of deliveries, each corresponding to a subset of the requirements. The most essential requirements (and those on which they depend) should be part of the first delivery, with subsequent deliveries corresponding to less urgent requirements. This ensures that, if the project runs out of time or money, at least the significant requirements are dealt with. In addition, it may be possible to deploy the essentials of the migrated application early, so that its users can derive early benefits. Even if they cannot use the full application, the core migrated application can be used for:

  • User training.

  • Early validation of user requirements.

  • Scalability and performance testing.

Time is one of the most important factors in determining the scope and quality of any project. Among the questions you need to consider are:

  • Do you have (for example) three months, three weeks, or three days to get the job done?

  • How much time can you apportion to planning?

  • How much time must you dedicate to testing?

  • How much time can you set aside to deal with unforeseen issues?

  • How long will it take to produce a final deliverable ?

  • What additional resources may be available from outside the project; for example, could users be deployed as testers?

Picking the Team

Early in the project cycle, the people who will make up the overall project team must be chosen. This obligation is somewhat separate from the process phases of envisioning, planning, development, and testing. Nevertheless, the team members should be chosen in the envisioning phase or early in the planning phase so that their input can be beneficial to the overall process.

Whether the team is large or small, the MSF team model prescribes six goals for success. Every team must strive for:

  • Satisfied customers.

  • Delivery within project constraints.

  • Delivery to specifications that are based on user requirements.

  • Release only after addressing all known issues.

  • Enhanced user performance.

  • Smooth deployment and ongoing management.

The overall project team is divided into functional teams that interact with each other as peers, not in a hierarchical management-style structure. Each functional team and each team member has a well-defined role and a specific mission on the project. The functional teams are product management, program management, development, testing, user education, and logistics management.

The roles of the team model correspond directly to the six quality goals for an effective project team. Each team is responsible for assuring that one of the goals, the team goal, is completed, as follows :

  • Product management has the goal of assuring satisfied customers. Customers of the migration project include the sponsor who is paying for the migration and the end users of the application being ported.

  • Program management is charged with delivery within project constraints. To meet this goal, program management owns and drives the schedule, the features, and the budget for the project. As discussed earlier, there may be multiple, interdependent migration projects; and there will certainly be multiple deliveries within each project.

  • Development must deliver the project to meet the product specification, which is based on customer requirements. The developers are the team members responsible for porting the application itself.

  • Testing assures that the project is released only after addressing all issues. A migration issue is anything that prevents the migrated application from meeting its requirements. The testing team owns the testing process, test strategies, test plans, and the testing schedule.

  • User education is charged with enhancing user performance so that user productivity increases as a result of using the product. There are specific pressures on user education from the migration project, especially because of the potential for resistance to change.

  • Logistics management focuses on smooth deployment and ongoing management. It acts as the advocate for operations, product support, help desk, and other channels linked to the deployment of the migrated application.

Depending on the size of the project, team and individual roles may be shared by more than one person on a team or may be given to an individual, or one person may have several roles. For larger projects, each role may be assigned to a single person or a team of people with a team lead. For very small projects, a small number of people may take several roles within the framework.

For more information, see the Microsoft Solutions Framework ( http://www.microsoft.com/business/services/mcsmsf.asp ).

Subject Matter Experts

Having the right people involved with the project from the first day is a key factor for its ultimate success. The people that need to be involved include:

  • A sponsor who will champion the project with management and the customer.

  • Technical experts from each area of the application, including source, the build procedures, and scripting.

  • An information technology infrastructure expert who understands security, connectivity, and installation issues.

  • A testing expert who understands the functionality of the application.

  • Developers who are experienced in either or both UNIX and Windows platforms.

Having a sponsor from upper management helps promote the project to management and the customer. Because the sponsor is one of their own, the corporate decision makers are much more receptive to input from that person. The sponsor is also in a position to help if roadblocks or problems arise that can be solved only at the executive level. The product management role should be taken by the sponsor, if possible.

Technical experts with UNIX knowledge are responsible for analyzing the application sources, makefiles, and scripts to determine their cross-platform compatibility. Along with experts from the Windows side, they are also instrumental in making any modifications necessary to get the code running on the Windows platform. The role of the technical experts from both disciplines is to make architecture decisions and to implement required changes. The technical experts fill the development role and may be in other roles.

An expert from information technology assures that infrastructure issues do not derail the migration effort. This person must know about security within the organization and the steps that are necessary to give the team required access rights. The developers need to be able to get sources and run tools on both platforms. The end users will need to run the finished product and have access to any shared resources such as databases. The information technology expert may also be required at the beginning of the project to deploy application development and productivity tools. The information technology expert fills the logistics management role.

A testing expert allows the team to meet the goal of releasing only after addressing all issues. The testing expert formulates the test plan for the migrated application. Because developers make notoriously bad testers, a person not on the development team must fill the testing role.

The ideal skill set for a developer working on the migration project is a mixed background in both UNIX and Windows development. The primary software development skills required are:

  • Development languages (for example, C, C++, and/or Fortran).

  • Build and run-time environments (for example, make , gmake , ksh , csh ).

  • UNIX skills covering the architecture being ported (for example, X/Motif GUI, IPC-based services).

  • Win32 development skills (if very much of the code will be redesigned and rewritten).

Other important skills include a background in porting and other specific skills, depending on the nature of the application (for example, GUI or client-server development skills).

Training the Team

Team members that don t have the required skills should get training before the project implementation starts. This type of concern is usually in the areas of development and/or logistics management. The exact training required depends on the nature of the migration project; for example, if the migration will be to port an existing application, then the appropriate training would be for the development environments, such as Microsoft Visual Studio development system or Microsoft Visual C++ development system. Training in the Windows application programming interfaces (APIs) would also be helpful. Similarly, if you plan to use third-party tools either to aid in the port or as development libraries, then training from the vendor may be required.

If the migration from UNIX to Windows is using the Interix subsystem, then the team needs to understand the capabilities of Interix. The key here is to understand the differences between Interix and the version of UNIX that currently hosts the application. Because Interix is not UNIX, there is a chance that some issues will arise.

Training is available from Microsoft Certified Technical Education Centers (Microsoft CTECs) in many cities around the world. These centers offer instructor-led courses to teach you about all aspects of the Windows platform. Some useful material is also available online in Web format and in self-paced book or CD format from Microsoft Press.




UNIX Application Migration Guide
Unix Application Migration Guide (Patterns & Practices)
ISBN: 0735618380
EAN: 2147483647
Year: 2003
Pages: 134

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net