개발자의 속도를 늦출 수있는 것은 무엇입니까? [닫은]


12

개발자의 속도를 늦추는 요인은 무엇입니까?

다음과 같은 답변을 게시하지 마십시오.


@ 마크 트랩 : 응?! 그것은 전혀 복제되지 않습니다 ... : -S
Tamara Wijsman

1
질문이 유용하지 않다면 가까운 시일 내에 제거하겠습니다. 사람들은 이미 다른 질문으로 덮여있는 산만을 나열하고 있습니다. 산만하지 않은 것들을 찾는 경향이 있습니다. TheLQ와 Bill은 좋은 예입니다.
Tamara Wijsman

허, URL이 엉망이되었습니다. 복제는 프로그래밍 중에 방해가 될 수있는 것은

산만하지 않은 것들에 관한 질문이기 때문에 질문을 공개하기로 선택했습니다.
Tamara Wijsman

11
Stackoverflow, SuperUser, Programmers ... 예, 기본적으로 다음과 같은 사이트 :)
bedwyr

답변:


49

아 이거 쉬운데 :

  1. 회의
  2. 더 많은 회의
  3. 마지막 회의에 관한 회의
  4. 다가오는 회의를 준비하기위한 회의
  5. 회의를위한 파워 포인트 프레젠테이션 개발
  6. 구현되지 않았거나 구현해서는 안되는 기능 및 판매 담당자가 모든 이유로 뛰어 드는 이유를 논의하는 회의를위한 파워 포인트 프레젠테이션 개발. 인터넷에 연결되어 있지 않거나 하드 드라이브에 액세스하지 않으면 현재 위치에 따라 앱에 표시 할 문서를 예측할 수 없습니다. 아니, 그냥 물어봐도 돼.

4
한마디로 : 관리? ; o)
n1ckp

11
@ n1ck 아니요. 잘 관리하면 개발자의 속도가 빨라질 수 있습니다. 프로그래머의 시간 예약이 잘못되면 (즉, 관리자가되는 일면) 개발 속도가 느려질 수 있습니다.
wheaties

3
회사에서 이런 일을하는 것은 저를 죽이는 것입니다. 회의, 더 많은 회의, 마지막 회의에 대한 회의, 준비 할 회의, 우리가 무엇을 성취 할 수 없는지에 대한 회의. 왜 아무것도 달성 할 수 없습니까? 당신은 듣고있는 방에 40 명의 개발자가 있습니다!
Mike M.

2
이 답변은 Powerpoint 슬라이드에 거의 적합합니다.

44

여기 동일한 문제
pramodc84

1
나는 랩탑을 최대한 빨리 사서 그 상황에 처해 있다면 회사가 그것을 허용한다고 가정합니다.
adamk

느린 컴퓨터는주의 산만 원인이됩니다. 프로그래머가 기다릴 때마다주의 산만 모드로 들어가고 얼마 후까지 프로그램으로 돌아 오지 않습니다.
edA-qa mort-ora-y

그들은 몇 주 전에 내 컴퓨터를 교체했습니다. 4 년 된 것보다 덜 강력합니다. 좋은.
MetalMikester


25

StackOverflow, programmers.stackexchange.com 등 :)


4
동의하지 않는다! StackOverflow는 문제를 해결하는 데 도움이되므로 개발 속도가 빨라집니다!
Wizard

3
불쾌한 침묵. 매분마다 나는 '폐기물'을 버렸다. 20을 되찾았다.
MIA

11
+1. 전혀 공격적이지 않습니다. 그래서 지연에 매우 좋습니다. 내 새 페이스 북입니다. :)
back2dos

@ back2dos SO의 굉장함을 페이스 북인 작품과 비교하지 마십시오.
adamk


15

현재 작업에 적합하지 않은 프로세스를 따르려고 시도합니다.

이것은 모든 종류의 일이 될 수 있지만 내가 볼 수있는 일반적인 것은 다음과 같습니다.

  • 테스트중인 코드에 맞지 않는 테스트 방법론
  • 산출물 보증서보다 훨씬 더 민첩하거나 전통적인 프로세스
  • 선택한 툴셋과 다른 툴셋을위한 지침
  • 프로젝트 요구에 맞지 않는 설계 원칙
  • 작업에 적합하지 않은 툴셋 사용

