April 05, 2007
Enough of Processes: Let's Do PracticesPart II: Time for PracticesIvar Jacobson, Pan-Wei Ng, and Ian Spence
When processes can't cut it, practices offer an alternative.
Ivar is one of the "fathers" of components and component architecture, use cases, UML, and the Rational Unified Process. Pan-Wei and Ian are chief scientists at Ivar Jacobson Consulting. The authors can be contacted at www.ivarjacobson.com.
As we saw in the first installment of this multipart article, there are many problems with the current generation of software-development processesdenied commonality, incompleteness, out-of-sync processes, knowledge acquisition, and down-right stupid processes, to name a few. No wonder most developers don't like processes.
The good news, however, is that there is an alternativepractices, and there are hundreds of them. Some are generally accepted, others are unique to a particular methodology. But they all have something to offer, even though they can be hard to mix-and-match or use together. In our new approach, which we call "EssWork," these practices can be defined separately, and then composed into a simple ways-of-working where they are applied together. This allows teams to select the practices that they want, which are then assembled to describe their individual way-of-working.
In this installment, we examine what makes a good practice and identify the benefits of adopting a practice-based approach.
What Is a Practice?
A "practice" provides a way to systematically and verifiably address a particular aspect of a project.
It is important to note that:
Because of these qualities, practices can be developed, learned, and adopted separately, and they can be used in conjunction with other practices to create easily understood and coherent ways-of-working.
In short, a practice is a proven way of approaching or addressing a problem. It is something that has been done before, can be successfully communicated to others, and can be applied repeatedly to produce consistent results.
|
|
||||||||||||||||||||||||||||||
|
|
![]() |
||||
![]() |
|
|||
![]() |
||||
![]() |
||||
![]() |
|
|||
![]() |
|
|||