I’m very confused about UML i didn’t had a chance to deeply work with it but now i guess it’s already prisoned inside the boundaries of whiteboards nothing like UML will appear in any place other than the white board in the meeting room. Maybe i don’t know I’m not working like you in a fancy software vendor – or it’s not a fancy big
sw vendor characteristic – so i don’t have all the fancy must well done water flow model so we can have the time to do the work, my style is a Maverick style of coding - don’t remember who came up with the name - and potential testing where you just wanted to get the initial specs and run into your favorite kinda of IDE and start getting things done – if you know what i mean – even many of the companies that adopt the Agile methodologies dot relaying on UML in design like the idea of Agile and freedom of developer is liberate them from having everything figured out prior.
I see software methodologies – management, design, developing ..etc.. – are interrelated together it’s hard for me to imagine a Ruby developer doing some deep design before start coding on the fly, in the other hand Java folks or other old OOP languages are more imaginable as design duds.
So if this is correct then Agile management will affect other sides of software practise to be agile too as the mentality that choose a style of doing design will choose similar style of management and so on..
Back to UML for instance, i see that converting from the high business level to a DB entities for example is alto harder for developers and starting Architects as we learned and worked with the DB point of view very much that the human entities is now so hard to understand in someway we are thinking like Computer better in a certain way than thinking in normal human way, that why we may spending a lot of time on Visio tying to model the business to create the back-end schema when we – as a developer thinking like computers – can easily created the desired table into the DBMS.
Maybe this is why i hated UML – well not hated it - but at least not prefer working with it outside the whiteboard.
So how you design and what is the pattern of methodologies you are using ? Are you a fan of the Maverick Coders style despite of all it’s drawbacks ?