--------------enig3B5CD8B94A6946F35178F3A2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable gaurav bagga wrote: > I have just started to learn about Agile development and was told that in > Agile very less focus is given to documentation and usage of UML related > things is very less. Is it that its not used at all by most Agile > developers > and most of the focus is on Test Driven Development. If code generations > accompanied along with the tool being used for UML do people in agile go > for > UML usage. This is the case I have seen in Java world using UML > extensively. > As in Agile, time is a factor they dont get into that much details of UML. > So I was wondering how to gauge how much important UML is to Agile world. > There are more uses to UML than code generation (which I haven't seen used yet actually.) For certain problems, it's useful to have dedicated analysts or high-level designers (can as well be one person) if the problem domain being modelled is one the developer team has little expertise in - if this person isn't a developer, UML is a standardised way for him to communicate his work to the team members that are. Also if the model has to be represented / manipulated using multiple languages (DDL for a RDBMS, and multiple clients on that database in different programming language), it might make sense to use UML as a lingua franca for the reference representation of the model - of course, if all developers have basic skill in one of those languages, you might use the model implementation in it for this purpose. Another reason I see behind UML-bashing by the agile crowd is that they are people that don't have the brain arrangement (this I don't mean as an offensive statement) to process the diagrams as efficiently as they would see the actual code. For people with a degree of visually-oriented thinking, a UML diagram can be a good tool to organise your thoughts on a problem. I personally find (high-level) activity diagrams or sequence diagrams easier to comprehend than code across three files. For purposes of maintainability, UML is a more terse documentation artefact for some views of a system than source code documentation. On the whole, I'd say UML still is a valid tool for agile development. You're likely to use only high-level variants - UML that is on a level detailed enough to be used for code generation wouldn't be created up front, maybe as a documentation artefact if that is required. It's also still useful as a means of communicating a notion if you find you can create and comprehend it as fast as or faster than other methods - a unit test replacing a nontrivial sequence diagram might be much more verbose, for example, if of more value on its own David Vallner --------------enig3B5CD8B94A6946F35178F3A2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (MingW32) iD8DBQFFOLjiy6MhrS8astoRAk8SAJ9jWKauY5DTuhwuDflXmjZsPskzbQCdGeYa 16ooMc3EtPabERSj86VMdusððy -----END PGP SIGNATURE----- --------------enig3B5CD8B94A6946F35178F3A2--