나는 maple_shaft의 답변에 전적으로 동의하지는 않지만, 의견에 전체 비트를 말할 충분한 공간이 없었습니다! ;-)
모든 개발자가 아키텍트 일 수 있고 건축가 여야한다는 데 동의하지만 모든 개발자가 전체 제품 또는 시스템의 아키텍처를 책임 져야한다는 것은 아닙니다. 또한 모든 건축 팀에 동일한 브러시를 사용하여 페인트 할 수 있다고 생각하지 않으며 올바른 건축 팀이 전체 제품 개발 프로세스에 큰 가치를 제공 할 수 있다고 생각합니다. 오해는 건축가가 시스템 설계의 모든 측면을 지시해야한다는 것입니다. 대신 더 높은 수준의 디자인에 중점을두고 구현 세부 사항을 개발 팀에 남겨 두어야합니다. 그러나 개발자가 처음부터 계획 및 설계 프로세스에 관여해서는 안된다는 것은 아닙니다.
제품이 더 크고 모듈 식이며 궁극적으로 더 복잡할수록 다양한 개발 팀이 처리하는 제품의 다양한 부분을 찾을 수 있습니다. 이러한 팀은 담당 시스템의 일부를 완전히 이해 한 경우 시스템 전체를 이해할 필요가 없습니다. 종종 이러한 추가 팀은 건축 가나 다른 팀이 전문 지식을 갖지 못할 수있는 특정 기술 영역에서 모듈을 개발하기위한 특정 목적을 위해 하청 업체로 구성됩니다. 내 고유의 재능은 API 개발에 있으며 아직 보지 못했습니다. 유용성 측면에서 완전히 혼란스럽지 않고 완전히 유기적으로 개발 된 잘 인수 된 API, 또는 API의 여러 측면 사이에 일정 수준의 균일 성을 보장하는 사람으로 누군가를 두드러지게 요구하지 않았습니다. 나는 많은 예와 이유를 계속해서 언급 할 수 있지만, 이런 종류의 상황이 많은 사람들이 생각하는 상아탑 BS라고 생각하지 않습니다. 불행히도, 특히 기업의 편집증으로 인해 maple_shaft가 가장 염려할만한 종류의 제품 개발이 잘못되고 관리가 잘 안되는 제품을 개발하는 방어, 의료 및 금융 분야에는 많은 장소가 있습니다. 이것들은 건축가에게 약간의 가치가 나쁜 나쁜 이름 (일반적으로 말해서)을주는 것으로 생각합니다. 불행히도, 특히 기업의 편집증으로 인해 maple_shaft가 가장 염려할만한 종류의 제품 개발이 잘못되고 관리가 잘 안되는 제품을 개발하는 방어, 의료 및 금융 분야에는 많은 장소가 있습니다. 이것들은 건축가에게 약간의 가치가 나쁜 나쁜 이름 (일반적으로 말해서)을주는 것으로 생각합니다. 불행히도, 특히 기업의 편집증으로 인해 maple_shaft가 가장 염려할만한 종류의 제품 개발이 잘못되고 관리가 잘 안되는 제품을 개발하는 방어, 의료 및 금융 분야에는 많은 장소가 있습니다. 이것들은 건축가에게 약간의 가치가 나쁜 나쁜 이름 (일반적으로 말해서)을주는 것으로 생각합니다.
OP가 찾던 중간 지점은 어디입니까? 답은 커뮤니케이션 채널을 여는 것과 관련이 있습니다. 설계자는 개발 팀이 경계의 위치를 이해할 수 있도록 설계를 설명하는 사양을 충분히 자세하게 전달해야합니다. 모든 것이 블랙 박스로 간주되는 가장 넓은 의미의 스토리 및 기능 시나리오. 그런 다음 설계자는 팀이 가정을 확인하고 너무 광범위하거나 명확하지 않은 사양에 대한 질문에 답변 할 수 있도록 건축가의 시간에 액세스 할 수 있도록해야합니다. 그 후, 개별 팀이 다른 팀이 무엇을하고 있는지 파악하고 시스템의 각 부분이 다른 부분과 잘 어울릴 수 있도록 다른 팀과 연락 할 사람을 알아야합니다. 이 팀들은 서로 직접 만납니다. 일단 시스템이 가장 넓은 레벨로 설계되면, 설계자는 팀이 위생 상태 점검이 필요할 때 사람들이 직접 방문하는 사람들이되어야하고 제품 "비전"이 유지되도록해야합니다. 또한 필요한 모든 통합 프로세스를 수행하고 관리자, 고객 및 기타 지분 보유자로부터 개발 팀을 위해 필요한 "에어 커버"를 제공하는 동시에 이러한 다양한 사람들이 모두 함께 작업 할 수 있도록해야합니다. 그것들이 어떻게 작동해야 하는가.
IMHO 아키텍트는 무엇보다도 촉진자 및 커뮤니케이터이며 디자이너는 둘째입니다. 어떤 수준의 사양에 대해? 최고의 건축가는 팀이 원하는 세부 수준에 대해 팀에 물어보고 그들 사이에서 균형을 찾는 건축가라고 생각합니다. 각 팀마다 필요한 문서 수나 방향에 따라 요구 사항이 다를 수 있습니다. 선임 팀은 대략적으로 그려진 그림을 발견하고 빠른 대화로 충분할 수 있지만 비교적 후배 개발자로 가득한 팀은 좀 더 많은 것을 요구할 수 있습니다. 무엇보다도 건축가는 각 팀에서 최상의 결과를 얻기 위해 개발자가 자신의 디자인 재능을 발휘하도록 장려해야합니다.