이러한 모든 것들은 일부 프로젝트 나 상황에 따라 매우 가치가있을 수 있지만, 일부 조직은 모든 ​​방법을 한 가지 방법으로 시도하고 종종 생산성이 떨어지는 다른 프로젝트에 적합하지 않습니다.


13

정치

예 : 둘 이상의 사람이 요구 사항을 소유 한 경우 (또는 더 나쁜 경우, 서로 다른 두 가지 투자 이익), 개발이 진행되는 동안 요구 사항을 경쟁하고 상충하는 변경 사항을 만듭니다.


9

다른 사람의 대화

그리고 일반적으로 소음

많은 답변이 상황 전환 및 영역 밖으로 나가는 것에 대해 이야기하며 소음, 특히 대화는 저에게 도움이되는 것 중 하나입니다.

내 큐브 월드에서 나는 사방의 소음과 대화에 둘러싸여있다. 한 줄로 메인 프레임 팀은 큐브 행에서 지속적인 계획 회의를 개최합니다. 때때로, 그들은 벽을 따라 사무실에서 컨설턴트들을 만나게 될 것입니다.

다른 한편으로, 웹 팀 회의 테이블은 서쪽 큐브 벽의 다른쪽에 있으므로 모든 회의의 일부입니다. 남쪽 입방체 벽의 반대편에는 프린터가 있으며, 항상 출력물을 기다리는 사람들의 잡담에 좋습니다.

" 소음 제거 헤드폰을 얻을 수 없습니다 "라는 즉각적이고 확실한 대답은 원하는 것이 침묵 일 때 도움이되지 않습니다.

때로는 코드 검토를 위해 점심을 먹지 않는 점심 시간에 종이 더미를 가져 가지만 일반적으로 눈에 띄는 TV가 있습니다. 아무도보고 있지 않으면 끄겠습니다. 그렇지 않으면 건물의 다른 부분에있는 다른 부서에서 빈 큐브를 찾을 것입니다.

프로그래머가 생각하고 숙고하고 고려하는 작업을 수행하려면 프로그래머가 할 수있는 환경이 필요합니다.


때때로 내가있는 곳에 너무 조용해집니다. 나는 모든 사람의 마우스 클릭과 무거운 호흡에 집중하는 것을 시작합니다. 마치 침대에 누워 귀뚜라미를 듣는 것과 같습니다.
kirk.burleson 12

8

적절한 테스트없이 너무 많은 코드를 작성합니다.


이것이 내 경험에서 분쇄가 멈추는 가장 큰 원인입니다.
Paddyslacker

1
@Paddyslacker : 더 많은 테스트 = 더 생산적인가? 응? 처음에는 프로그래밍에 참여하지 않아야하는 사람들에게만 해당됩니다. 테스트가 유용 할 수 있지만 "정지되는 가장 큰 원인"은 무엇입니까? 진심 이세요?
n1ckp

1
@ n1ck : 예, 진심입니다. 코드는 유지 관리 할 수없는 상태가되고 코드 기반의 테스트 및 테스트 기능이 없기 때문에 각각의 새로운 기능을 추가하기가 점점 더 어려워집니다. 더 많은 테스트를 작성하는 사람들이 "처음에는 프로그래밍에 참여해서는 안된다"고 생각하는 것이 재미 있다고 생각합니다. 그렇다면 Roy Osherove, Michael Feathers, Uncle Bob, Kent Beck 등은 프로그래밍하지 않아야합니까?
Paddyslacker

@Paddyslacker : 모르겠다. 코드를 보지 못했습니다. 어쩌면 그들은 당신의 설명에서 관리에 더 좋을까요? 왜 테스트가 제대로 이루어지지 않아 코드를 유지 보수 할 수 없습니까? 테스트는 어떤 종류의 마술로 나쁜 코드를 훌륭하게 만들 수 있습니까?
n1ckp

