Don

I didn't mean to imply that there was no iteration, and I didn't mean to
imply that you had to finish requiremetns before designing.

I also recognise the importance of architecture.

I suppose the lesson is that there is only so much one can say in a single
message.

James

-----Original Message-----
From: Don Bate [mailto:[EMAIL PROTECTED]]
Sent: Saturday, April 07, 2001 2:10 AM
To: Glover, Roger H.; Shields James; [EMAIL PROTECTED]
Subject: RE: (ROSE) RE: Code is not design!


I've tried in the past with some of Rational's earlier products and 
while the keeping the Design and Code in synch is an attractive goal; 
it doesn't work out in practice on other than small projects. Almost 
by definition, on a moderately sized project, there are going to be 
problems in synching and it occurs as soon as the 
architects/designers and the programmers are different people with 
different priorities and schedules.

You also hit upon a pet peeve of mine by stating:

        (requirements, analysis, design, and coding)

I believe that it should be

        (problem analysis, architecture, requirements, design, and 
coding) with lots of cycles in between.

Regards,
Don Bate

At 11:34 AM -0500 4/6/01, Glover, Roger H. wrote:
>The problem here is that there is *great value* in separating Design from
>Code.  A team project runs several unnecessary risks in a
>"Code-is-Design-is-Code" scheme:
>     o  Accountability:  How can you assess whether the Code is true to the
>        Design when you are in a situation where changes in the code
*change*
>        the design?  If you add a new method or instance variable to a
class,
>how
>        is one to know that that change deviates from the design if the
code
>was
>        the only place that stored that design knowledge?
>     o  Messy Code:  Useful design elements that do not need to be
expressed
>        directly in code in the context in which they appear in diagrams
>(such as
>        traits of non-navigable association ends) could lead to confusion.
>        Either the developer has to put up with confusing documentation
>within
>        his code, or he deletes it and that information is lost to the
design
>        model.
>     o  Inflexibility:  Often the design model needs to be updated during
the
>        construction process, due to changing or late-arriving
requirements.
>In
>        this case, the designer and the developer both need to work on the
>"code-
>        design-is-code" at the same time.  Someone is going to have to give
>up
>        access to the code during this time and I doubt it will be the
>developer.
>        Thus the designer will have to find some other way to work.  You
say,
>        "design and code are never out of step."  I say, "there are lots of
>cases
>        in which it is necessary and proper for the design and code to be
out
>of
>        step."
>
>Even if you keep your code under sophisticated source management
(ClearCase,
>Source Integrity, etc.(Don't even think of mentioning VSS)):
>     o  so that you can trace the code back to the Design after Coding
begins
>in
>        earnest
>     o  so that you can reclaim any lost comments that the developer
deleted
>     o  so that you can start a divergent source path so that Code and
Design
>can
>        progress in parallel.
>Now all that you have done is *recreated* code/design separation the hard
>way.  You have to keep track of which version denotes the cutover from code
>to design, and any other versions that represent a design change not yet
>reflected in code.  You have a high likelihood of code divergence *before*
>release (Normally it does not happen until bugfix versions after release).
>"In short," says George, "you have a gastly mess."
>
>If you are doing it all yourself (requirements, analysis, design, and
>coding) and you have good source management, and you have a *great* memory
>for details, then I suppose that you could juggle "code-is-design-is-code"
>well enough.  On the other hand, as a mere mortal who works most often as
an
>architect in a team environment, I must say that I much prefer to have
>separate design and development tools that freely communicate with each
>other.
>
>-- Roger Glover
>
>
>-----Original Message-----
>From: Shields James [mailto:[EMAIL PROTECTED]]
>Sent: Friday, April 06, 2001 3:06 AM
>To: 'Lars Hauschultz'; [EMAIL PROTECTED]
>Subject: RE: (ROSE) RE: Code is not design!
>
>
>
>Lars
>
>I can see that you may think that it is Ready - Fire - Aim.
>But it actually more like: Ready - Aim - Fire - Ready - Aim - Fire - Ready
-
>Aim - Fire - Ready - Aim - Fire ...
>The users on see the last, i.e. the deployed, Fire.
>
>I'm not saying DON'T do Design.
>Design is important because it is more abstract than Code.
>And you still have to do Architecture (higher level Design).
>
>What I AM saying is that the main repository for the Design should be the
>Code.
>(The other elements of the repository include Diagrams, (JavaDoc) Comments
>in the Code.)
>
>Design is just a higher level View of this repository.
>By having the Code as the repository means the Design and Code are never
out
>of step.
>
>Honestly, speak to the guys at TogetherSoft.
>Get a demo on your own Code; get a demo on creating a 'Design', then
>fleshing it out with implementation, i.e. 'Code' (it's actually one and the
>same thing).
>
>Hope I have expressed myself clearly.
>
>James
>
>-----Original Message-----
>From: Lars Hauschultz [mailto:[EMAIL PROTECTED]]
>Sent: Friday, April 06, 2001 9:46 AM
>To: [EMAIL PROTECTED]
>Subject: RE: (ROSE) RE: Code is not design!
>
>
>
>Hi James,
>
>somewhere I read that RUP is following the strategy "Ready - Aim - Fire"
and
>that XP is "Ready - Fire - Aim". Your approach seems to resemble the
latter.
>At least you risc ending up with code, which the programmers like, but does
>not do the job it was intended for.
>
>Lars
>
>-----Original Message-----
>From: Shields James [mailto:[EMAIL PROTECTED]]
>Sent: 6. april 2001 09:29
>To: 'Aker, Eric'; 'Patrick Adewunmi'; 'Michael Hill'; Moin Ahmad
>Cc: [EMAIL PROTECTED]
>Subject: (ROSE) RE: Code is not design!
>
>
>
>Eric
>
>One of the *good* things about Together is that the Code IS the Design.
>As you move from Design to Code, all you are doing is fleshing out Design
>with implementation details.
>The Diagrams are updated automatically as the Code changes; as the Diagrams
>change content (not presentation) the Code changes.
>
>You do not need worry so much about reviews that make sure the Code has
>followed the Design, because they are the same thing.
>Sure, if the Code changes in maintenance it may change what you INTENDED
>when you had your Design Hat on.
>But you use the tool to View these changes the Code made to the Design.
>You are then in a position to judge whether or not the Code is correct or
>not.
>If it is not correct, you point out the differences and ask the Programmers
>to make the necessary changes.
>You would probably TELL them to make the changes because you, as a
Designer,
>are superior. ;)
>
>Another point is that a lot of your Design documentation is captured in the
>Code (in JavaDoc).
>This is probably the best way of ensuring that the Design documentation is
>kept up to date.
>
>But, hey, don't take my word for it. Speak to the guys at TogetherSoft.
>
>James
>
>PS Have you told your bosses that you hours moving little boxes and lines
>around to make them look pretty? I'm sure that will please them. ;)
>
>PPS Please don't take offence at any of my sarcasm.
>
>-----Original Message-----
>From: Aker, Eric [mailto:[EMAIL PROTECTED]]
>Sent: Thursday, April 05, 2001 7:13 PM
>To: Shields James; 'Patrick Adewunmi'; 'Michael Hill'; Moin Ahmad
>Cc: [EMAIL PROTECTED]
>Subject: Code is not design!
>
>
>Let me see if I understand correctly.
>
>I spend a few weeks creating a design and documenting my intentions
>as a designer. I get some code from that design. Then someone makes
>some changes to that code. My design, my BEUTIFUL design, where I have
>documented what I intend the system to do, is changed? I would be very
>upset.
>
>So, some new guy on the project makes a change to the code and all of my
>class diagrams that I have spent time laying out, making pretty for
>a design review, are changed? This does not sound like a good idea to me.
>
>No, not good! As the DESIGNER, I am superior. I do not want coders making
>changes to my lovely design. Sounds like a stupid idea to make the code
>equal to the design.
>
>After the coders have done their work it would be most interesting to
>verify if they followed my design. Reverse engineer it, then run it through
>the model integrator to get a report on the differences. That would be
good,
>then I could have a model as designed and as built. My father is a
carpenter
>and he builds houses. When he makes changes to the blueprints he notes that
>and when the house is finished a fresh set of drawings is made "as built".
>The architect then signs off on the "as built" indicating that nothing
>illegal was done.
>
>Eric
>
>
>-----Original Message-----
>From: Shields James [mailto:[EMAIL PROTECTED]]
>Sent: Thursday, April 05, 2001 12:27 AM
>To: 'Patrick Adewunmi'; 'Michael Hill'; Moin Ahmad
>Cc: [EMAIL PROTECTED]
>Subject: RE: (ROSE) interaction diagrams
>
>
>
>I'm not trying to be subversive here, but are you all aware that Together
>keeps code in step with all UML diagrams?
>
>www.togethersoft.com
>
>James
>
>>  -----Original Message-----
>>  From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
>>  Sent: Wednesday, April 04, 2001 7:30 PM
>>  To:   'Michael Hill'; Moin Ahmad
>>  Cc:   [EMAIL PROTECTED]
>>  Subject:      RE: (ROSE) interaction diagrams
>>
>>  I do not believe that as well that Rose is capable of generating codes
>>  from interaction diagrams - that will be a very useful functionality.
>>
>>  Cheers.
>>
>>  Patrick
>>
>>
>>
>>
>>  -----Original Message-----
>>  From: Michael Hill [SMTP:[EMAIL PROTECTED]]
>>  Sent: Wednesday, April 04, 2001 10:33 AM
>>  To:   Patrick Adewunmi; Moin Ahmad
>>  Cc:   [EMAIL PROTECTED]
>>  Subject:      RE: (ROSE) interaction diagrams
>>
>>   << File: ATT00000.txt; charset = utf-8 >>
>************************************************************************
>* Rose Forum is a public venue for ideas and discussions.
>* For technical support, visit http://www.rational.com/support
>*
>* Admin.Subscription Requests: [EMAIL PROTECTED]
>* Archive of messages:
>http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
>* Other Requests: [EMAIL PROTECTED]
>*
>* To unsubscribe from the list, please send email
>*
>* To: [EMAIL PROTECTED]
>* Subject:<BLANK>
>* Body: unsubscribe rose_forum
>*
>*************************************************************************
>************************************************************************
>* Rose Forum is a public venue for ideas and discussions.
>* For technical support, visit http://www.rational.com/support
>*
>* Admin.Subscription Requests: [EMAIL PROTECTED]
>* Archive of messages:
>http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
>* Other Requests: [EMAIL PROTECTED]
>*
>* To unsubscribe from the list, please send email
>*
>* To: [EMAIL PROTECTED]
>* Subject:<BLANK>
>* Body: unsubscribe rose_forum
>*
>*************************************************************************
>************************************************************************
>* Rose Forum is a public venue for ideas and discussions.
>* For technical support, visit http://www.rational.com/support
>*
>* Admin.Subscription Requests: [EMAIL PROTECTED]
>* Archive of messages:
>http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
>* Other Requests: [EMAIL PROTECTED]
>*
>* To unsubscribe from the list, please send email
>*
>* To: [EMAIL PROTECTED]
>* Subject:<BLANK>
>* Body: unsubscribe rose_forum
>*
>*************************************************************************
>************************************************************************
>* Rose Forum is a public venue for ideas and discussions.
>* For technical support, visit http://www.rational.com/support
>*
>* Admin.Subscription Requests: [EMAIL PROTECTED]
>* Archive of messages:
>http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
>* Other Requests: [EMAIL PROTECTED]
>*
>* To unsubscribe from the list, please send email
>*
>* To: [EMAIL PROTECTED]
>* Subject:<BLANK>
>* Body: unsubscribe rose_forum
>*
>*************************************************************************
>************************************************************************
>* Rose Forum is a public venue for ideas and discussions.
>* For technical support, visit http://www.rational.com/support
>*
>* Admin.Subscription Requests: [EMAIL PROTECTED]
>* Archive of messages: 
>http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
>* Other Requests: [EMAIL PROTECTED]
>*
>* To unsubscribe from the list, please send email
>*
>* To: [EMAIL PROTECTED]
>* Subject:<BLANK>
>* Body: unsubscribe rose_forum
>*
>*************************************************************************

-- 
Don Bate               | Specializing in Consulting and Mentoring in
Bate Consulting, Inc   | Object-Oriented Technologies,
                        | Software Architecture, and Software Process
(972) 618-0208 voice
(972) 618-0216 fax
[EMAIL PROTECTED]
************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Admin.Subscription Requests: [EMAIL PROTECTED]
* Archive of messages: 
http://www.rational.com/products/rose/usergroups/rose_forum.jtmpl
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*
* To: [EMAIL PROTECTED]
* Subject:<BLANK>
* Body: unsubscribe rose_forum
*
*************************************************************************

Reply via email to