Case Study

To succeed, Visual Basic teams must work within an appropriate organizational structure, one in which the process of developing Visual Basic code is agreed on, well understood by all, and adhered to. Although the suggestions in the case study that follows are geared toward a particular real-world organization, some of the generalized suggestions are relevant for any Visual Basic 6 enterprise environment.

We were asked to "recommend an optimum Visual Basic development structure and process, irrespective of current process and structure." This request came from a new client who intended to migrate from mainframe systems. We were asked to consider the following questions:

  • How will Visual Basic software quality be maintained?

  • How will people multitask across new Visual Basic application development and mainframe application maintenance and support?

  • How will Visual Basic applications be installed, implemented, and deployed?

  • How will individual projects fit in with an overall distributed architecture?

  • How will the optimum culture and attitude be attained?

  • How will we make the team dynamic and responsive?

  • How will projects be properly planned, tracked, and managed, and who will be responsible for ensuring that this happens?

  • How will code reuse be achieved?

  • How should the company use prototyping?

  • How will external components (for example, ActiveX Servers, DLLs, VBXs, OCXs, and Visual Basic classes) be assessed, procured, and controlled?

The process described below was the result of a series of workshops with in-house staff. A summary of the process is illustrated in Figure 15-5.

click to view at full size.

Figure 15-5 A possible Visual Basic 6 development process

The Process and the Players

The diagram in Figure 15-5 shows process, not necessarily structure, so the boxes should not be construed as "departments." The approach is very project-based. The boxes are essentially people or teams of people, and the arrows are the "things" that pass between them. The following subsections summarize what each person/team does.

Business area steering committees

There is one business area steering committee for each business area. Each committee meets periodically to discuss projects and priorities and to refine its "plan." Business area steering committees look ahead about 12 to 18 months. Any request for a new project they generate has to be submitted to the IT steering committee, where the request is either accepted or rejected.

IT steering committee

When elephants fight, it is the grass that suffers.

African Proverb.

The IT steering committee meets quarterly and takes an overall view across the business areas. The IT manager is the IT department's representative on this committee. Considering both business priorities and the department's commitments and constraints, this committee accepts or rejects and prioritizes project requests from the business area steering committees. Like the business area steering committees, the IT steering committee looks ahead about 12 to 18 months.

IT manager

The IT manager needs to have an accurate picture of the activities of the entire department in order to commit (or not) to taking on a new project at the IT steering committee meeting. The departmental coordination team (see the following section) provides the departmental plan for this purpose. The IT manager informs the departmental coordination team of any new projects that have been committed to.

Departmental coordination

Next week there can't be any crisis. My schedule is already full.

Henry Kissinger

This "team" is the key to the process. It receives new project requests, maintains a departmental plan, manages resource levels, identifies project/resource conflicts, recruits staff, manages people issues (such as appraisals), promotes good departmental communications, and so on. When a new project starts, this team identifies a business analyst/project manager (see the next section) and a prototyper from the resource pool for that manager. Also, it creates a team from the resource pool to form a solution team. This team always has a technical lead, who is the day-to-day project team leader and is the liaison with the business analyst/project manager. The project plan that the business analyst/project manager draws up must be incorporated into the overall high-level departmental plan, and any amendments during the tracking of the project must also be incorporated. Incorporating these changes is an automated process.

Business analysis/Project management

The business analysis/project management team consists of people who are specialists in particular areas of the business. A business analyst/project manager is responsible for a project from start to finish, including both technical and user-related tasks (such as user training). These teams have a lot of user interaction and might receive project and enhancement requests from the users. They manage the requirements specification and prototyping. After the solution team (described below) has built the system, the business analysis/project management team is responsible for performing acceptance testing along with the users before passing the system on for implementation.

Resource pool

The resource pool is a virtual pool of people; that is, it doesn't exist as a team or department and hence requires no management. It's just a pool of people that the coordination team draws from to create solution teams. Its "members" possess a wide range of experience and skills. A person in the resource pool could at any one time be multitasking across projects and wearing different hats on different projects.

Solution teams

Solution teams are formed to actually produce the systems. Solution team members are responsible for the design, code, unit test, and system test of a system. They work closely with the technical services team (see the next section) and have the following responsibilities:

  • Ensure that the project design fits with the overall architecture

  • Reuse any generally available components

  • Have their deliverables reviewed and sent through a quality assurance test

Technical services

The technical services team provides a wide range of technical services—mainly to the solution teams—including those listed here:

  • Promote reuse by taking generally useful code from solution teams and turning it into robust components that other solution teams can benefit from

  • Dictate the overall architecture that solution teams must fit their systems into

  • Provide a QA function to ensure that solution teams are producing high-quality deliverables

Users

To get maximum benefit in the Visual Basic/RAD world, users need to become much more heavily involved with projects than they have traditionally—in fact, to the extent of becoming team members. Their role is particularly important during the early stages (such as helping to develop prototypes) of the process and toward the end, at acceptance test time.

Support/Help desk

The support/help desk serves a reactive function, typically receiving problem reports as its stimulus. These reports are either dealt with within the team or passed on to a maintenance team, which fixes problems.

Maintenance team

The maintenance team is a group of people staffed from the resource pool. Typically, a team member stays in the maintenance team for a period of about six months. The primary roles of the team are to deal with any bug fixing in live systems and to add small features requested by users. During slack periods, this team does housekeeping tasks, performs reviews for the solution teams, and the like. A dedicated maintenance team is required so that solution teams are not constantly interrupted by tactical firefighting and therefore have a better chance of sticking to project plans.

Implementation and deployment

This team implements systems in both the test and production environments.

Operations and networks

This team is responsible for the day-to-day operation of the environment, systems, and networks.

The need for consistency, coordination, and design across all projects is vital. In this case study, this framework is provided mainly by the coordination team and to a lesser extent by the IT manager and the technical services team.



Ltd Mandelbrot Set International Advanced Microsoft Visual Basics 6. 0
Advanced Microsoft Visual Basic (Mps)
ISBN: 1572318937
EAN: 2147483647
Year: 1997
Pages: 168

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