1
@ n1ck, 테스트는 코드를 처음 작성할 때 비용을 지불하지 않지만 나중에 코드를 유지 관리해야 할 때 엄청난 차이를 만듭니다.

5

고품질 커피 부족.


또는 좋은 음료수 부족. 디카 페인 다이어트 체리 콜라가 너무 그리워요! 우리나라에서는 다이어트 콜라 또는 카페인이없는 콜라 만 섭취 할 수 있으며 체리 콜라는 전혀 섭취 할 수 없습니다 :-(
Wizard

1
@Wizard-Diet Cherry Coke를 제공 ​​한 회사에서 일하는 데 사용합니다. 내가 왜 떠 났는지 모르겠습니다. 당신의 고통을 느낀다면.
JeffO

2
@Wizard : 마라 스키 노 버찌 한 병을 사서 시럽을 음료에 넣습니다. 이제 원하는만큼 강하게 만들 수 있습니다 ... (바닐라와 동일한 트릭 : 실제 바닐라 콜라가 사전 혼합 재료보다 훨씬 우수합니다)
Shog9

@씨. C : 문제는 우리나라에서는 이용할 수없는 다이어트 + 데 카페 콜라가 필요하다는 것입니다.
Wizard

5

일단 개발이 시작되면 절대로 평가해서는 안되는 완벽한 추정을해야한다고 생각합니다. 제 생각에는 닭 계란 시나리오입니다.


당신이 그것을 많이 사용한다면, 나는 추정에 대해 공부하는 사소한 시간을 보내는 것이 좋습니다. 그런 다음 "추정치 인 경우 실제로는 걸리는 시간이 아니라"고 대답 할 수 있습니다.
MIA

오, 나는 그 하나를 전에 사용했습니다, 응답은 항상 추정에 나쁘다는 것입니다. 만약 가시적 인 2-4 시간 작업으로 나눌 수
없다면

5

다른 사람의 고장난 빌드 수정


누군가 공동 작업자를 멘토링하지 않는 것 같습니다.
표시 이름

@bold : 비동기에서 자연스럽게 발생할 수 있습니다. 일일 빌드 컷오프 시간이 오전 5시이고 최신 버전을 오전 9시에 체크 아웃한다고 가정하겠습니다. (즉, 사람들이 일찍 출근하는 것을 막을 수는 없습니다.)
rwong

4

의제가없는 회의.

기계가 느립니다.

두 번째 모니터가 없습니다.

멋진 새 마우스 대신 공이있는 오래된 마우스.

컴퓨터에 인터넷 액세스가 부족하여 MSDN / stackoverflow 등을 쿼리하는 데 약간의 어려움이 있습니다.


의제없는 회의와 관련된 것은 회의 납치범입니다. 알다시피 .. 당신은 달력에 한 시간 동안 올려 놓았지만 20 분 안에 주제가 마무리 되더라도 20 분을 채울 다른 주제를 찾는 사람이 있습니다. 나는 당신을 공감하지만, "두 번째 모니터 부족"으로 당신을 공감해야합니다. 편리하지만 가끔씩 가지고 있지 않아도 속도가 느려지지 않습니다.
MIA

4

너무 많은 시간을 프로그래밍

프로그래밍을 정말로 좋아하더라도 너무 많은 시간을 소비하면 결국 화상을 입을 수 있습니다 ...


4

"영역"밖으로 나가는 모든 것을 피하십시오. 즉, 이메일받은 편지함, 트위터 팝업 응용 프로그램, 회사 채팅 등을 의미합니다.

갖는 조용한 작업 조건 이 바탕 화면을 피하는 수단 소음이 너무합니다.


3

사전에 알고 있다면 쉽게 구현할 수있는 변경 요청.


"둘 다 얼어
붙으면

1
바보 따옴표. 얼음 위를 걷는 것이 항상 쉬운 것은 아닙니다.
Peter Boughton

1
@Peter Boughton : 변동하는 사양에서 소프트웨어를 개발하는 것이 어렵고 얼어 붙은 것을 쉽게 개발할 수있는 스케일을 선택하면 얼음 위를 걷는 것이 항상 쉽습니다. 6 살짜리에게 그렇게하도록 가르 칠 수 있습니다. 그러나 나는 당신이 똑똑한 엉덩이에서 즐거움을 얻는다는 것을 알고 있다고 생각합니다.
back2dos

그리고 6 살짜리 아이에게도 변화하는 스펙으로 작업하도록 가르 칠 수 있습니다. 똑똑하지 않고, 따옴표를 과도하게 사용하면 자극이되지 않습니다. 고정 사양은 고정되어 있지 않은 경우 고정 사양을 쉽게 개발할 수 없으며, 어느 사양에 플럭스가 있는지 미리 알면 사양을 변경할 수 있습니다.
Peter Boughton

3

코드가 잘못되었습니다.

처음부터 바로 작업을 수행 할 수 있었던 다른 사람의 일부를 다시 작성해야한다는 것은 제가 상상할 수있는 가장 큰 시간입니다.


2

당신을 늦추는 많은 것은 이것에 대한 좋은 블로그 게시물입니다.

...

많은 프로젝트가 핵심 인프라 수준의 기능을 반복해서 반복하여 비즈니스를 경쟁 업체와 차별화하는 기능을 제공하는 속도를 늦 춥니 다.

...

제품과 혁신이 개발자가 차별화되지 않은 작업에 소비하는 시간을 줄이는 데 도움이되는 것은 불가피합니다. 문제는 그러한 서비스와 도구가 어떤 형태를 취해야 하는가입니다.

...


+1 : 정답입니다. 회사가 기술 부채를 줄이기 위해 시간을 투자하지 않기 때문에 직장을 떠났습니다. 개발자는 "핵심 인프라 수준 기능을 반복해서 반복해야합니다."
Jim G.

2

요즘 가장 큰 둔화는 특정 순서로 수행되어야 할 여러 가지를 동시에 개발하기 때문입니다. 그래서 John은 (무고한 사람들을 보호하기 위해 이름이 변경되었습니다.) John이 SSIS 패키지에 필요한 구성 요소를 완성 할 때까지 기다립니다. Harry는 내보내기 테스트를 위해 볼 데이터가 필요하기 때문에 레코드 가져 오기를 기다리는 속도가 느려집니다. 테이블에 데이터가 없을 때 복잡한 내보내기 보고서를 작성해야합니까?) 디자인이 완료되지 않고 작업을 수행하는 데 필요한 데이터베이스 테이블이 아직 생성되지 않아 종료되지 않을 수도 있기 때문에 모두 속도가 느려집니다. 그들이 할 것이라고 말한 것 등


