DefinedProcess

Last edit May 31, 2005
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 (ProcessAsPattern ?) 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." --- MrAristotle

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 Examples 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? -- JimCoplien

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 - RonJeffries


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. -- KentSchnaith


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, IsoNineThousand? --RonJeffries

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. --ChristianEdwardGruber
Also see:
CategoryPlanning