"실패한"프로젝트가 실제로 "성공"인 경우 어떻게해야합니까?


14

현재 진행중인 프로젝트가 제대로 구축되지 않아 미래에 실패 할 것이며 유지 관리에 악몽이 될 경우 어떻게해야합니까? 행복하니?

신경 쓰지 않아도 될까요? 클라이언트가 이것보다 더 나은 응용 프로그램을 가질 수 있다는 것을 깨닫지 못하는 것이 괜찮습니까?

어떤 시점에서 나는 그것을 올바르게 구축하는 것에 대해 관심을 멈추고 흐름과 함께 가나 요?

답변:


37

고객이 행복하면 올바른 일을하고있는 것입니다. 많은 사람들이 핫도그를 만드는 방법을 몰라도 핫도그를 즐깁니다.

앱이 문제에 대한 좋은 해결책이지만 기초가 잘못되었다고 걱정하는 경우 점진적 으로 개선하는 방법을 파악 하고 제품을 업데이트 할 때 개선 사항을 구현할 계획을 세우십시오. 증분이 핵심입니다. 전체 부분을 다시 작성하려는 경우 관리자는 이것이 합리적이지 않다고 말할 것입니다. 완전은 선의적일 수 있습니다. 조회 넷스케이프가 다시 네비게이터 "을했다"때문에 IE가 앞서 갈 수 있도록하는 방법의 jwz의 이야기를.

앱의 UI 자체가 엉망인 경우 클라이언트는 "어려운 방법"과 비교하기 때문에 여전히 행복 할 수 있으며 버그가있는 프로그램조차도 그보다 훨씬 더 나을 수 있습니다. 당신은 그것을 당신의 배경과 기술 때문에 상상할 수있는 이상과 비교하고 있습니다. 다시 한 번 점진적으로 개선 할 수있는 방법을 고려하고 계획의 일부로이를 조정하십시오.

걱정하지 마십시오. 당신의 일이 최선이되기를 바랍니다. 그러나 청구서를 지불하는 것은 고객이며 귀하가 아닌 청구서를위한 소프트웨어를 작성한다는 사실도 기억하십시오.


Robert, 링크를 추가해 주셔서 감사합니다. 나는 iPhone에 타이핑하고 있었고 그것을 찾기 위해 컨텍스트 전환을 원하지 않았습니다.
benzado


또한 : jwz 's Groupware Bad . (모든 링크에 대해 유감
스럽게도

나는 20 년 이상 된 소프트웨어를 사용하고있다. 현재까지 사용되어 왔으며, 20 년 전의 표준에 의해서도 제대로 작성되지 않았다. ( "이 코드는 개가 아침을 먹으며 이제 저녁 식사 시간이다"는 기억에 남는 견적입니다.) 유지해야하는 재산 비용-10 배가 소요되지만 경쟁에 대한 진입 장벽은 예외적으로 높기 때문에 고객은 지불해야합니다. 대안은 소프트웨어와 비용 구조가 유사한 compeditor입니다. 돈을 인쇄하는 것이 라이센스이며, 비즈니스 우수 소프트웨어가 기술적 우수성을 위해 노력한다면 파산 할 것입니다.
mattnz

4

그들에게는 악몽이 아닙니다. 그것은 당신에게 악몽이 될 것이고 그들은 당신이하고있는 일을 알고 있다고 생각하는 것처럼 보이므로 고정 될 것입니다. 프로그래밍을 이해하지 못하는 사람들이 앱이 실제보다 나쁘다고 생각하십니까? 이것은 예외가 아닙니다. 할 수있는 동안 즐기십시오. 클라이언트가이 앱을 능가하기를 바랍니다. 그들은 절대적으로 쓸모없는 사업으로 다른 방향으로 갈 수 있습니다. 당신은 생각과는 전혀 다른 이유 때문에 그것을 다시 쓸 수있을 것입니다.


3

최고 경영진이 멈춘 것처럼 보더라도 당신이 돌보는 일을 중단해서는 안된다고 생각합니다. 이 경험을 통해 중요한 것은 잘못되었다고 생각하는 모든 것을 기억하고 문서화하는 것입니다. 미래의 이러한 실수를 피하는 것은 결국 현재의 관리자 그룹이 아니라면 아마도 다음 관리자 그룹이 될 것입니다.


2

코드의 품질을 향상시키기 위해 리팩토링을 포함하여 개발의 다음 단계에 대한 아이디어를 제시하기 시작했습니다. 기술적 인 세부 사항에 너무 깊이 들어 가지 말고 제안한 수정 사항이 지속적인 고객 만족 을 의미하는 방법을 지적하십시오 . 경영진은 항상 새로운 제품을 찾고 있기 때문에 정리와 새로운 기능을 혼합 할 준비를하십시오.

일반적으로 고객은 문제가 발생할 때까지 유지 관리에 신경 쓰지 않습니다. 이상적으로 회사는 평판에 관심을 갖고 코드를 유지하여 보호하려고합니다.

그러나이 제품이 매우 단기적인 것으로 간주 될 경우 실제로 제품을 올바르게 운영하는 데 부가 가치가 없을 수 있습니다. 이 경우 저렴한 수정 프로그램을 찾으십시오. 개발자 정신에 큰 가치가있는 노력은 거의 없습니다.


2

당신은하지 않습니다. 기술적으로 정확하고 유지 관리하기 쉬운 리팩토링을 시작하기 위해 자금 / 권한 / 구매를 확보하는 데 성공했습니다. 또는 "이전 코드베이스를 유지 관리합니다"부서에서 성공하기 위해 성공을 사용합니다.


0

아마도 당신의 우선 순위 / 관점이 잘못되었을 것입니다.

모든 소프트웨어 프로젝트에서 가장 중요한 것은 사용자 요구 사항을 충족한다는 것입니다.

이 달 C / S 디자인 패션에 따르면 "정확한"것보다 중요한 시간이 더 중요합니다.

예, 올바른 디자인 패턴을 사용하고 기술 등을 올바르게 사용하십시오. 단, 강력하고 유지 보수 가능한 방식으로 사용자 요구 사항을 쉽게 구현할 수있는 경우에만 가능합니다.

실제로 비즈니스 요구를 충족시키는 실제로 잘못 작성된 시스템은 누구도 원하지 않거나 사용할 이유가없는 훌륭하게 기록 된 아름답게 문서화 된 코드보다 항상 좋습니다.


0

현재 사용자와 의사 소통하고 개선이 필요하다고 생각되는 측면을 물어보십시오. 그런 다음 개선이 필요하다고 생각하는 일부 측면을 개선하고 사용자가 제안한 측면도 개선 할 수 있습니다. "사용자가 제안한 개선을 구현하기 위해 필요"로 개선을 정당화 할 수 있습니다.

예를 들어 : 사용자가 검색 기능이 느리다고 생각하는 경우. 단순히 검색 이상의 기능을 제공하는 더 나은 데이터 계층을 생성하여이를 개선 할 수 있지만 소요 시간을 정당화 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.