Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [epf-dev] OpenUP/Basic Architectural Approach

In my experience how and how much of the architecture should be documented, is a collaborative decision between the consumers (most others but the analysts and architects), providers (analysts and architects), and other stakeholders (Architectural Review Board, PMO etc.) One size does not fit all. 4+1 (+data+service) views could be explained in OpenUP guidelines by the particular concerns they address. However allowing agility in architectural description is very important, I have seen excellent projects with architectures drawn from whiteboards to napkins to Visio diagrams, and also, the 4+1+1+service views. I attribute the power of the human brain to its ability for fuzziness (say, a Visio diagram implicitly combining some of the 4+1+1 views, or other suitable means.) That, I believe should be leveraged in OpenUP.
 
 
-----Original Message-----
From: epf-dev-bounces@xxxxxxxxxxx [mailto:epf-dev-bounces@xxxxxxxxxxx]On Behalf Of Scott W. Ambler
Sent: Tuesday, November 28, 2006 8:34 PM
To: Eclipse Process Framework Project Developers List
Subject: Re: [epf-dev] OpenUP/Basic Architectural Approach

Architecture is a touchy subject in the agile community.  What I've written about architecture, do a little bit of sketching on a whiteboard up front to give you an initial vision and then move forward from there, is seen as far too heavy.
 
4+1 is going to turn off a lot of people.  It already does in the RUP, let alone OpenUP.  Maybe we should mention it in a guideline somewhere, but I wouldn't have that in the main text.
 
With agile approaches we treat documentation like any other requirement -- we prioritize it, estimate it, and put it on the stack along with everything else.  The architecture should be documented only to the extent that the stakeholders are willing to pay for it.  And, that documentation is often written late in the project once things are stabilized, typically based on the surviving diagrams on the team's whiteboards.
 
I've worked on very complex systems where the architecture "documentation" was a few whiteboard sketches until pretty much the end of the project.  The PM also captured these diagrams in PPT to communicate to senior mgmt, but that wasn't our official architecture documentation.
 
Ana's comment that we should move a lot of this material into guidelines is a good one.  This is true of a lot of stuff in OpenUP I suspect.
 
Nate's comment about executable architecture is good, but we need to make sure that we're not talking about it in the MDA sense of the word.  The MDA approach is valid, but only for a very small portion of the marketplace. In Agile Modeling we included the practice "Prove it with Code" to get this point across.
 
- Scott
Scott W. Ambler
Practice Leader Agile Development, IBM
Senior Contributing Editor, Dr. Dobb's Journal
http://www-306.ibm.com/software/rational/bios/ambler.html
 
Every organization gets the process that it deserves.
----- Original Message -----
Sent: Tuesday, November 28, 2006 5:23 PM
Subject: [epf-dev] OpenUP/Basic Architectural Approach

One of the items we discussed in today’s review of the OpenUP Architecture package was changing the approach we take to Architecture (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=165258). There was general agreement that we need to be more agile in this area than we are now, although there’s a lot of useful guidance now.

 

Based on our discussion and some other thinking, I put together some initial bullet points for discussion. The intent is to describe a lighter-weight perspective for how architectures are created in OpenUP/Basic. Comments are encouraged.

 

Properties of OpenUP/Basic Architectural Approach

  • It’s more important in a small team to start building and experimenting with architectural ideas early than to do lots of up-front architectural analysis. This implies short iterations and rapid adjustments during Elaboration.
  • The architecture is always important enough that it needs to be documented, even if no other part of the design is documented. It can be documented through one or a combination of the following:
    • List of architectural decisions categorized by viewpoints or other relevant taxonomy.
    • UML visual model using 4+1 architectural view.
    • List of interfaces that connect significant parts of the system
    • Other simple templates…?
  • The bits of new architecture that are added during an Iteration must be documented by the end of the iteration, or the iteration hasn’t ended.
  • Refactoring the architecture is an essential activity for most Elaboration iterations so the final architecture is robust.
  • Tacit knowledge – an expert’s perspective that delivers useful insight and guidance - is an accepted architectural input. For example, assume Mark is the acknowledged expert on some part of the system. He may define a set of architectural decisions that are difficult to justify directly, but his experience tells him it’s the right way to go. It shouldn’t be necessary for Mark to provide detailed justifications. He should only need to provide enough information to gain the support of the team members. Justifications should be brief if Mark has made good decisions in the past.
  • The architecture is verified through demonstration, not documentation.
  • In general, the architecture is the least amount of the design that can be documented that still illustrates the way in which the system reifies a solution to the customer’s problem.

 

- Jim

____________________

Jim Ruehlin, IBM Rational

RUP Content Developer

Eclipse Process Framework (EPF) Committer www.eclipse.org/epf

email:   jruehlin@xxxxxxxxxx

phone:  760.505.3232

fax:      949.369.0720

 


_______________________________________________
epf-dev mailing list
epf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/epf-dev
Confidentiality Statement:

This message is intended only for the individual or entity to which it is addressed. It may contain privileged, confidential information which is exempt from disclosure under applicable laws. If you are not the intended recipient, please note that you are strictly prohibited from disseminating or distributing this information (other than to the intended recipient) or copying this information. If you have received this communication in error, please notify us immediately by return email.

Back to the top