1
팀 구성원에게 작업을 너무 얇게 분산시켜 발생하는 병목 현상에 대해 이야기하는 것 같습니다.
MIA

1
팀이별로 분산되어 있지는 않지만 경영진은 프로젝트 할당의 종속성에 대해 생각하지 않았습니다. 그리고 다른 사람들이이 프로젝트에 배정 된 시점에 준비된 것으로 생각 된 것은 사람들이 실제로 사용하려고 시도한 것이 아닙니다.
HLGEM

2

이와 같은 stackexchange.com에 대한 질문에 답변하십시오.


그런 다음 터치 입력 기술을 향상시키는 것을 고려할 수 있습니다.

2

주의를 산만하게하지 말라고 요청했지만 큰 요소가 될 수 있습니다. 작업 환경을보고, 자주 중단되거나 프로젝트와 관련이없는 다른 작업을 수행하도록 요청되었는지 확인하십시오.

때로는 개발자가 이전에 해본 적이없는 일을하고 있기 때문에 문제가 발생하여 도움을 구할 위치를 모르는 경우가 있습니다. 소규모 팀이나 개인이라면 더욱 어려울 수 있습니다. 우리는 다소 교만하고 일을하는 방법을 모른다면 인정하기를 좋아하지 않는 경향이 있습니다. 또한 우리는 다른 사람들에게 도움을 요청하는 것을 좋아하지 않습니다. 개발자가 마감일을 충족시킬 수 있는지 또는 마감일을 충족해야 하는지를 묻고 정직하기를 바라는 것을 제외하고는 개발자가이를 인정하도록하는 쉬운 방법은 없습니다. 다른 도움을 받거나 도움을 줄 수있는 사람을 찾으라고 제안해야 할 수도 있습니다.

