지원 부패에서 ​​벗어나 기술 부채 상환을 시작하는 방법!


13

나는 "친구"가 있습니다. 예, 좋은 시작입니다. 그러나 솔직히 이것은 내가 아닙니다!

기본적으로 그가 지금 약 4 년 동안 성공적으로 프로젝트를 진행하고있어, 어려움이있다 기술 부채 잡았습니다 그는 거의 불가능 제품 지원을 중단하기 위해 찾는 것 (이 조정을하고 있음) 실제로으로 이동 실제 개발.

나는 다양한 제안을하고, 모든 시간을 기록하고, 티켓을 만들고, 이메일에 응답하지 않는 등의 일을했습니다. 이것의 문제는 그가 "유용한"일을하지 않는다는 것을 상기시키는 것입니다.

기술적 부채는 처음에는 제품에 큰 이점이 있었고 사용자의 요청과 전화를 받아서 신속하게 구현하기 때문에 크게 발생했습니다.

내가 알고 싶은 것은 누구나이 틀에 박힌 사람에게서 벗어날 수있는 방법에 대한 제안을 가지고 있다는 것입니다. 그 중 상당 부분은 사용자의 인식을 바꾸어 자신이 울리는 것을 생각하지 않을 것이라고 생각하지 않습니다. 그때 그리고 거기에서 행해진 다.

지원에 대한 요구 사항과 사용자의 상대적 압력을 고려하여 실제 개발을 계획하는 것은 매우 어렵다는 것을 이해하지만 계획은 더 잘 말하고 있습니다 (위 참조).


2
귀하의 질문을 올바르게 이해하면 친구가 코드를 정리하기 위해 사용자 지원 / 변경 요청을 처리하는 데 너무 바쁩니다. 결과적으로 사용자가 요구하는 새로운 기능이 있습니까?
Larry Coleman

@ larry coleman, 예, 점성이있는 원, 새로운 지원이 지연되어 지속적인 지원만큼 우울합니다.
MrEdmundo

답변:


13

친구의 조직에는 변경 관리를 수행 할 사람이 절실히 필요합니다. 이 개인 또는 그룹은 변경 요청 및 버그 수정을 수행하여 비즈니스 영향 및 필요한 노력에 따라 우선 순위를 정합니다. 이렇게하면 현재 친구를 괴롭히는 사람에게 더 중요한 작업이 아니라 조직 전체에 더 중요한 작업이 먼저 수행됩니다.

편집 : 이것이 작동하는 방법의 예로서, 대부분의 조직에는 심각도가 있습니다. 가장 높은 심각도 수준은 작동하지 않는 업무상 중요한 응용 프로그램 또는 기능입니다. 비즈니스가 문제를 해결하기 위해 할 수있는 일이 있으면 심각도를 다음 단계로 낮 춥니 다. 응용 프로그램이 업무상 중요하지 않은 경우 심각도가 훨씬 낮아집니다. 새로운 향상에 대한 요청은 일반적으로 개별적으로 우선 순위가 결정됩니다.


이해, 그것은 원칙적으로 수행 해야하는 일상적인 작업에 어떻게 도움이되며 어떤 우선 순위를 설정하는 것처럼 보입니다.
MrEdmundo

2
나는 당신의 질문에서 그것들을 고수 할 수있는 충분한 권한을 가진 우선 순위를 설정하는 단일 사람이나 그룹이 없다는 것을 추측하고 있습니다. 큰 문제입니다. 나는 당신의 친구가 해결할 수 없다면 새로운 직장을 구할 것을 제안하기까지합니다.
Larry Coleman

흠, 나는 당신의 요점을 알지만, 이것이 그가 일하는 대부분의 작업이 우선 순위로 간주된다는 것을 감안할 때 이것이 어떻게 비즈니스 인식을 바꾸는 데 도움이되는지 확실하지 않습니다. 개인의 요청이 항상 최우선 순위 였지만 그 사람을 엿 보지 않고는 더 이상 그렇지 않다는 생각을 어떻게 바꾸나요? 아마도 그는 더 많은 직원이 필요합니다.
MrEdmundo

