Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[epf-dev] The OpenUP disciplines


Hi folks,

I know there is a thread (somewhere) already discussing this, but I'm unable to find it right now. Anyhow, I wanted to give my 2 cents on the OpenUP disciplines. This is based on my understanding that we have disciplines of "Architecture" and "Development". I have a number of concerns about this distinction and have commented below. I'd appreciate all feedback - especially those that correct my understanding!

1. With regard to "development", surely all of the disciplines contribute to "development". I understand that many organizations use the term "developer" to represent the "coder", but this doesn't translate into "development" as a discipline for me.

2. In addition, it would appear that the development discipline includes design. This one really stumps me. Design and coding are different sets of responsibilities to me. Why put them together in the same discipline?

3. This then seems to contradict Mark's assertion that "all architecture is design, but not all design is architecture". If architecture is design, then this would place architecture activities in the development discipline. The net result is we have 1 discipline called "development". Doesn't sound right to me :)

4. I actually disagree with the statement "all architecture is design ...". Architectural decisions are made with respect to coding and requirements (for example), which is one of the reasons (I believe) that RUP has no architecture discipline since architecture touches a number of disciplines.

5. I think we also need to consider that architects, in some cases, do not go from requirements to detailed design in one step ("architecture"). They may, for example, perform some architecting activities that are technology-independent, that designers then flesh out the details of. This is called "analysis" in RUP. The architect then identifies the technology-specific elements, and the designers flesh out the details of these. There could be even more "levels of refinement" in between requirements and detailed design. Therefore ... the notion of having an architecture discipline is a gross simplification that would seems to assume that architecting is performed once in an iteration. Whereas I think the architect is involved, for example, to a) prioritize requirements b) identify technolgy-independent design elements c) identify technology-specific design elements and d) identify architecturally-significant implementation elements. In summary - architecting spans several disciplines.

6. Although I've worked with RUP for some time, I often explain RUP in terms of the following disciplines: a) Requirements b) Design (platform-independent) c) Design (platform-specific) d) Implementation e) Test, where Design (platform-independent) equates to RUP's analysis discipline, and where architecting spans several disciplines.

I think that will do for now, and welcome feedback :)

Regards,

Pete

================================
Peter Eeles, MBCS CITP
Executive IT Architect,  Technical Staff Member
Rational Brand Architect for UK, Ireland, South Africa
Email: peter.eeles@xxxxxxxxxx
Mobile: +44 (0)7796 331061
Mobex: 264305
=================================

The IBM Rational Edge Live! By Developers for Developers.
For more information on this and other events such as the Rational User Group visit:
www.ibm.com/uk/news/events/softwaretechnicalbriefings/

Back to the top