Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Does your company have architectural principles that are written and agreed upon? How did they come about? How do you manage ownership and acceptance of these principles? Are they helping you or hinder you?

share|improve this question
    
Not sure I agree with a question being moved from StackOverflow and being closed right away there... Architecture community is better represented there I think. –  Yuriy Zubarev Feb 28 '11 at 4:57
1  
this is definitely a subjective question fitting for Programmers. StackOverflow may very well have more StarCraft players than gaming.SE but those questions would still belong there. –  NickC Feb 28 '11 at 6:08
    
All of them. Sitting in a document that some manager in the past wrote up, felt proud about his 200 page essay on code principles, with no buy in from the team. Sent them an email with it attached. Hands it to new employees when they start. Then ask no more questions or never refer back to it again... –  Martin Blore Mar 30 '11 at 17:58
add comment

migrated from stackoverflow.com Feb 28 '11 at 4:43

This question came from our site for professional and enthusiast programmers.

2 Answers

up vote 0 down vote accepted

We internally maintain a set of architectural guidelines for engineers in the organization. These are reviewed and vetted out by a developer advisory forum run across the organization. The developer organization forum is a small forum of developers having sufficient representation across all product streams. This developer forum internally debates different architectural practices and once consensus is reached for a guideline, it is incorporated in the document templates for different specifications to be used by developers.

So far we have found these practices helpful as they help maintain a set of guiding principles. However sometimes we internally debate process to see that we are not causing process bloat leading to decrease in productivity.

I am outlining the process here but for confidentiality reasons cannot shares the patterns themselves.

share|improve this answer
1  
Thank you for outlining the process. I understand the confidentiality issues, but would it be possible to summarize the essence of at least 5 top principles? –  Yuriy Zubarev Feb 28 '11 at 5:01
    
+1 for "guidelines" -1 for "to be used" as in mandated:( –  Dunk Feb 28 '11 at 17:57
add comment

No

We have core principles (non-technical; company philosophy), which do not change. Architectural principles change as technology changes, and as required by the project.

It is common in larger companies to have architectural principles, often overseen by a committee. It is far too easy for these to become an excuse not to think, and often they become an institutionalized policy of stagnation.

Guidelines are great, they offer suggestions. Principles imply axiomatic acceptance and application, and can lead to progress-killing dogma.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.