2
이것이 작동하는 유일한 방법은 비즈니스의 순위 담당자가 우선 순위를 설정하는 경우입니다. 예를 들어, 업무 부서장이 우선 순위를 정하면 나머지 업무는 업무를 중요하게 생각할 때 함께 진행됩니다. 그들은 그것을 좋아하지 않을 수도 있지만 그것은 친구의 문제가 아닙니다.
Larry Coleman

10

다른 사람이 전화를 받도록하고

우리는 바로 그것을 얻을 것입니다.

아주 좋은 제안입니다. 가능한 빨리 작업을 시작하기위한 기능 요청을 작성하겠습니다. 요청에 대한 진행 상황을 확인하려면 여기에서 [케이스 추적기 티켓 링크]를 추적하십시오. 앞으로는 다음과 같은 방법으로 선물 요청을 제출할 수도 있습니다. [사례 추적기 링크]

아마도 내 생각에 가장 간단하고 효과적인 방법 일 것입니다. 마지막 비트는 시간이 지남에 따라 전화를받는 사람의 스트레스를 줄이려고합니다.

현재 '우선 순위'시스템에서 겪고있는 문제는 모든 것이 우선 순위 일 때 우선 순위가 없다는 것입니다 . 이를 위해 친구는 @Larry Coleman의 조언에 필사적으로주의를 기울여야합니다. 사람들은 변경 요청을 관리하는 개발과 분리되어 있습니다. 이상적으로는 별도의 그룹이 작업의 우선 순위를 정해야한다는 데 동의 할 때까지 친구가 기능 요청에 대해 알지 않아야합니다. 비즈니스를 이해하고 개발을 이해하는 한 우선 순위를 정한 지금 전화를받는이 새로운 사람 일 수도 있습니다.


3
+1 "모든 것이 우선 일 때, 아무것도 중요하지 않습니다"
Larry Coleman

2

나는 비슷한 상황을 겪었다. 이 제품은 신발 끈으로 제작되었으며 출시 당시 시장에서 처음이었습니다. 처음에는 성공했지만 (솔로 사업자에게는) 2003-2007 년에는 모든 것이 효과가 있다고 생각합니다. 나는 직원을 찾았지만 좋은 직원을 고용하는 것이 비싸고 결코 쉽지 않다는 어려운 방법을 배웠다. 나는 당신의 친구가 비슷한 상황에 있다고 생각합니다.

제 경우에는 어떤 시점에서 상황이 내리막 길로 향하는 것이 분명해졌습니다. 사업은 여전히 ​​성장하고 있었지만 경쟁은 고개를 들이고 시장은 마치 줄어드는 것처럼 보였고, 2006 년 중반에는 경기 둔화가 진행되고 있다는 등의 초기 징후가있었습니다. 나는 제품이 결국 죽을 것이라고 결정했다. 나중에 (고객과 나 자신을 위해) 더 좋습니다.

