Click here to Skip to main content
15,891,136 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
AnswerRe: USB Pin
dusty_dex15-Apr-13 7:55
dusty_dex15-Apr-13 7:55 
GeneralRe: USB Pin
C-P-User-315-Apr-13 7:59
C-P-User-315-Apr-13 7:59 
Questionarm processor Pin
sanchaman44-Apr-13 1:22
sanchaman44-Apr-13 1:22 
AnswerRe: arm processor Pin
dusty_dex15-Apr-13 7:24
dusty_dex15-Apr-13 7:24 
QuestionWorking with data bases Pin
columbos1492729-Mar-13 20:18
columbos1492729-Mar-13 20:18 
AnswerRe: Working with data bases Pin
jschell30-Mar-13 13:28
jschell30-Mar-13 13:28 
AnswerRe: Working with data bases Pin
Rahul Rajat Singh16-Apr-13 0:28
professionalRahul Rajat Singh16-Apr-13 0:28 
QuestionDesigning and visualising software architecture Pin
jim lahey20-Mar-13 5:37
jim lahey20-Mar-13 5:37 
What are peoples' experiences with software design like?

I'm a firm advocate of the 6 P's: Proper Planning Prevents Piss Poor Performance, which to me means having a clear idea of what you want to achieve, and the necessary oversight to be able to make informed decisions.

For this purpose I find UML incredibly useful. Component or package diagrams help me determine my solution structure, decoupling of components, separation of concerns, reusability etc and completely prevent circular references.

Before I touch VS to set the solution up I make sure I've got this down, even if it's only a couple of projects and a test project. It's like I documented it before I even started.

I'm a bit baffled by some of my colleagues who expend a lot of unnecessary time and effort trying to keep their 100+ project solution in some sort of check without some sort of visualised overview. Just trying to add a single interface requires a three hour discussion involving everyone (6 developers, 18 person-hours, almost half a person-week) from two teams whereupon the only conclusion that's ever been reached in one of these productivity abyss meetings is "we need to add a new assembly" because their lack of oversight has made their solution so tightly coupled and interwoven that it's the only way short of taking everything apart and putting it back together again.

In my experience, when groups of developers have to resort to mentally storing lots of abstract information in the absence of a visualised overview, nobody can make informed architectural decisions and the solution grows organically and totally unchecked until the dependencies either get so complex that nobody knows what to do, or you run into a circular reference and people start throwing in arbitrary assemblies as a hacky workaround.

I've taken to going into discussions with the other group armed with a package diagram of their solution so I can tell them where to put what in their work. If I don't do this, each meeting descends into chaos with various people trying to compile lists or matrices of references which is exactly what the package diagram is representing. Afterwards you hear murmurs of "an overview diagram like that wouldn't be a bad thing", but nothing gets done about it unless I do it for them.

What do other people think?

How can I motivate my superiors to take software architecture seriously and value the advantages a bit of forethought will bring?
AnswerRe: Designing and visualising software architecture Pin
dusty_dex20-Mar-13 6:52
dusty_dex20-Mar-13 6:52 
AnswerRe: Designing and visualising software architecture Pin
jschell20-Mar-13 9:16
jschell20-Mar-13 9:16 
AnswerRe: Designing and visualising software architecture Pin
Jonathan Davies22-Mar-13 5:39
Jonathan Davies22-Mar-13 5:39 
GeneralRe: Designing and visualising software architecture Pin
Nigel Lamb25-Mar-13 23:10
Nigel Lamb25-Mar-13 23:10 
GeneralRe: Designing and visualising software architecture Pin
Jonathan Davies26-Mar-13 1:11
Jonathan Davies26-Mar-13 1:11 
GeneralRe: Designing and visualising software architecture Pin
jschell26-Mar-13 8:44
jschell26-Mar-13 8:44 
GeneralRe: Designing and visualising software architecture Pin
bakary.konate28-Apr-13 7:31
bakary.konate28-Apr-13 7:31 
AnswerRe: Designing and visualising software architecture Pin
Nagy Vilmos25-Mar-13 23:42
professionalNagy Vilmos25-Mar-13 23:42 
AnswerRe: Designing and visualising software architecture Pin
Mohammed Hameed8-May-13 4:04
professionalMohammed Hameed8-May-13 4:04 
AnswerRe: Designing and visualising software architecture Pin
Marc Koutzarov29-Aug-14 11:54
professionalMarc Koutzarov29-Aug-14 11:54 
QuestionDistributed Application-- client / server approach for distributed objects Pin
docomo119-Mar-13 13:24
professionaldocomo119-Mar-13 13:24 
AnswerRe: Distributed Application-- client / server approach for distributed objects Pin
NotPolitcallyCorrect19-Mar-13 13:29
NotPolitcallyCorrect19-Mar-13 13:29 
GeneralRe: Distributed Application-- client / server approach for distributed objects Pin
docomo119-Mar-13 13:55
professionaldocomo119-Mar-13 13:55 
GeneralRe: Distributed Application-- client / server approach for distributed objects Pin
NotPolitcallyCorrect19-Mar-13 14:02
NotPolitcallyCorrect19-Mar-13 14:02 
GeneralRe: Distributed Application-- client / server approach for distributed objects Pin
docomo119-Mar-13 14:10
professionaldocomo119-Mar-13 14:10 
GeneralRe: Distributed Application-- client / server approach for distributed objects Pin
NotPolitcallyCorrect19-Mar-13 14:36
NotPolitcallyCorrect19-Mar-13 14:36 
GeneralRe: Distributed Application-- client / server approach for distributed objects Pin
docomo119-Mar-13 14:50
professionaldocomo119-Mar-13 14:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.