5. An Example
This section works through sufficient steps of the proposed methodology to explain the SSM-XP linkage.
This is illustrated through a fictional project for a pizza restaurant,
Pizza Promise, which provides home delivery in its immediate area. It is assumed that the
project has been instigated by the owner who is unhappy with the time taken to record customer details given
over the telephone and the time wasted during delivery when addresses are not recorded accurately. The
owner’s belief is that the situation can be improved by using a computing system to determine address details
from a post code and house number, and then using this information to label each customer’s pizza box, thereby
reducing effort and the risk of transcription errors.
The requirements here seem well understood but a broader
analysis is desirable to anticipate other opportunities for computer use to enhance the business.
For example, if customer records are maintained then a loyalty scheme might be introduced to offer discounts to
regular customers.
Step1. SSM: Express Problem Situation In the first step, a rich picture, depicting a shared
understanding of the problem under investigation, is developed. A picture for Pizza Promise is presented in
Figure 3. This has been simplified for illustration purposes. It shows all the essential elements of the pizza
restaurant business, including an indication that pizzas can be ordered over the counter at the restaurant as well
as by telephone, and that orders can be collected directly as well as delivered. In a full rich picture for this
situation, there would also be an indication of i all significant external dependencies, such as the suppliers
of raw materials; ii other areas of difficulty, such as slow deliveries when the restaurant is busy; and iii
other possible innovations, such as a lunchtime delivery service for local businesses.
Figure 3: Rich Picture for Pizza Promise
Step 2. SSM: Create Root Definitions From the discussion so far, it is possible to identify
several relevant viewpoints of this problem situation. For simplicity, just one will be considered here, namely
the central goal of providing a reliable, competitive and convenient food service. The six elements of the SSM
CATWOE analysis are shown in Table 3.
A root definition can also be presented as a single statement, of the form:
A Pizza Promise owned system to provide a reliable, competitive and convenient food service to the general
public in its surrounding area, using restaurant staff to prepare and deliver ordered pizzas, taking account of
the demand for pizza and the external factors affecting its accurate delivery.
Table 3: Sample Root Definition Components
Meaning
Customers The general public in the
surrounding area Actors
Restaurant staff Transformation
Prepare and deliver ordered
pizzas Weltanschauung
Provide a reliable, competitive and convenient food service
Owner Pizza Promise
Environment The demand for pizza; the
external factors affecting its accurate delivery
Home Delivery
Home Customers
Slow phone Order
Pizza Promise
Direct Collection Counter Orders
Preparation Computer Use?
Difficult Delivery
Proceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems ECBS’06 0-7695-2546-606 20.00 © 2006
IEEE
A10: monitor that the restaurant is providing a reliable, competitive
convenient food service, taking control action as necessary
A2: handle orders
A9: set staffing levels
A7: be aware of external factors
affecting service
A8: define expectations for
service A6: be aware
of demand
A5: prepare and deliver ordered
pizzas
TCA A4: be aware
of competition
A1: publicise service
A3 determine charges
Figure 4: Sample Conceptual Model
Step 3. SSM: Derive Conceptual Models Figure 4 shows a conceptual model derived from the
root definition described in Table 3. The model includes the transformation taken directly from the root
definition A5. This is essentially the central activity of the model. Another important activity is A10, which
monitors that the defined Weltanschauung viewpoint is achieved, taking control action if necessary TCA.
This can affect any other activity in the model. Activities are also added to handle the environmental
constraints listed in the root definition A4, A7 and to cover consequential or implied activities A1, A3, A6,
A8, A9.
Step 4. Identify Possible Computing Systems Possible computing systems can be identified by
working systematically through each activity in a conceptual model and noting opportunities for
computing support. Each activity may suggest a new system or use a system already noted. Table 4 shows a
list of possible systems for Pizza Promise, including a web site for the restaurant.
Table 4: Suggested Systems for Pizza Promise Activity
Possible systems
A1. Publicise service Restaurant web site
P1: Address System P6: Customer System
A2. Handle orders Restaurant web site
P1: Address System P2: Product Availability System
P3: Scheduling System P4: Order System
P5: Sales System P6: Customer System
A3.Determine charges P5: Sales System
A4. Be aware of competition
A5. Prepare and deliver ordered pizzas
P2: Product Availability System P3: Scheduling System
P4: Order System P5: Sales System
P6: Customer System P7: Stock Control System
A6. Be aware of demand P5: Sales System
A7. Be aware of external factors affecting service
A8: Define expectations for service
P8: Business Monitoring System A9: Set staffing levels
P3: Scheduling System A10: Monitor
effectiveness of service P4: Order System
P5: Sales System P7: Stock Control System
P8: Business Monitoring System P9: Customer Feedback System
As a clarification of the suitability and adequacy of these systems it is useful to set them out in a diagram
that shows their inter-dependency. Figure 5, for example, suggests the likely relationships among the
systems identified in Table 4. The functional details of these systems are not decided until the seventh step in
the development process, which deals with
the implementation of XP iterations.
Proceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems ECBS’06 0-7695-2546-606 20.00 © 2006
IEEE
Restaurant Web Site
Customer System
Product Availability
System Order
System Customer
Feedback System
Address System
Scheduling System
Business Monitoring
System Sales
System Stock Control
System
Figure 5: Computing System Dependency Model
Steps 5-7. XP: Release Plan, User Stories Iterations The initial motivation for the project was the
restaurant owner’s request for an address lookup system. From the SSM analysis this has emerged as one
element of a possible suite of inter-connected systems. The owner at this stage can still settle for that feature
alone but will be taking the decision with knowledge of the many more forms of support that could be provided.
Through discussion with the owner, a Release Plan can be produced suggesting an order of implementation and
the level of sophistication involved in each case. For example, a basic web site might be implemented
immediately,
giving information on the services available, covering opening hours, range of pizzas, and
contact information. This can subsequently be expanded to include online ordering when an order system and
customer system are being created.
The advantage of having the options laid out in this way is fairly obvious and, importantly, has been
achieved with relatively little effort because of the high level of analysis being performed. Much more effort is
needed in subsequently determining the detail of the user stories and the definition of individual iterations.
6. Conclusion