2009-06-08 2 views
2

저는 개발을위한 좋은 습관이라고 생각하는 것을 따르는 중/대형 회사에서 일하고 있습니다.유용하고 실용적이지 않은 실생활 개발 기법

우리는 "do, test, use it use, else throw away"에 기초하여 구현 된 개발 리소스를 보유하고 있습니다. 나는 소위 베스트 프랙티스의 대부분이 때로는 이상적이지만 실제로는 실현 불가능하거나 해롭다는 것을 발견했다.

예를 들어 우리 팀을 위해 dotproject 웹 사이트를 사용합니다. 아이디어는 작업을 추적하고 진행 상황을 업데이트하는 것이 었습니다. 우리는 "do, test, if"를 사용했고 그 결과는 ... 우리는 그것을 버렸고 우리 사이의 의사 소통과 회의 결론 및 DO DO 목록을 추적하는 데 극도로 유용한 포럼을 유지했습니다 ... 반면에 각 작업을 추적하는 것은 시간 소모적이고 비현실적인 것으로 판명되었습니다.

아무도 모르는 사람이 많았지 만 시간이 많이 걸리지는 않았지만 개발자가 모든 작업을 업데이트해야한다는 것을 기억해야하기 때문에 싫어하고 불만을 나타 냈습니다. 작업 시간에 대한 예상치는 비현실적인 것으로 판명되었습니다. 대부분의 시간.

제 질문은 어떤 개발 기술을 시도했지만 유용하지 않습니까?

나는 실제 생활에서와 마찬가지로 이론적 인 모범 사례가 아니라 경험이 있음을 의미합니다. 나는 새로운 기술 (또는 도구 또는 무엇이든)을 탐구하고자하며 다음에해야 할 일에 대한 의견을 원합니다. 우리의 현재 상태 : (유용한)

  • 내부 문제 추적 시스템
  • 반자동는 (모든 개발자는 그들을 만들 수 있도록 시스템의 순서로 메이크의 동등한를 유지하는) 구축합니다.
  • 자동 테스트가 없습니다. 테스트는 테스트 팀에서 수행합니다. 우리는 통합 테스트 및 광범위한 시스템 테스트를 수행합니다.
  • 두 개의 테스트 랩, 하나는 테스트 팀 용, 다른 하나는 개발자 용입니다 (두 개 이상의 시스템이 포함 된 테스트를 수행하거나 개발 시스템에서 테스트해야하는 경우)
  • 일반적으로 단위 테스트가 없습니다. 일부 라이브러리에는 라이브러리가 있지만 일반적으로 개발자는 자신이 원하는대로 유닛을 테스트합니다.
  • DOOR를 사용하여 전체 사양.
  • 테스트 프로토콜. 정식, Word로 작성되었습니다.
  • 소스 제어 (대소 문자 지우기). 일반적으로 모든 것이 메인 브랜치에서 이루어지며, 필요한 경우 브랜치는 해당 버전에 대한 수정을 위해 만들어진다.

참고 : 당신이 (당신이 괜찮다면 : P)을 할 수 있습니다, 당신이 당신의 제안을 정당화하려고 할 수 있을까? 어떻게 그리고 왜 유용 했습니까? 어떻게 일을 개선 했습니까?

+7

커뮤니티 위키가되어야합니다. –

+0

커뮤니티 위키를 만들었습니다. 코멘트에 6 개의 업보가 있었기 때문에 나는 그것에 만족하지 않습니다. 이기적이라고 들릴지 모르지만 일반적인 개발 문제에 대한 비공식적 인 토론은 필요하지 않으며 현재 상황과 현재 시나리오에 대한 답변을 원합니다. 둘째로 표준 질문은 평판을주고주고 사람들이 그들에 대해 더 많이 생각하고 직접 문제를 해결하려고하기 때문에 더 많은 품질 응답을 얻게된다고 생각합니다. –

+0

내 생각에 단지 질문은 위키가 될 것이지만 대답은 위키가 아니어야합니다. 위키가 모두 가장 완전한 대답이어야하기 때문입니다. –

답변

0

