|
implementing a pattern programme |
We use a basic roadmap for change management, which comprises five streams across four phases. The specifics of a given process, method, technique or technology are placed as appropriate into this template.
Streams | Phases | How we can help | References |
Managing the Pattern Programme
Establishing a Pattern Capability |
Preliminary Assessment: Confirm planning priorities
Getting Started: Pilot project(s) |
Programme Planning and Management
Pattern Identification Workshops |
Patterns for
business, distribution and change
For general information about patterns and software patterns, visit the Patterns Home Page |
Although you can sometimes make good progress in one stream, you won't go very far without catching up on the other streams.
Creating and satisfying management expectations.
Balancing effort against results.
Coordinating effort in the other streams.
Delivering a satisfactory ROI on the programme as a whole.
Empowering individuals and teams to work autonomously and creatively with patterns.
Encouraging individuals and teams to participate actively in the pattern programme, through appropriate reward and recognition schemes.
Establishing specific roles and responsibilities in relation to patterns.
Implementing templates and procedures
Establishing support networks and metrics.
Finding and eliminating negative patterns, in legacy systems or current design work.
Using positive patterns in new design.
Managing patterns
Coordinating work across the enterprise through patterns.
In some cases, it may be decided to bundle other general software process improvements in with the implementation of patterns. There may be a serious problem in an area that is only indirectly affected by patterns, but the implementation of patterns provides an opportunity to fix other problems as well. This may be tactically appropriate in a given situation, but it complicates the plan, and will make it more difficult later to evaluate the costs and benefits of implementing patterns.
An initial set of procedures will be formulated for use by the pilot teams. These will be in draft form, with limited automated support. During Phase 1, the benefits of patterns will be small and localized. Phase 1 typically takes about 3-6 weeks.
In phase 2, we should be able to write down some procedures and guidelines, based on the experience of the pilot exercises. At this stage, it may be appropriate to consider automation of these procedures, using desktop tools.
During Phase 2, the benefits of using patterns should increase, and the organization should start to receive a positive return on its investment. However, some of the longer-term or strategic benefits of patterns may take longer to realise. Phase 2 typically takes 1-2 years. In a large organization, it can take considerably longer.
But before you get too far into the programme, it's important to consider the management issues properly, and produce (negotiate) a detailed plan. In any case, it's always a good idea to set the expectations yourself, if you get the chance, rather than wait for someone else to impose their expectations on you.
The plan usually covers the immediate phase in considerable detail, and broad-brush outlines of the subsequent phases. We are happy to participate in regular progress reviews and replanning sessions.
Many experienced designers initially find it easier to identify negative patterns than positive patterns, especially in the context of a design inspection. They start with a hunch or intuition that there's something wrong with some element or aspect of the design being inspected, and are then called upon to explain themselves.
Once the situation has been analysed, there are several possible outcomes:
Sometimes design inspections can also result in the identification of positive patterns, either by recognizing a particularly neat solution to a particular design problem, or when the inspector proposes an alternative solution to an identified design defect. However, until people have considerable experience with patterns, it is difficult to define patterns that are sufficiently clear and generic to be useful.
They may draw patterns either from the corporate pattern repository, or from public domain materials (such as books and webpages).
There are three main objectives for this workshop.
We can also take failed patterns - pattern definitions that your people find difficult or misleading to use in your specific context - and make them clearer, more powerful and more relevant.
Where a particular negative pattern has been recognized as a common bad practice within current design practice, you need to provide positive advice to designers. Instead of doing X, do Y. Y is now a positive pattern. It is often a lot easier to define Y from X, rather than from thin air.
Sometimes it may not be possible or appropriate to provide a single position replacement pattern. Instead of doing X, do Y1 or Y2 or Y3, ....
Where a particular negative pattern is widespread within legacy systems, then we need a replacement policy.
If the situation is severe enough, it may be necessary to fix all occurrences of this negative pattern immediately, or within a controlled timescale. (This was what happened when people discovered the pervasive use of two-digit year fields in computer software and hardware, shortly before the year 2000.)
In less severe cases, it may be enough to advise those looking after the system to watch out for this pattern, and to replace it whenever an opportunity arises in the course of other maintenance activity.
We can also provide coaching and mentoring, either to individual software developers and testers, or to those responsible for particular aspects of the pattern programme.
top | ![]() |
Copyright © 1999, 2000 Veryard Projects Ltd http://www.veryard.com/sqm/pattprog.htm |