명확하게 정의 된 요구 사항이 없기 때문에 요구 사항을 파악하거나 결정해야합니다.


2
  • PC가 사용 가능한 상태로 부팅 될 때까지 약 15 분 동안 기다려야 함
  • PC가 응용 프로그램을 전환하기를 기다리는 중
  • 사무실에서 자신의 차 / 커피를 만들어야하는 유일한 사람입니다.
  • 깨진 키보드 (고정!)
  • 전무 이사 (미국 최고 경영자) 사무실 밖 (사무실이 아닌 곳)과의 사이에 파티션이있는 경우 (특히 회의가있을 때)
  • 보스는 이메일로만 연락 할 수 있지만 다른 사람은 모두 건물에 있습니다.
  • VCS를 사용할 수 없음-분명히 내 뇌에 있어야 함
  • 작은 화면
  • 점심 이외의 휴식 시간을 허용하지 않음
  • 건물에 sysadmin이 있음에도 불구하고 원격 서버 백업을 수행해야 함
  • 백업을 수동으로 수행하라는 지시를 받았습니다.
  • 불필요하게 복잡한 바보 같은 시간 관리 시스템을 사용하도록 강요
  • 2 개월 동안 요구 사항에 대한 모호한 아이디어 만 얻음

계속할 수 있지만 금요일인데 일을 잊고 싶습니다.


거기에서 나가야 할 것 같은 소리!
adamk

2
  • 문서 부족 (시스템, 회사 등)
  • 주석 처리 된 코드 부족
  • 시스템에 대한 불완전한 이해
  • 정치 (예 : 불필요한 회의, 서류 작업, 경영진의 장애물 ...)
  • 불완전한 요구 사항 문서
  • 페이스 북!
  • 잠이 너무 많이?

1

프로젝트에 너무 많은 사람들이 있습니다.

경영진이 프로젝트에 더 많은 사람을 추가해야하는 실제 데이터를 기반으로 결정하지 않는 경우가 여러 번 나타났습니다. 그것은 무슨 일이 일어나고 있는지 거의 알지 못하는 사람들의 손을 잡기 위해 모든 것을 막아야하는 일을 알고있는 ppl에서 끝납니다. 나는 하나 이상의 프로젝트 버섯을 보았고 화장실에서 빨리 들어가는 동안 조금 느리지 만 괜찮아지기 전에 화장실에 들어갔다.

그래서 당신은 모든 여분의 사람들에 대한 예산을 완전히 날려 버렸기 때문에 속도가 너무 빠르거나 전혀 배달하지 못하기 때문에 한 달 늦게 지났습니다.


0

다른 사람들이 언급 한 것 외에도 코드를 컴파일 및 실행하기로 결정하고 긍정적 / 부정적 결과를 얻는 것 사이먼 길 . 이상적으로이 RTT 는 1 초에 불과하지만 시간의 예를 보았습니다. BTW, 단위 테스트는이 문제를 해결하려고합니다.

또 다른 관련 작업 환경 의 일반적인 대기 시간 입니다. 다른 쪽의 컴퓨터에 대한 원격 데스크톱 연결을 통해 소름 끼치는 연결을 통해 작업해야한다고 상상해보십시오. 나 거기 가봤 어. 나는 이것을 싫어했다.


0
  • 과도한 서류

  • 주변에없는 사람에 대한 의존성 (예 : 상사-질문을해야하지만 항상 회의중인 경우)

  • 부적절한 도구 및 장비.

  • 사람들은 아무 이유없이 노를 젓거나 (UI로 눈에 띄는 변화는 이것에 영향을 받음) 사소한 것들에 대한 논쟁을 주장합니다.

  • 깨진 커피 머신

  • 잘못된 작업이 할당 됨