저는 개인적으로 자동 테스트 (단위 테스트 및 통합 테스트 모두)의 매우 큰 팬입니다. 내 견해로는 안전망과 같습니다. 개발자가 코드를 변경할 때 개발자가 무언가를 깨뜨릴 수있는 테스트 장치가 있다는 것을 알았을 때 더 안전하다고 느낍니다. 이렇게하면 새로운 기능을 더 빨리 도입 할 수있을뿐 아니라 리팩토링의 '두려움'을 제거 할 수 있습니다.

3

우리가 소개 한 가장 유용한 것들 중 하나는 프로젝트 위키인데, 사람들의 머리에 떠 다니는 작은 정보들에 대한 매우 유용한 투기장이지만 전체 문서에 기록하기에는 너무 사소한 것입니다.우리 팀 관리로

+1

프로젝트 Wiki는 매우 좋은 아이디어라는 것에 동의하지만, 가끔 엉망이되는 경향이있는 페이지를 추가하고 싶습니다. 때때로 일부 페이지는 구식이되기도합니다. 때때로 때때로 잘못된 것입니다. 프로젝트 위키를 '리팩토링하는'좋은 아이디어. – Gadi

1

서로 다른 방법론 개발 팀의 모든 종류의에 참여하는 데, 내 경험은 민첩 원칙의 대부분은 잘 작동하는 경향이 있다는 것입니다. 모두가 더 참여하기 때문에 일반적으로 개발이 더 재미 있습니다. 대규모 개발 환경에서는 모든 팀 구성원을 함께 배치하는 기본 원칙이 특히 개발자 옆에 별도의 정보 분석가와 테스터가있는 경우 큰 이점을 제공합니다. 정보 분석가, 테스터 및 개발자가 기능별로 함께 작업하게합니다. 이렇게하면 가능한 적은 오버 헤드로 최상의 정보 흐름이 생성됩니다. 이 항목을 Lean development process으로 가져 가세요.

일반적으로 우리에게 가장 큰 이점을 준 것은 통신의 장벽을 낮추는 것들이었습니다. 실용적인 의미에서 회사 위키는 정보 공유의 장벽을 낮추는 데 많은 도움을주었습니다. 좋은 버그/기능/RFC 추적 도구는 또한 프로젝트의 방향을 이해 관계자들 사이에서 공동으로 이해하는 데 많은 도움이되었습니다. 그리고 그러한 추적 도구는 내부에 있어야 할뿐만 아니라 고객의 장벽을 낮 춥니 다. 이것은 또한 기대를 관리하는 데 많은 도움이됩니다.

나는 여기서 시작하고 있다고 느낍니다. 다른 사람들은 틀림없이 더 많은 제안을 할 것입니다.

파스칼.

1

따라 서 this link ... 개인적으로 개발자로서 나는 내 성능을 향상시키는 것에 집중하고자합니다. 새로운 버그가보고되었는지 확인하기 위해 일부 버그보고 사이트를 확인하는 데는 신경 쓰지 않지만 수십 페이지 또는 수십 번의 클릭을 거치지 않고 신속하게 볼 수 있어야합니다. 필자는 코드를 작성하기 전에 기술적 인 디자인을 쓰는 데 신경 쓸 것입니다. 어느 누구도 사용하지 않는 최소한의 솜털 모양의 기능으로 성능을 높이려면 이러한 도구를 만들어야합니다. 예를 들어, 과거에는 Enterprise Architect를 사용하여 코드를 작성하기 전에 UML 모델을 작성했습니다. 그것은 잘 작동하지만 응용 프로그램은 내가 필요없는 몇 가지 결함과 기능이 많이 있습니다. Altoma UModel을 발견했을 때 필자는 내가 필요로하는 것을 정확하게 제공하는 UML 세대를위한 훨씬 더 사소한 도구로 빠르게 변했습니다. 아무것도 더, 아무것도 덜. 기본적으로 사람들은 최종 목표에 집중해야합니다. 그리고 최종 목표는 사용자가 사용할 제품을 만드는 것입니다. 많은 개발 팀은 다른 일에 집중하기 때문에 길을 잃습니다. 어떤 사용자도 자신이 사용하는 것을 어떻게 만드는지 신경을 쓰지 않습니다. 그들은 목표 달성을 위해 프로젝트가 필요합니다. 따라서 모든 프로젝트 중반에 참여할 새 팀 구성원을 포함하여 팀을 가장 편하게 만드는 것이 가장 좋습니다.

관련 문제