Monday, June 26, 2006

Work models used in systems and requirements

Five different models provide five perspectives on how work is done. These are described in the following table.


Flow Model
=========


Usage: To capture communication and coordination between people and organization.


Description: This model offers a bird’s-eye view of the organization, showing people and their responsibilities, the communication path between the people independent of time, and the things to be communicated—either tangible artifacts or intangible coordination. It’s appropriate to use it for building a product for many customers. It helps to get most appropriate flow at abstract level which is useful for many customers. This helps to create a product for multiple industry segments. (E.g. ERP systems)


Sequence Model
============


Usage: To capture detailed steps performed to accomplish a task.

Description: The sequence model represents the steps by which work is done, the triggers that kick off a set of steps, and the customer intents that are being accomplished. This model starts with overall intent of the sequence and the trigger that initiates it. Then it lists each step in order. Steps that can cause problems are labeled with lightning bolt. This model is appropriate for building product for multiple customers to identify common intents and common steps.

Artifact Model
==========

Usage: To find out how artifacts are used and structured in doing the work.

Description: Artifacts are tangible things that people create or use to help them get their work done. Artifacts gives insight into following: Which information is important to user, How the information is used, How to organize information according to user needs.
In muli-customer product, it might not be very useful to study this model for every customer. Artifact model for one or two representative customers is good enough for design.

Cultural Model
===========

Usage: To capture culture and policy.

Description: Culture and policies of an organization typically influence how work is carried out. Lack of understanding of culture and policies might produce a system which is not acceptable or useful to customers. This model helps us to find influencers (people/organizations/groups) and the extent to which they influence the work. This in turn helps to design a system appropriate for a culture. This is useful in developing product for multiple customers to find out the culture at abstract level. Sometimes, nature of process drives a culture and it can be similar across organizations.

Physical Model
===========

Usage: Demonstrates the physical environment as it supports the work.

Description: Physical model reveals design constraints. The model represents how the work is structured at individual workplace and site. This model gives more insight into organization of environment used to carrying out a work. This model is not equally important for multiple customer environments since the physical model might be entirely different for each customer.




Reference :
Contextual design by Alen Cooper
and
My experience with these work models

Vision Statement in software project

Vision document describes application in general terms, description of target market, the system users and their profile, and application features. In summary, vision document is a concise description of everything which is most important about product and application.

In software development, development teams get grouped based on either similar technology or similar features. E.g. UI group, backend group, Java developers, Billing System team etc. As we go along, each group’s thinking becomes narrow and gets restricted to their own domain. These teams initially interact with marketing very closely but this interaction becomes infrequent during development cycle. The decision making during development is completely influenced by groups who have very good articulators. This type of development environment is not appropriate since it is not customer focused. Vision document helps to alleviate this problem if visited frequently during development cycle. This document connects customers, management team, marketing, development team, and project managers and helps them to come to a same play ground. It helps teams to understand the end customers, their bottom line, users who are going to use the software. With this understanding, decision making and priorities revolve around customers and their problems.

Vision statement enables team to produce a product which is easily acceptable by customers. Customers get features which they consider important because those features solve their business problems.