The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Leandro Oliveira:
But we have to archive the project.
And, I would need many whiteboards to design!?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Originally posted by Scott Ambler:
The vast majority of software modeling is performed using simple tools such as paper and Plain Old Whiteboards (POWs)[/URL]. This is something that the folks involved with the OMG prefer that you don't recognize.
Reid - SCJP2 (April 2002)
Originally posted by Reid M. Pinchback:
One half of my brain likes slicing and dicing a large problem into diagrams that force me to think about the problem, but the other side learned the directness of test-driven development is a Good Thing (sorry Martha, hate to steal your tag line but...). The concern I have in the case of teams is that it seems to be much harder to get people to shift to (frankly to even try) test-driven development than I would have expected.
Tends to motivate you to look around for alternatives to add to the bag of project tools.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Which brings up something I've been wondering about lately. There seems to be a sustained media (publishing) attention lately to MDA, executable UML, and assorted generative techniques that seem derived from, or at least motivated somewhat by those (e.g. Eclipse Modeling Framework).
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Originally posted by Gerardo Tasistro:
All the arguments I've been seeing are based on the upfront cost of the solution and some rather circular arguments.
Sure whiteboards are cheaper and UML requires training, but if we all played along these rules we'd still be digging with shovels instead of excavators and other machinery.
-ease of replication: Sure whiteboards are cheap, but try making a copy of it again and again. Snapshooting it with a digital camera is nice, but rather unprofessional.
-ease of modification: Say you forgot something in the middle, need to add something or modify layout. Whiteboard requires you to erase and redraw. Tools just copy, paste and move around.
-tracking changes: Some tools can use CVS or version control, in the worst case you can just hardcopy every week and keep records of how things evolved. I've found that whiteboard approaches make it hard to keep records of changes (specially given the redraw process).
Changes through various iterations of the project don't get properly updated on the whiteboard(particularly true on the first few weeks).
I've also found that tools help you monitor time. Since sometimes you come along the all too famous "ups, and we'll need that too". You add it to the project, don't add it to the diagram and then ask yourself why you're two weeks behind schedule.
Now we can get into the more elaborate UML to Java and back to UML gadgets.
First and furthermost I think Java to UML is a must. Sure your whiteboard diagram can say you have this and that component and packages, classes going in this way and that. But did you really code that?
Things get worse if halfway through you realize the whiteboard isn't the best model. You refactor your code and (now answer this one truthfully) you modify your whiteboard.
Another reason Java to UML is a must in documentation. Sure JavaDoc is really nice, but once you see what some of these tools can do you can't live without them.
Turn your code into UML, document, print and sit down to think things over.
Now I wont boast of being an UML expert and yes two way design is still above me. I might use it for the beginning stages, but now all the way through the process. On this I will agree with Scott in that it takes a special set of skills and understanding to do efficient two way UML-Java work. But the fact that I can't do it right now is no justification for not having the tool. Because if I don't have it right now how do I get the skills. On and on the argument goes.
To sum things up. Every case is different. Depends on what you want to do, what you know and how much money you have. I started with Argo UML (http://argouml.tigris.org/) which is free and now work with Poseidon (which cost me about the said $1000). Hope this helps people get started in UML and break the "skill" barrier that "keeps" us within the realm of whiteboards.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Leandro Oliveira:
Do you know any good UML tool for team development...
Jude is really weak...
Thanks in advance!
%
Originally posted by Gerardo Tasistro:
I come to this perception from reading the thread. Go back and you won't find a post that suggests an answer to his question. Just a whiteboards work well, are good enought, are better or something along those lines.
Don't be mistaken. I use whiteboards. I take photos of them and then print them for records. That doesn't substitute UML software tools and it certainly doesn't answer the original post's question.
And yes they are unprofessional. Imagine a documentation full of photos of whiteboards.
Regarding the example you want.
Usually during the analysis I start with a whiteboard diagram. Then pass it to UML.
The printed UML gets thought out and worked with the client. As you start to learn about the processes you sketch more on the whiteboard. Those ideas are then passed to UML and the UML diagram grows in complexity. Obviously your initial time estimate and TODO list grows as more "ups, and we'll need that too" modules get "discovered" by the client and included in the project. I find it useful to have UML software tools that help me add and modify my work without reworking the whole whiteboard or recopy it into a new diagram. I find UML history diagrams useful to justify requirements and budgets.
That's not what I typically use UML for, which might explain a lot of our differences.
And sure you can refactor your whiteboard by hand, but that takes time. With an UML tool that happens automatically when you sincronize diagram and code. That way you can "concentrate on the essential and get rid of cruft."
Your and my experience certainly differ on this one. I've never found a software tool that made it easy to generate simple UML diagrams from code that expressed what I wanted them to express.
Software tools are also often much less useful in a collaborative situation (i.e. during a discussion). And they often don't allow customizations that are essential for adapting a diagram to the current needs.
Finally I don't get were the perception that for me textual code is a "lesser" as compared to UML.
I didn't say that.
It did sound to me, though, as if you generate some code from your diagrams. I don't see value in that activity.
I said that the lack of skills in UML and UML software tools in particular does keep you in the real of whiteboards.
Interesting theory, but not supported by my experience.
I'm not in a "whiteboard UML" vs "software UML" battle here. But do consider it important to dive into software UML tools to break the skill barrier and begin to enjoy certain benefits whiteboards can't give you.
I've used UML software for some time. In fact I once worked on a project where a UML tool was the primary IDE.
So I'd say that I don't use white boards because I don't know the software tools, but exactly because the software tools I did experience did provide much less value to me.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Don't be mistaken. I use whiteboards. I take photos of them and then print them for records. That doesn't substitute UML software tools and it certainly doesn't answer the original post's question. And yes they are unprofessional. Imagine a documentation full of photos of whiteboards.
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Originally posted by Scott Ambler:
I agree with you that you can use CASE tool in addition to whiteboards, in fact I point this out as one of the three main categories of modeling strategies (see Approaches to AMDD). BUT, the reality is that many people don't have access to these tools, nor do they have the skills to use them, nor are they even motivated to use them.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Scott Ambler:
nor do they have the skills to use them, nor are they even motivated to use them
Reid - SCJP2 (April 2002)
Scott, do you think that using CASE tools always adds value? Serious question - your list of reasons not to use CASE tools seems to imply that...
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Don Morgan, Founder
www.DeveloperAdvantage.com - FREE Audiobooks for Software Developers
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Originally posted by Gerardo Tasistro:
I think your've fallen into irrationality.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Originally posted by Gerardo Tasistro:
Look Ilja I don't know if[whiteboards] it substitutes software tools or not in the original post. Personally I don't care because the original post WAS NOT ASKING TO SUBSTITUTE A SOFTWARE TOOL. It was asking for a better SOFTWARE tool.
Secondly we don't know the team is collocated.
"What would be unprofessional about such a documentation?"
Now if you need to ask....
BTW, and given a previous post I'd like to ask do you know what PowerPoint is and what it is used for?
I'm sure you're blessed by great caligraphy skills. Your boxes and arrows must be perfect and you write in true type Arial 12pt, but other mortals like myself have problems. So we use tools that make our work look nice.
I also envy your 2000 dollar SLR digital camera with which you take photos of those whiteboards. Other like myself have to do with 200 or 300 dollar aim and shoot cameras.
I'm sorry you haven't found a software tool that fits you, but others have. And I don't find it fair for you to generalize your misfortune over others good fortune.
I see a collaborative situation not only as a meeting, but as the interaction of various members or teams for a common goal. Team which can or can not be collocated. Meetings in my point of view are just a process inside the whole collaboration.
In such situations[collaboration] I find software tools to be superior to whiteboards in two major areas: replication and editing. Try sending 20 copies of your whiteboard to your printer. Or better yet do a copy paste on your whiteboard.
Aside from the features mentioned in previous posts, software tools and UML software tools in particular also add the feature of locking you into a set of diagram primitives (UML itself). That while it might seem limiting is also very practial in transfering ideas as each widget means one and one thing.
I sure use UML on the software and final diagrams. Because it standardizes the language. There is no ambiguity. And through it I can collaborate with other team members. Be them collocated or not.
I apologize if I sounded rude by saying you've fallen into irrationality. But I don't find any coherence between the question asked and the answer given by you.
Although I don't try to push an "I'm right and you're wrong" position it is clear I have found software UML tools useful and you haven't. Hence my comments although not necesarily right are more educated and atuned to the question at hand than yours given our UML software experience.
If a certain "violent" disagreement is percieved from me it isn't so much from a disagreement on your work methodology, but rather your addition of irrelevant data to a thread.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Scott Ambler:
Also, as far as unprofessional goes, it depends on the situation. A few years back I was giving a management presentation overviewing the scope and architecture of a very large system (the largest this client was attempting to date). The presentation contained many sketches.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Gerardo Tasistro:
I think I've been clear on my point that during the meetings a whiteboard is great. And in that context unbeatable. My position though is that after the meeting is over UML tools quickly overcome the whiteboard.
Your diagram in my case would have evolved to this:
Then as the red elements got added (possibly in a following meeting although in this specific case we know it was the same one) this would evolve to.
With the autolayout I might have looked for a clearer view
In my opinion the software diagrams look "cleaner". This is what I mean by more professional. I know they are both "tecnically professional", but the software version just looks better in my opinion.
Which would lead to code like the following
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>