문제가 더 일반적인 것 같습니다.
리팩토링 문제는 증상의 일부이자 잠재적 인 완화입니다.
소프트웨어 책임자와 팀은 팀의 시간을 할당
내 경험으로는 "모두 소프트웨어 관리자"라고 부르는 문제가 발생한 것 같습니다. 제품 관리자, 프로젝트 관리자 및 때때로 시스템 엔지니어 및 테스터는 이미 숙련 된 소프트웨어 관리자가있는 개발자를 미세 관리하려고 시도하는 것으로 악명 높을 수 있습니다. 팀원 중 자신의 역할을 관리하는 팀원이 몇 명일 수도 있습니다.
소프트웨어 관리자 인 경우 원하는 리팩토링을 지정하거나 팀이 승인을 위해 리팩토링을 제안하도록하십시오. 소액 관리하지 않기 위해 리팩토링 할 코드의 연령 / 저자 / 크기 / 컨텍스트에 대한 지침이있을 수 있으며, 이는 자유롭게 리팩터링 될 수 있고 승인이 필요합니다. 팀원이 자신의 기능에 포함되지 않은 복잡한 이전 코드의 네 가지 큰 클래스를 대규모로 리팩토링하려는 경우 그의 2 주 전환이 문제이므로 아니오라고 말할 기회가 필요합니다.
몰래 들어올 수는 있지만 분석, 디자인, 코딩, 여러 형태의 테스트 (최소한 단위 및 통합), 리팩토링 및 위험을 역사적으로 판단하여 부족한 시간으로 신중하게 추정값을 작성하는 것이 좋습니다. 작업과 관련된 경험 또는 명확성. 팀의 작업에 대해 너무 개방적이거나 팀 구성원이있는 경우 커뮤니케이션 채널을 좁혀서 사용자를 안내하고 방법이 아닌 리소스와 결과를 논의하는 것이 현명 할 수 있습니다.
초기 프로젝트 선택은 리팩토링을위한 악순환을 만듭니다
소프트웨어 유지 관리가 어렵습니다. 조직의 다른 사람들이 귀하의 비용으로 선택을하는 경우에는 두 배가 어렵습니다. 이것은 잘못된 것이지만 새로운 것이 아닙니다. 그것은 그가 이론 W라고 기술 한 관리 모델을 제시 한 우리의 위대한 소프트웨어 작가 중 한 사람인 Barry Boehm에 의해 해결되었습니다.
http://csse.usc.edu/csse/TECHRPTS/1989/usccse89-500/usccse89-500.pdf
종종 소프트웨어 개발자들은 Theory-X 관리 접근 방식에 따라 노동자들이 기본적으로 게으 르며 제출에 얽매이지 않으면 수행하지 않을 것이라고 말합니다. Boehm은 제안 된 모델을 다음과 같이 요약하고 대조합니다.
"이론 관리자는 관리자를 독재자 (이론 X), 코치 (이론 Y) 또는 촉진자 (이론 Z)로 특성화하는 것이 아니라 다양한 구성 요소와 프로젝트 솔루션 패키지 관리자 사이의 협상자로서 관리자의 주요 역할을 특성화합니다 그 외에도 관리자는 목표 설정자, 목표를 향한 진행 상황을 모니터링하고 일상적인 상실 또는 상실 프로젝트 충돌을 찾아내는 활동가입니다. "상생적인 상황으로 바꾼다"
빠르고 더러운 경우가 많습니다
Boehm은 유지 관리 팀의 개발자에게 상황이 그렇게 비참한 이유를 지적합니다.
"빠르고 조잡한 제품을 구축하는 것은 소프트웨어 개발자와 고객에게 저렴한 단기"승리 "가 될 수 있지만 사용자와 관리자에게는"손실 "이 될 것입니다." Boehm의 모델에서 고객은 최종 사용자가 아닌 계약 관리자입니다. 대부분의 회사에서 제품 관리자를 고객 대리자 또는 기능 목록을 위해 제품을 구매 한 사람으로 생각하십시오.
내 솔루션은 코드가 최소한 코딩 표준을 충족하도록 리팩터링 될 때까지 원래 개발 팀 (또는 최소한 원래 리드)을 해제하지 않는 것입니다.
customer의 경우, 제품 관리자를 고객 대리자로 간주하는 것이 합리적이라고 생각하고 신속하고 더러운 것을 제공 한 것에 대한 보상을받은 사람들의 그룹을 확실히 확장 할 수 있으므로 잘못된 방식으로 일을 수행 할 큰 구성 요소가 있습니다.
리팩토링은 협상 할 수 없습니다
소프트웨어 관리자로서의 역할을 포기하지 마십시오. 프로세스 및 제품 개선에 팀의 시간을 사용할 권한과 재량이 있어야합니다. 이 역할에서 팀을보다 전문적으로 만들기 위해 선택을 협상해야 할 수도 있습니다. 그러나 프로세스와 관련하여 마케팅과 협상하지 마십시오. 경험상 게임에서 패배하기 때문입니다. 엔지니어링 관리와 협상하십시오. 그것은 당신이 비전을 가지고 있음을 보여줍니다. 전문 소프트웨어 팀을 구축하는 것은 그들의 역할의 확장이며, 윈윈으로 보일 가능성이 훨씬 높습니다.