Defined Process

Use a Defined Process to accomplish a job.

Problem How to do a job:

Determine what needs to be done

Decide how to do it

Do it

Check to make sure it is correct

Fix any problems

Deliver the final result

How do you know what needs to be done, and decide how to do it?

Agent

Yourself

Context

When you need to do a job, and want to improve your working efficiency.

Demands for accuracy, precision, and completeness exceed informal methods.

A systematic framework is required to insure that all the details are properly handled.

You want to balance the legs of the

Schedule(Time) - Cost(Resources) - Quality(Features) triangle.

Forces

A well-ordered and structured process can greatly improve the efficiency and effectiveness of purely routine tasks.

Order and structure will inhibit the creative process.

Solution

Use a defined process when you want to improve your work.

Treat the creative and routine differently.

Break the job up into tasks, and separate the routine tasks from the creative tasks.

Rule

Provide scripts (Process As Pattern ?) to make the job easier to do by showing what needs to be done and how to do it.

Provide forms to gather and retain data in a consistent manner.

Provide standards and checklists to guide your work and provide a basis for verifying product and process quality.

Provide process improvement provisions to ensure the process will evolve to meet your ever-changing needs.

Steps to define a process:

Determine your needs and priorities.

Define the process objectives, goals, and quality criteria

Characterize your current process.

Characterize your target process.

Establish a process development strategy.

Define your initial process

Validate your initial process

Enhance your process.

Reason

Defining the tasks makes it easier to accomplish a challenging job, adds consistency, and enables you to make meaningful measurements.

A defined process allows you to separate the routine work from the creative work.

Once the creative tasks have been separated and bounded, the routine tasks can be made much more accurate and efficient. * Reducing the time required for routine tasks gives you more time for creative tasks.

Benefits

It enables effective communication about the process.

It enhances understanding, and provides a basis for automation.

It supports evolution by providing an effective means for learning and improvement.

It aids process management and planning.

"We are what we repeatedly do. Excellence, then is not an act, but a habit." --- Mr Aristotle

Resulting Context The next time you need to do the same job, you will:

have the scripts and forms of the process available to help you.

be able to collect meaningful data to help you estimate and plan future jobs.

References

Adiscipline For Software Engineering, Watts Humphrey, Addison-Wesley, 1995, ISBN 0201546108

Examples

Iso Nine Thousand (ISO 9000, ISO 9001, ISO 9000-3)

Related Patterns

Author(s)

Date(s)

22-Jan-97, 11-Feb-97


I don't understand how the solution balances the forces. I can define a process that offers no insight as to whether I'm doing what needs to be done. That a process specifies that something be done doesn't mean it needs to be done.

Also, how is the pattern different from: "how do I solve all my problems" for which the proposed answer is: "use a process"?

Last, if Humphrey is the cited example of this pattern, isn't the context limited to academic simulations outside professional practice? -- Jim Coplien

Cope, I'd be very interested in your comments on Humphrey's work and proposals, specifically your thoughts on the extent to which they apply in professional environments. Thanks - Ron Jeffries


I can see that this needs some work. Not only must the process be defined, but it must have a special quality that encourages people to apply it. I don't think I have communicated this yet. I'm more interested in process than in organization. I have little power to change the organization I work in, but I do have freedom to define and use my own personal software process. -- Kent Schnaith


How can we keep this pattern from leading to an ever-growing number of unmaintained and ignored lists of how to do things, ala, for example, Iso Nine Thousand? --Ron Jeffries

Ron, you can't. The nature of such defined processes is that they cope with change by adding more process. There's usually not much meta-process there to eliminate wasteful process. --Christian Edward Gruber


Also see:


See original on c2.com