0

에어컨이 작동하지 않습니다.

따라서 사무실의 온도는 겨울 -5의 여름에 최대 40도까지 올라갑니다.

-5는 장갑과 유형을 착용 할 수 없으므로 입력하기에 좋지 않습니다. 40은 내 생각을 느리게합니다.


0

이것은 매우 개인적이고 논란의 여지가 있지만, 초기 설계 또는 "품질"코드 작성에 대해 너무 많이 계획하고 생각합니다. "주간 코딩으로 계획 시간을 절약 할 수있다"는 말이 있습니다.

그러나 종종 프로그래머가 코딩을 시작하기 전에 좋은 디자인을 스케치하려고합니다. 프로그램을 진행하면서 문제와 솔루션에 대해 더 많이 배우고 솔루션을 좋은 디자인으로 신속하게 리팩토링 할 수있는 "가는"것이 더 쉽다는 것을 알고 있습니다. 발생하는 대부분의 문제는 코딩이 시작될 때 거의 알 수 없기 때문에 (나의 미약 한 마음에 가장 가깝습니다) 미리 디자인하는 데 많은 시간을 낭비하는 것은 시간 낭비입니다.

이것이 제가 TDD를 좋아하지 않는 이유이기도합니다. 테스트를 작성하는 데 시간이 많이 걸리므로 리팩토링을 덜하거나 테스트를 다시 작성하는 데 많은 시간이 걸립니다. 단위 테스트는 프로젝트의 일부 단계와 일부 단계에 적합하지만 하나의 시작은 그들 중 하나가 아닙니다. :)

빠르게 작업하고 개선하십시오.


-1 당신의 생각을 이해할 수 있지만, 디자인 단계의 요점은 리팩토링의 필요성을 제한하는 것입니다. 또한 작동중인 것이 깨지거나 풀리지 않도록 항상 뛰어난 단위 테스트를 지원합니다. 계획을 세우지 않으면 아키텍처가 불완전한 코드를 유지하려고 할 때 다른 모든 작업을 더 어렵게 만듭니다.
adamk

아키텍처가 잘못 될 것이라고 누가 말합니까? 나는 당신이 과도한 설계 단계를 원하지 않고 프로젝트 중에 품질 코드에 도달하기 위해 많은 리팩토링 및 재 아키텍처를 수행해야한다고 말하고 있습니다. 반면에, 이것이 작동하려면 서로 다른 사람들이 서로의 코드를 다루지 않는 코드 책임을 명확하게 정리해야합니다.
Homde

경험에 따르면 아키텍처가 열악하다고합니다. 바지와 카우보이 코딩으로 비행하는 것은 아마도 개발 중에 할 수있는 최악의 일입니다. 일주일 동안 지속되는 디자인 단계를 거치면 수 개월의 프로그래밍 시간을 절약 할 수 있으며 처음으로 예상되는 작업을 수행하는 코드로 이어질 것입니다. TDD의 기본 개념 은 테스트를 변경 하지 않는다는 것입니다. 이러한 테스트는 실제 사용성을 모방하기위한 것이며 코드에서 테스트를 완료 할 수 없으면 코드가 잘못되었습니다.
Mike S

내 경험에 달리, 그러나 나는 카우보이와 팀 : 좀 더 코딩 일주일에 의해 배운에 따라 생각 하고 그것을 보여주기 위해 몇 가지 코드를 했어요. 물론 극단적이고 지속적인 리팩토링을 수행하지 않고 유지하기에 민첩한 팀 / 카우보이가 있다면 아키텍처가 좋지 않습니다. "디자인 단계"를 할 수 있다고 생각하고 모든 것을 배우고 처음으로 올바르게하는 것은 순진합니다. 프로토 타입의 진정한 가치는 여러분이 배우는 교훈이며, 버리고 올바르게 수행합니다. 여러 번 빠른 :)
Homde

0

Programmer 's Block : 다른 속도 저하와 달리이 문제를 해결하기가 더 어렵습니다.

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