우리는 새로운 일일 이메일 뉴스 레터를 출시했습니다! 이제 매일받은 편지함에 가장 최근의 TNS 기사를 무료로받을 수 있습니다. 지금 등록, 이야기를 놓치지 마세요, 항상 알고 있습니다.
Facebook 소프트웨어 엔지니어 Pierre Raynaud-Richard’S Dev Culture는 협업을 장려하고 그들이 만든 코드에 대한 자부심을 장려합니다.
Raynaud-Richard에 중요합니다’S 논문은 그의 논쟁이다 ‘개별 코드 소유권’ 만트라. “많은 소프트웨어 개발 회사들이 믿고 실천합니다 “개별 코드 소유권.” 이것은 그러한 기본 원칙처럼 들리지 않을 수도 있지만 실제로 소프트웨어 조직의 작동 방식을 정의하는 데 먼 길을갑니다,” Raynaud-Richard를 씁니다.
이 접근 방식은 내부 전문가가 더 나은 서면, 버그가 적은 코드를 자랑스럽게 만들도록 장려하는 것처럼 보입니다. 많은 회사의 실제 영향은 혁신을 방해하고 개발자 기술 성장을 강화한다는 것입니다. Raynaud-Richard는이 접근 방식은 회사 혁신을 방해한다고 말합니다. 개발자들은 현 상태를 선호합니다. 시간이 지남에 따라 그들은 그들이 구축 한 코드 기반을 방어하고 그에 대한 암묵적 편견을 가지고 있으며, 방향의 급격한 변화가 필요한 새로운 기회 나 도전에 적응할 수 없습니다. 개별 개발자에게는이 접근 방식은 기술 기반을 신발하고 높은 충격 기회를 식별하는 능력을 좁히면서 기술 성장을 방해합니다.
“개별 코드 소유권은 언뜻보기에 몇 가지 매력적인 이점을 제공합니다. 불행히도, 그것은 역할의 엄격한 정의를 도입하는 비용으로 혁신과 회사 및 개인 성장을 제한 할 수 있습니다,” Raynaud-Richard를 마무리합니다.
오늘’S 풀 스택 개발 환경, 소프트웨어 팀은 어느 누구도 개발자가 모든 것을 알 수 없다는 것을 알고 있습니다. 그러나 많은 사람들이 개별 코드 소유권 모델이 경작하는 전문화 도구보다 유연한 엔지니어링 문화를 장려하기 위해보다 창의적인 수단으로 전환하고 있습니다.
CTO 및 공동 창립자 인 Ian Plosker에 따르면 Database-as-A-Service 스타트 업 Orchestrate는 5 개의 시간대에서 일하는 10 명의 엔지니어로 구성된 분산 팀을 보유하고 있습니다.
“우리는 돈입니다’t는 일반적으로 코드 소유권이 있습니다,” Plosker가 말합니다. “즉, 지역 전문가는 자연스럽게 발전하며, 일반적으로 코드를 개발하거나 검토 한 사람으로 시작합니다.” Plosker는 때때로 특정 엔지니어는 특정 기술이나 방법을 전문으로 할 수 있으며 특정 기술이 사용될 때 더 자주 프로젝트에 이끌 것이라고 말합니다.
“코드를 소유 한 한 사람은 위험합니다. 팀 전체가 일이 어떻게 작동하는지 알지 못하도록 할 수 있기 때문입니다. 운 좋게도 소규모 조직에서는 그 점에서 벗어나기가 더 어렵습니다. 지식이 조직 주변에서 확산되는 것이 정말 중요합니다.”
개별 코드 소유권을 피하기 위해 Orchestrate에서 사용되는 주요 프로세스 중 하나는 코드 검토입니다 “코드 리뷰는 지식 전달을위한 가장 중요한 장소 중 하나이며, 두 번째 사람은 코드를 알고 테스트 사례가 완료되었다고 평가했으며 코드 기반이 어떻게 작동하는지 알고 있습니다.”
Orchestrate는 여러 데이터베이스 모음을위한 단일 API 및 사용자 인터페이스를 제공합니다. 키 값으로 시작하는 동안이 제품은 이제 전체 텍스트, 시간 주문 및 그래프 검색을 포함한 여러 검색 형식을 활성화 할 수 있습니다. 최신 제품은 새로운 지리 공간 검색 기능으로 개발 된 개별 코드 소유권 접근법을 피했습니다
“우리는 Github를 상당히 사용하므로 GeoSpatial Search 기능을 추가했을 때와 같이 개발자가 기능 지점에서 작업하게됩니다. 그래서 엔지니어는 기능 분기에서 작업 할 것이며,이를 병합하라는 풀 요청을 열어줍니다. 바라건대, 그들은 모든 단위 테스트 및 통합 테스트를 추가하고’깊은 기술 평가가 발생할 때.
“기능이 중요하다면 우리는 사물에 적어도 두 쌍의 눈을 얻고 Github는 말하는 것과 같은 특정 줄에 대해 의견을 말할 수 있습니다 ‘이봐, 왜 이렇게 했어?’
“대화가 일어나고 풀 요청에 많은 지식이 포함되어 있습니다.
“완전히 검토되면 우리는 그것을 실행하고 테스트합니다.
“테스트를위한 몇 가지 단계가 있습니다. 내부적으로, 우리는 컴퓨터에 전체 오케스트레이트 스택을 구축 할 수있는 Orchestrate Runner라는 도구가 있습니다 (Java 기반 HTTP 서버, 웹 프론트 엔드 및이 모든 것들은 내부적으로 도구에 의해 회전됩니다). 저것’첫 번째 테스트 라운드.
“그런 다음 Github의 모든 커밋은 Travis CI에 의해 운영됩니다. 그것은 우리에게 아주 잘 작동하며 모든 단위 테스트 및 통합 테스트를 실행할 것입니다. 우리는 심지어 Travis CI 내에서 미니 오케스트레이트 스택을 회전시킵니다.
“우리는 또한 hipchat을 사용합니다. 우리는 심지어 코드 배포에 대해 많은 것을 알려줄 수있는 hipchat에 봇을 만들었습니다. 각각의 성공적인 빌드 마스터 후, 우리는 트래비스 빌드 끝에서 S3에 업로드 한 후 빌드 번호를 기준으로 해당 코드를 배포하도록 요청할 수 있습니다! 좋다, ‘Hey Prodbot, Build Number 46에서 USC 스테이징 환경을 배포.’ Plosker는 또한 개발자 팀이 서로에게 질문을하거나 코딩 패턴 및 디자인 선택에 대한 비공식 채팅을 시작할 수 있도록 채팅 클라이언트 인 Mumble을 지적합니다.
새로운 기능 디자인에 대한 협업 및 그룹 토론을 촉진하기 위해 Orchestrate는 모든 팀원이 아이디어를 요약 한 제안을 만들도록 권장합니다
“우리가 큰 기능을 시작하기 전에 누군가가 그 기능의 챔피언이되는 경향이 있습니다. 그래서 우리는 기능에 대한 제안서 작성을 좋아하는 경향이 있습니다’여기서 어떻게 작동하는지’s 우리가해야 할 이유, 도전, 기회… 이것은 Google 문서 인 경향이 있으며 전체 팀은이 작업을 수행 할 것입니다. 정말 유기적입니다.
“예를 들어, 지금 당장 우리는 검색 페이스 팅 작업을하고 있으므로 모든 사람이 댓글을 달고있는 문서가 있습니다. 이 시점에서 이미 우리는 상당히 많은 지식이 순환합니다.”
온라인 메뉴와 음식 배달 서비스는 13 개국에서 운영되어 2014 년 상반기에 58%의 매출 성장을 발표 한 Just Eat는 영국 사무실에서만 약 60 명의 개발자로 구성된 엔지니어링 팀을 보유하고 있습니다. 회사가보고 있습니다 “상당하고 빠른 성장” 기술 책임자 인 Anton Jefcoate에 따르면 개발자가 두 가지 사무실에서 함께 일하고 원격으로 협력하도록 요구합니다. “성장률은 우리를 몇 가지 좋은 사례로 이끌었습니다. 기초는 이미 거기에 있었지만 할 수 있습니다’T 개발 팀을 확장 할 때 홍보하는 엔지니어링 문화에서 벗어나십시오.
“우리’VE는 소비자 응용 프로그램, 비즈니스 앱, API 작업을하는 Devs와 같은 다른 영역을 다루기 위해 Dev 팀을 몇몇 그룹으로 나누었습니다.. API 팀은 전체 플랫폼의 핵심입니다. 따라서 API 팀은 더 나뉘어지고 플랫폼의 특정 부분을 제어합니다.
“모든 새로운 프로젝트는 API Driven and Native Applications 팀에서 두 사람을 함께 모을 것입니다’s 프로젝트에서 최소 2 명, 최대 10 명. 그것은 분명히 기능의 크기와 플랫폼을 통해 기능이 얼마나 멀리 퍼질 것인지에 달려 있습니다.”
Jefcoate는 Raynaud-Richard가 소프트웨어 회사의 개별 코드 소유권 문화 모델의 단점을 부를 권리라고 생각합니다.
“단점은 우리에게 충실한 것들입니다,” Jefcoate가 말합니다. “나는 Agile이 그 문화를 깨뜨린 것들 중 하나라고 생각합니다. 나는 민첩하기 전에 Devs가 고립되었다고 생각하지만 Agile은 개인을 통해 팀을 격려합니다. 속도를 추적하거나 제작할 팀의 더 큰 이익을 살펴보면 모든 사람이 작업을 고르게 공유합니다. 우리는 모두 칩의 문화를 가지고 있습니다. 난 그것을 믿는다’S는 작업 관행과 관련이 있으며 민첩한 흐름을 사용하는 사람들의 유형 : 여기’할 일, 모든 사람이 갑판에 도착하면’T 개별 코드 소유권 시나리오에 적합합니다.”
그냥 먹는 것은 클라우드 기반 소프트웨어 스타트 업 사이에서 더 친숙해지는 여러 문화적 측면을 복제합니다. 세대의 다른 사람들과 마찬가지로 (2001 년에 시작), 그들은 오픈 소스 프로젝트를 만드는 문화를 가지고 있으며, 종종 신청자들이 정당한 EAT API를 개 식품을 요청하여 단지 먹을 수있는 것을 보여 주거나 방금 먹을 수있는 기회를 지적하는 채용 프로세스를 사용합니다’S 코드베이스.
Jefcoate’개별 코드 소유권에서 나올 수있는 S 코드 이점 :
“스택을 내려다보고 매일 문제를 해결하는 데 사용하는 모든 오픈 소스 도구 만 볼 필요가 있습니다. 따라서 전체 개발자 커뮤니티로서 우리는 더 큰 선의로부터 혜택을받습니다. 오픈 소스는 많은 사람들이 문제를 해결할 수있게합니다. 시도하고 테스트 한 양의 무료 제품이있는 곳으로 갈 수있는 장소는 거의 없습니다. 오픈 소스는 작동하며, 우리에게 다시 기여하는 것이 우리가 회사로서 우리가 무엇을하고 있는지에 대해 약간의 진술을합니다. 우리가 내놓은 오픈 소스는 (비교적 유아기) 개발자 커뮤니티에 문제를 해결하는 데 도움이되는 일반적인 것들입니다. 우리는 개발자가 플랫폼에서 새로운 기술을 테스트하는 데 도움이되도록하여 개별 코드 소유권 (자부심을 키우고 개인적인 터치 및 개인 투자를 장려하는 것과 같은 것)의 이점을 얻으려고 노력합니다. 그런 일이 발생하면 아마도 우리 회사 밖의 물건을 해결할 것입니다’오픈 소스 프로젝트가 시작되는 방법. 일반적으로 스케일링 및 탄력성에 관한 것입니다. 우리는 그것을 먼저 내부적으로 채택하려고 노력하고 그것이 커뮤니티가 혜택을받을 수 있는지 확인합니다.”
개별 코드 소유권 모델이 아닌 협업 문화를 더 포함시키기 위해, Just Eat는 분기 별 내부 해커 톤을 보유하여 개발자를 새로운 팀 구성으로 모았습니다 “그룹 코드 소유권을 사용하면 개발자가 더 참여하거나 도메인 전문가가되기 때문에 코드가 더 나은 방법과 같은 일부 이점을 놓치게됩니다. 내부 해커 톤은 개발자가 개인 애완 동물 프로젝트를 수행하도록 장려하기 위해 멀어졌습니다.”
Just Eat Jira를 사용하여 작업을 추적하고 풀 요청을 조정 한 다음 모든 풀 요청이 Peer를 검토합니다 “팀은 반 독립적이지만 모든 것이 글로벌 제품 요구 사항에 의해 주도됩니다. 글로벌 요구 사항을 지나면 팀은 자체 관리하는 경향이 있습니다. 따라서 시작 요청은 일반적으로 팀 대화 내에 있습니다. 그런 다음 동료 리뷰는 학습뿐만 아니라 검증이기 때문에 환상적인 과정입니다. 우리는 많은 자동화를 가지고 있습니다 : 우리는 실제로 CI에 예/아니오를 배치 할 수 있습니까?.”
Jefcoate는 또한 회사를 본다’회사가 가치있는 개별 코딩 문화의 대립을 입증하는 한 쌍 프로그래밍 (두 개의 프로그래머가 함께 라인을 위해 라인, 코딩 프로젝트를 수행하는 방법)을 사용합니다 “우리는 새로운 개발자와 일반 개발 관행으로 쌍 프로그래밍을 사용합니다. 내가 특별히 새로운 일을하고 있다면, 나는 누군가와 짝을 이루고 다른 사람이 그것에 대해 알고 있는지 확인할 것입니다. 원격으로 수행되며 페어링은 코드 품질 표준화를위한 최고의 도구 중 하나입니다.”
Jakub Nesetril은 API 디자인 및 문서 코딩 도구 스위트 인 Apiary의 창립자이자 CEO입니다. 이번 주 APIARY는 API 제품 및 서비스를 만들 때 대기업이 개별 코드 소유권에서 벗어나도록 돕기 위해 Enterprise를 위해 양봉장을 출시했습니다. Nesetril은 기업이 각각 다른 방식으로 작성된 여러 API를 다루는 것을보고 있으며 이제는 일반적인 코딩 구조와 명명법이 필요하며 특정 비즈니스 장치에 할당 된 개별 개발자보다는 여러 팀원이 작업했습니다.
수천 명의 양봉장 사용자에 걸쳐 Nesetril은 일반적으로 개별 해커 또는 소규모 팀이 각 개발자가 거의 개별 코드 소유권 접근 방식을 가질 수있는 오픈 소스 도구를 사용하는 것을보고 있습니다 (대부분 유일한 코더이기 때문에). 팀이 성장함에 따라 양봉장 상업용 제품을 사용하기 시작하고 20 명의 팀원에게 도달 할 때까지 팀을 위해 Apiary로 이동합니다. 이 단계에서 조직 인프라는 개발자 코딩이 다양한 API 프로젝트에서 균일 할 수 있도록 제품 관리자를 데려 오는 경향이 있습니다.
팀이 40-60 이상의 개발자 수에 도달하면 Enterprise 고객 중 API 건축가가 고용되는 경향이 있습니다. “그들이 어려움을 겪고있는 것 중 하나는 API를위한 일관된 디자인입니다’우리가 Enterprise를 위해 양봉장을 건설 한 이유,” Nesetril이 설명합니다. 이 제품의 핵심에는 회사가 개발자가 명명법 및 데이터 형식과 같은 조직 규칙을 준수 할 수 있도록 도와주는 스타일 가이드 도구가 있습니다.
Nesetril은 엔터프라이즈 고객이 개별 코드 소유권의 오래된 개념을 포기하는 것을보고 있습니다. 특히 많은 사람들이 합병 및 인수를 통해 이질적인 API의 유산을 물려 받았거나 개별 사용 사례가 연결되지 않은 비즈니스 단위 내에서 초기 API 개발 프로젝트를 이끌었 기 때문입니다.
“역사적으로, 책임을 창출함에 따라 코드 소유권에 대한 강력한 추진력이 있었지만 협업에 어려움을 겪었습니다. 우리는 개인의 개발자 팀간에 개인이 프로젝트의 여러 부분에서 회전 할 수있는 기업의 개발자 팀간에 더 많은 공유 리소스가 있습니다,” Nesetril이라고 말합니다.
“공동 접근 방식의 속임수는 단일 버전의 진실이 필요하다는 것입니다. 모든 사람이 회사 내부의 모든 전문가가 될 수있는 것은 아니지만 내부적으로 무언가를 작업 할 수있을 때 좋습니다. 단일 버전의 진실 문화를 가진 가장 큰 트릭은 협업을 제한하지 않고 그 장소에 도착하는 것입니다.” Nesetril은 Enterprise의 양봉장이 개발자가 개별 코드 전문가가되도록 장려하는 문화를 만들지 않고 여러 API를 관리하려는 기업에 이상적이라고 생각합니다 “그들이 API를 작업 할 때, 사전 예방 적 수준의 고급 점검 및 알림에 적합한 경우, 예를 들어 날짜 형식으로 잘못하고있는 두려움에 의해 쇠약 해지지 않으면 더 실험적이고 야심 찬 일 수 있습니다. 사람들은 일찍 의미있는 기여를 시작할 수 있습니다.”
Raynaud-Richard’S 블로그 게시물이 실제로 수행중인 개별 코드 소유권의 시간과 죽음을 표시하는 것입니다. 이미 스타트 업에서 기업에 이르기까지 모든 수준의 비즈니스는 더 많은 협업 개발 접근 방식을 수용하고 있습니다. Google 도구와 Hipchat은 모든 수준의 개발자 팀에서 일반적으로 사용되며 새로운 개발자 제품이 더 협력적인 정신을 강요하는 데 도움이되고 있습니다. 오늘’S Dev 환경, 전문화와 일반 지식 사이의 중간 도로는 가장 큰 코딩 기술이 비동기 동의 구축 인 곳에서 추구해야합니다. 분산 팀을 통해 지식 전달을 협력하고 촉진하는 능력.
Flickr Creative Commons를 통한 기능 이미지.
поль зултесь знаниями сооб щества. экспер 탈바자 добавля яю 방법 Ва 익 딘 сведения В эту 관어 관어 관어 관어 관어  соз  соз данну сппорелелерессссссс 그리고보고합니다. Вж момете делать то же самое.
это статья нового 신자. а · э э сперты улучш Â th rее, делясь своими мыслями напр충.
если вл Â хотите внести свой свой вклад, запросите приглашение, отетив статататака 법적 повреа엽. подроб 변태
27 апр에서 마지막으로 업데이트되었습니다. 2023 г.
페어 프로그래밍은 하나의 컴퓨터와 하나의 키보드를 사용하여 동일한 코드베이스에서 동시에 동일한 코드베이스에서 작업하는 공동 작업 코딩 관행입니다. 스크럼 및 XP와 같은 민첩한 소프트웨어 개발 방법론에서 종종 코드 품질, 생산성 및 학습을 향상시키는 데 사용됩니다. 이 기사에서는 Pair 프로그래밍이 개발자 간의 코드 소유권 및 지식 공유를 촉진하는 방법과 효과적으로 작동하는 모범 사례가 무엇입니까?.
помогите другим TRE, рассска подроб 변은 (не ме нее 125 символов) отена
добавить сохранить
코드 소유권은 개발자가 작성하고 유지 관리하는 코드에 대한 책임과 책임의 감각입니다. 개발자가 코딩 표준을 따르고 테스트 작성, 리팩터 및 수정 버그 수정 가능성이 높기 때문에 코드 품질에 긍정적 인 영향을 줄 수 있습니다. 그러나 지식 사일로 생성, 협업 감소, 특정 개인에 대한 의존도 증가와 같은 부정적인 영향을 미칠 수도 있습니다. 페어 프로그래밍은 전체 팀이 코드베이스를 담당하는 집단 소유권을 장려하여 코드 소유권의 균형을 맞출 수 있으며 특정 기능 또는 모듈의 단독 전문가 또는 소유자는 없습니다. 쌍 프로그래밍은 또한 개발자가 자신의 전문 지식과 통찰력을 파트너와 공유하고 서로를 배울 수 있기 때문에 지식 손실의 위험을 줄일 수 있습니다.
помогите другим TRE, рассска подроб 변은 (не ме нее 125 символов) отена
добавить сохранить
Sky의 Java 개발자
назад отправить
спасибо з а уведомление! Вш больше не увидите Âтот вклад.
페어 프로그래밍은 실제로 코드 소유권을 완전히 제거합니다. 건강한 쌍의 회전으로 프로그램 된 환경에 어떤 부분도 실제 소유자가 없습니다.
지식 공유는 개발자 간의 정보, 기술 및 경험을 전송 및 교환하는 과정입니다. 학습, 혁신 및 문제 해결을 향상시킬 수있을뿐만 아니라 신뢰와 피드백의 문화를 장려 할 수 있습니다. Pair 프로그래밍은 개발자가 질문을하고 개념을 설명하고 기술을 시연하며 피드백을 제공 할 수있는 자연스럽고 대화식 학습 환경을 만들어 지식 공유를위한 강력한 도구입니다. 페어 프로그래밍은 또한 개발자를 다양한 관점, 접근 방식 및 코딩 스타일에 노출시켜 지평을 넓히고 기술을 향상시킬 수 있습니다.