Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Design

Enough of Processes: Let's Do Practices


Where Do Practices Come From?

The idea of practices is not a new one. Practices have always existed in software development and, it seems, that every software development company in the world promotes its own set of "best" practices. However, no one has taken the time to define exactly what practices are or how to describe them in a sensible, reusable way. The reality is that there are hundreds of practices available for us to choose from, if only we could separate them from one another, understand the benefits they offer, and know when they should be used.

In the software development community, practices—like processes—usually come from one of three prominent camps:

  • Software engineering, which includes the Unified Process, Booch, OMT, Responsibility-Driven Design, Shlaer/Mellor, User-Centered Design, Open, and Feature-Driven Development, among others.
  • Process assurance, which includes CMMI, SPICE, Six Sigma, and TSP/PSP.
  • Agile, which includes XP, Scrum, Crystal Clear, Adaptive Software Development, and Organizational Patterns of Agile Software Development.

Many of these tangle together a number of (and sometimes share) practices. For instance, Scrum is a practice that is already presented in a separated and reusable fashion—as a management practice for the planning and execution of iterative projects. It is completely independent of the engineering and other practices that a team is going to use. This separation and the ability to mix-and-match Scrum with other practices is one of the reasons it has proven so popular and been so widely adopted.

Compare this with how iterative project management has been traditionally presented in the Rational Unified Process—as a tightly coupled, inseparable part of a much larger process that doesn't seem to be usable without the Unified Process lifecycle, use cases, components, or a strong focus on architecture. This has always made it almost impossible for customers to take the practices they want without having to take all of the other practices as well.

Thus, there are many places where you can already find practices: There are many well-formed practices already available, there are many practices embedded in existing processes, and there are many tacit practices experienced professionals communicate by coaching and example.

A good place to look for well-formed practices is in the way that training is presented and processes rolled out. The normal way to train people is one practice at a time. This is also the way that most successful process rollouts are undertaken.

Practices evolve from people doing their jobs and sharing their experiences. What we need is a better way to capture and share these practices, one that avoids "religion" and self-promotion, allowing each practice to stand on its own.

So in the future, instead of having experts contributing yet another process, they would contribute separate and distinct practices. Each practice will be complete and help teams drive their projects forward.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.