Software process part 2

I receive an email where the sender asked: “What is the difference between a software process and a defined process? What is the difference between a defined process and a personal process?”

By definition, a “Software process” is the sequence of steps that a software engineer MUST FOLLOW to do his work (What and What is next) but does NOT define how to do it. For example you must design before coding and coding before testing. It does NOT tell you how to design or how to code.

A “Defined process” is a documented sequence of steps REQUIRED to do a job by a software company. For example the company requires that all software people must follow the waterfall life cycle and all engineers must start the project with requirements before design and design before coding etc. If you ignore the sequence and start with coding than you are in violation of company’s defined process. A defined process provides the software engineer with a sequence of steps for all the works that software people must follow such as planning, tracking, and managing all software works correctly and completely. By following the defined process, the software engineer knows what to do and what to do next. The software engineer can also measure his work, tracking his progress against the project goals to make sure that he is doing it in correspondent with others in the project so they can coordinating their work to produce a software product accordingly.

A “Personal process” is a more DETAILED sequence of steps that guide the software engineer to do his OWN work. It is usually based on an established process such as the Defined process but MODIFIED according to his own personal experience. A personal process provides individuals with a framework for improving their work and for consistently doing high-quality work. The software engineer CREATES HIS OWN detailed process based on the data that he collects (Measurements) and make adjustment accordingly. This is his OWN way of follow the “Defined process”. For example if he follow his own personal process and found out it creates more defects than he must change it until it gives him better quality product.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University