돌이켜 보면, 내가 나쁜 결정을 한 것만 큼 좋은 결정을 내렸을 지 모르지만 여기에 간단한 설명이 있습니다.

  1. 적절하고 조기에 직원을 배치하십시오. 필요한 경우 자금을 확보하십시오. (아무것도 찾지 않은 것이 가장 큰 실수였습니다.) 판매를한다면 돈을 찾을 수 있습니다.

  2. 버전 관리 / 단위 테스트 / 모두 모범 사례 관련 후 팔라를 사용하십시오. 그들은 대학에서 가르 칠 때 모두 어리 석고 / 맛있고 / 관심없는 것처럼 보이지만 일반적으로 좋은 이유가 있습니다.

  3. 특히 기술 지향적이라면 영업 / 마케팅 담당자를 한 명 이상 고용하십시오. (그렇다면 제휴 네트워크가 있어도 마케팅보다 기술 문제에 더 많은 시간을 할애 할 수 있습니다).

  4. 당신의 지원을 크라우드 소싱하십시오. 사용자가 스스로 도울 수 있도록 포럼을 설정하십시오. 발권 시스템을 설정하고 전문가 사용자 (일반적으로 빈번한 포럼 사용자)를 가상 조수로 특별 섹션으로 안내하십시오. 이 작업을 필요로하는 수많은 고객을 처리하고 적은 비용으로 작은 작업을 수행 할 수있게하여 더 큰 그림에 집중할 수 있습니다.

  5. 제공하는 지원의 양을 줄이려는 노력을 극대화하십시오. 지원이 적을수록 더 재미있는 일을해야 할 시간이 더 많아집니다. 제품이 더미 증거가 될 때까지 고객은 감사 할 것이며 영업 및 지원 직원도 감사 할 것입니다.

  6. 실제 개발자가 일부 지원 (하루에 한두 시간, 실제와의 손길을 잃지 않도록)을하도록하고, 리엔지니어링 / 제품 변경 (UI, 기능)을 제안 할 수있는 자유로운 손길을줍니다. 지원에 더 적은 시간을 보낼 수있는 것을 식별하십시오. 같은 이유로 사용자가 계속해서 멈춤을 당하면 지원 요청을 제거 할 수 있도록 최대한 빨리 문제를 해결하려고합니다. 더 똑똑한 사람들은 실제로 그렇게합니다. 그것이 바로 당신이 원하는 것입니다.

  7. 제품이 죽을 것이라고 생각되면 여기저기서 죽이고 다음 단계를 진행하십시오. 정말로 죽게 내버려 두십시오. 현금 암소는 현금 암소입니다. 그것이 목적을 달성하면 정육점에 보내십시오. (고객을 위해) 부드럽게하십시오. 그러나 유지 보수 오버 헤드가 경쟁자에 비해 후발자가되고 기술 부채가 쌓이는 이점으로 인해 연장 된 생존이 너무 많은 시간을 낭비하지 않도록하십시오. , 어쨌든 새로운 기능을 더 빠르게 구현할 것입니다.


1

한 번에 한 줄. 각 수정에 약간의 시간이 더 걸리고 해킹을 정리하고 자동 테스트를 추가 할 수 있습니다. 종종 올바른 작업을 수행하면 다른 핫픽스를 추가하는 것보다 훨씬 빠릅니다. 경영진이 종종 좋아하는 것처럼 경영진이 친구를 더 빨리 일하게한다면, 피부가 두꺼워지고 "완료되면"모드로 들어가야합니다.


0

핵심은 그를 어느 정도 보호하기 위해 어떤 종류의 개발 방법론을 가지고 있습니까? 예를 들어, 스크럼에는 스프린트 중에 수행 할 작업이 일반적으로 변경되지 않는다는 아이디어가 있습니다. 따라서 무엇을해야하는지, 바로 수행 할 수없는 것에 대한 규칙이 있습니다. 또 다른 질문은 경영진이 자신의 지원 틀에 속하지 않기를 원하는 정도를 어느 정도까지 지원 하는가입니다. 냉담한 관리가 친구의 프로젝트에 약간의 죽음을 가져올 수 있기 때문에 이것은 또한 중요 할 수 있습니다.


0

가장 좋은 방법은 버스를 멈추고 되돌아 보는 것입니다. 당신의 친구는

  • 시스템의 각 문제와 그 문제의 원인에 대한 보고서를 작성하십시오. 디자인 문제와 리팩토링 필요성의 양이 강조되어야한다.
  • 문제를 해결하기 위해 대략적인 타임 라인을 제공해야합니다
  • 보고서는 관리자에게 전달한 다음 시스템의 지분 보유자에게 제공해야합니다.
  • 고정 기간 동안 모든 기능 개발을 중지해야합니다.

많은 프로젝트가이를 수행합니다. 경영진이 확신 할 수없는 경우는 잃어버린 사례이지만, 그들이 동의하면 장기적으로 시스템이 다시 형성 될 수 있습니다.


이론적으로는 좋지만 응용 프로그램이 미션 크리티컬 한 경우 기능 정지가 옵션이 아닐 수 있습니다.
tdammers

그런 다음 유지 관리를 위해 다른 개발자를 분기하고 추가해야 할 때입니다.
Tjaart
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.