반응형

우선순위 결정에는 몇 가지 중요한 원칙이 있다.
그 원칙들은 모두 분석이 아닌 용기와 관련된 것들이다.
첫째, 과거가 아닌 미래를 선택할 것,
둘째, 문제가 아니라 기회에 초점을 맞출 것,
셋째, 평범한 것이 아닌 독자성을 가질 것,
넷째, 무난하며 쉬운 것이 아니라 변혁을 가져다주는 것이 그것이다.
- 피터 드러커, ‘결과를 위한 경영’에서


이겨본 사람들이 잘 이기는 것처럼 성과창출도 일종의 습관입니다.
한번 성과를 낸 사람은 이후에도 계속 잘 하는 반면,
초기에 성과를 내지 못하면 오랫동안
저성과 조직(혹은 사람)으로 남아 있을 가능성이 큽니다.

고성과 조직과 개인은 뭔가 특별한 원칙들을 가지고 있습니다.
‘문제가 아닌 기회에 초점을 맞춘다’와 같은
드러커 원칙은 잘 새길 필요가 있습니다.

반응형
반응형

https://brunch.co.kr/@delight412/550

 

코딩과 글쓰기는 비슷한 점이 많다

골든래빗이 펴낸 '개발자 원칙'은 다양한 기업 현장에서 뛰는 나름 경력 있는 개발자들이 개발에 대한 각자 중요하게 생각하는 것을 담은 책이다. 9명이 강조하는 개발자 원칙이 담겼는데, 글쓰

brunch.co.kr

골든래빗이 펴낸 '개발자 원칙'은 다양한 기업 현장에서 뛰는 나름 경력 있는 개발자들이 개발에 대한 각자 중요하게 생각하는 것을 담은 책이다. 9명이 강조하는 개발자 원칙이 담겼는데, 글쓰기를 업으로 삼다 보니 글쓰기과 코딩이 비슷한 점이 많다는 내용을 담은 장동수 데이원컴퍼니 CTO의 글이 눈길을 끈다.

글을 읽다 보니 글쓰기와 코딩은 비슷한 점이 참 많은 것 같다. AI와 관련한 변화에 직면한 것도 그렇고. 챗GPT가 나오면서 글쓰는 일에도 변화가 있을 것이란 전망이 많은데, 코딩 쪽 역시 마이크로소프트 깃허브가 내놓은 코딩 AI 도우미인 코파일릿이 많은 관심을 끌고 있다.

반응형
반응형

신경과학자, 심리학자 그리고
진화론자들은 인간의 뇌가 사회적 협력의 즐거움과
필요성에 맞게 프로그램돼 있다는 데 동의한다.
우리의 뇌는 사회적 협력을 원하고,
필요한 경우 협력을 증진시킨다.


- 레이 달리오의《원칙》중에서 -


* 하버드대학의 한 교수는
원하는 만큼의 돈, 성공한 직업, 육체적 건강이 있어도
행복을 결정짓는 가장 중요한 요소는 '사랑스러운 관계'라고
이야기합니다. 내가 사랑하는 사람들, 보고 싶은 사람들,
지금은 조금 멀어졌지만 그리운 사람들이 있지 않으신가요?
소중한 사람들에게 오랜만에 안부 인사 어떠세요?
'잘 지내요? 우리 오랜만에 차 한잔할까요?'

반응형

'생활의 발견 > 아침편지' 카테고리의 다른 글

'사랑을 느끼는' 황홀한 상태  (0) 2023.01.31
아빠가 되면  (0) 2023.01.30
보물 상자를 깔고 앉은 걸인  (0) 2023.01.27
진통제를 먹기 전에  (0) 2023.01.26
쉼이 가져다주는 선물  (0) 2023.01.25
반응형

단기와 장기 두 마리 토끼를 잡자

 

경영자는 맷돌에 코가 닿을 정도로 열심히 일하면서
시선은 나아가는 방향을 향해야 한다.
만약 경영자가 다가올 100일에 대한 관리를 소홀히 하면
다가올 100년도 없을 것이다.
경영자는 무엇을 하든, 긴급함뿐만 아니라
기본적인 장기 목표와 원칙을 추구해야 한다.
장단기 균형을 맞춰야 한다.
- 피터 드러커


리더는 장기적 관점에서 생각하며
단기적 결과를 위해 장기적 가치를 희생하지 말아야 합니다.
단기적인 이익에 집중하면, 장기적인 성장과 발전 잠재력을 훼손할 수 있습니다.
그렇다고 장기적인 관점만을 유지할 경우 당장의 생존에 위협을 받을 수 있습니다.
리더는 항상 단기적인 이익과 장기적인 성장 발전을 균형있게 추구해야 합니다.

반응형
반응형

인간관계를 잘 맺으면서 리더십을 발휘하는 원칙은 다음과 같다.
첫째, 사람들을 당신이 바라는 방식이 아닌, 있는 그대로의 그들로 받아들여보세요.
섣불리 판단하려들지 말고 그 사람이 가지고 있는 특성 그대로 이해하세요.
둘째, 가까운 사람에게 잘하세요.
가까운 사람에게 잘할 때 훌륭한 인재들이 몰려듭니다.
- 하워드 슐츠, 스타벅스 창업회장 

이어지는 내용입니다.
셋째, 리스크가 아주 커 보이는 상황이라도 상대를 믿어줄 수 있는 능력이 필요합니다.
못 믿으면서 일을 시키는 리더는 반드시 실패합니다.
마지막으로 일을 추진해나갈 때 모든 사람들의 동의나 인정을 받지 않고서 지낼 수 있어야 합니다.
항상 모든 직원의 동의를 얻으려는 노력은 해롭고 비생산적이며 관계를 파괴합니다.

반응형
반응형

대부분의 사람들은 약점이 없는 것을 더 좋아한다.
우리는 세상에 약점이 노출되면 당황스러워하고, 그 약점을 숨기도록 길러졌다.
그러나 약점을 인정하는 것은 약점에 항복하는 것이 아니라,
약점을 극복하는 첫걸음이다. 약점을 공개할 수 있다면
당신은 더 자유로워지고, 약점에 더 잘 대처할 수 있게 된다.
- 레이 달리오, ‘원칙’에서 

일반적인 생각과 달리 사람들은 약점이 있는 사람,
실수를 인정하는 사람을 더 믿고 더 따릅니다.
나와 같다는 생각이 동질감과 유대감을 강화시킵니다.
약점 공개가 나쁜 습관을 없애고 좋은 습관을 개발하는데 도움을 줍니다.
약점 공개가 나를 키웁니다.

 

#유대감 #동질감 #나쁜습관 #습관 #개발

반응형
반응형

12가지 필수적인 소프트웨어 개발 원칙과 개념

 


업계에 처음 발을 들여놓는 젊은 개발자들은 한꺼번에 많은 원칙과 개념에 대한 이야기를 듣게 된다. 관리자로 올라서는 경력 개발자는 그동안 피해 왔지만, 기술적인 측면에 폭넓은 영향을 미치는 비즈니스 개념에 대한 이야기를 듣게 된다.


다음은 지난 20년 동안 소프트웨어, 그리고 소프트웨어 비즈니스에 있어 가장 중요한 12가지 개념이다.

 

1. 권한 없는 책임

경력이 어느 정도 된다면 권한 없는 책임을 접해봤을 것이다.


극단적인 사례를 들면 경비원에게 분기별 수익 책임을 지우는 것이다. 경비원이 아무리 노력해도 회사의 수익성을 높일 수는 없다. 경비원이 영업 회의에 참석한다 해도 신참 영업 사원이 전화를 더 많이 걸도록 유도할 수는 없다. 영업 사원을 움직일 영향력이 없기 때문이다. 마케팅 회의에 참석해봤자 마케팅 부서에서 새로운 캠페인을 구상하도록 이끌 수도 없다.


물론 극단적인 예다. 그러나 짊어지는 책임과 실제 행사할 수 있는 영향력 사이의 격차는 그 정도가 얼만큼이든 스트레스의 원천이다. 권한 없는 책임은 조직적인 기능 장애를 나타내는 징후이며(모든 조직에 어느 정도는 있음), 해결책은 권한을 높이거나 책임을 낮추는 것밖에 없다.


2. 반복하지 말 것

 “반복하지 말 것” 원칙은 시스템에서 표현은 명확하게, 한 번만 해야 한다는 것이다. 코드 한 블록을 잘라내서 여러 곳에 붙여 넣을 경우 그 설계에는 결함이 발생한다. 그 결함을 가장 먼저 수정해야 한다.


이 원칙을 위반할 경우 시간을 낭비할 뿐만 아니라 유지보수 문제도 발생한다. 여러 지점에서 잘라내서 붙여넣기한 버그를 모두 찾아 수정해야 한다. 또한 보안 결함이 복제되는 경우를 상상해 보라.


이 문제를 수정하는 방법은 전체 아키텍처를 수정하는 것부터 코드 생성기, 종속성 주입에 이르기까지 많지만 어떤 방법을 사용하든 일단 수정해야 한다!


3. 필요할 일이 없다

앞으로 필요할 것 같아서가 아니라, 지금 필요한 기능을 구현하라. 앞으로 필요할 것 같다면 십중팔구 필요할 일이 없다. 나중에 정말 필요해지면 그때 가서 넣으면 된다.


모듈을 설계하면서 그 모듈이 이번 릴리스와 앞으로의 릴리스에서 해야 할 모든 작업을 미리 생각하고 반영하려 한다면 앞으로 일어나지 않을지도 모르는 기능까지 지원하는 쓸데없이 복잡한 소프트웨어를 만들게 된다.


미래를 예측하는 것보다 현실을 이해하는 편이 훨씬 더 정확하다. 현재에 집중하라.


4. 최소 실행 가능 제품

새로운 무언가를 만들 때 최선은 *할 수 있는* 모든 일을 시원찮게 하는 것보다 정말 잘 할 수 있는 최소한의 일을 하도록 하는 것이다. 이것을 최소 실행 가능 제품(Minimum Viable Product, MVP)이라고 한다.


MVP를 하면 사용자나 고객에게 유용성을 시연하기가 더 쉬워진다. 또한 잘못될 경우 고쳐야 할 부분도 더 적고 실패할 경우 잃을 투자도 더 적다.


5. 좁고 깊게

이 개념은 MVP와 관련된다. 모든 사람에게 모든 것을 줄 수는 없다.


제품이나 기업이 더 많은 일을 하려고 노력할수록 잘 할 수 있는 가능성은 낮아지고 비용과 복잡성은 높아진다. 넓고 얕은 것은 바람직하지 않다.


집중의 문제다. 규모가 큰 조직이나 성숙한 소프트웨어는 “플랫폼”과 사업부를 만들어 더 많은 리소스를 적용할 수 있지만 작은 회사는 한꺼번에 너무 많은 것을 하면 안 된다.


그러나 대규모 조직에도 “좁고 깊게” 원칙은 필요하다. 조직 또는 플랫폼의 각 부분에 대한 원칙으로 두어야 한다. 개별적인 폭이 모여 넓게 될 수는 있지만 각각의 요소는 깊어야 한다.


6a. 최소 비용(운영의 탁월성)

6b. 최고의 제품(제품 리더십)

6c. 최고의 토털 솔루션(고객 친밀성)

 “최고의” 또는 가장 효과적인 조직은 이 세 가지 전략 중 하나를 추구하는 조직이다. 결과적으로 이러한 조직은 가장 비용이 낮은 조직, 최고의 조직, 또는 최고의 서비스를 제공하는 조직이다.


가장 낮은 비용에 초점을 맞출 경우 그 분야에서 최고의 제품이 될 수 있는 최신 기능 일부를 구현하지 못하게 된다.


최고의 서비스(고객 친밀)를 제공하는 데 초점을 맞출 경우 일반적으로 제품이 여러 방향으로 분산되어 각 고객에 따라 대폭 맞춤 제작된다. 이 경우 혁신과 사용 편의성 측면에서 대가를 치르게 된다.


이 목표 중 규모의 확장이 용이한 것은 두 개뿐이다. 가장 낮은 비용 또는 최고의 제품이다. 원하는 검색 결과를 얻지 못할 때 구글 고객 서비스에 전화를 걸 수 없는 이유가 여기에 있다.


7. 테스트 먼저

현대 IDE에서는 테스트를 가장 먼저 해야 한다. 이는 단위 테스트를 먼저 작성한 다음 여기서 클래스 등을 생성해야 함을 의미한다. 결과적으로 테스트가 용이한 소프트웨어가 되므로 더 높은 품질의 소프트웨어가 만들어진다. 또한 계약에 의한 설계와 같은 다른 설계 원칙을 따르도록 유도하는 효과도 있다.


8. 계약에 의한 설계

각 루틴에 대해 그 루틴이 어떤 작업을 하고 그 작업을 위해 무엇이 필요한지를 알아야 한다. 방법은 계약에 의한 설계(Design by Contract)다. 여기서 계약은 소프트웨어의 각 요소를 위한 형식적이고 간결하며 확인 가능한 인터페이스 사양을 말한다. 이 접근 방법을 사용하면 부작용, 전역 변수 및 기타 여러 가지 잘못된 것들을 피할 수 있다.


9. 경합 조건에 주의

일반적으로 경합 조건은 계약에 의한 설계의 다중 쓰레드 위반을 의미한다.


가장 단순한 형태로 보자. 두 개의 쓰레드가 동일한 변수를 변경할 때 한 쓰레드가 먼저 한다면 문제 없다. 그러나 두 번째 쓰레드가 변수를 먼저 변경하는 경우 오류가 발생하고 이것이 경합 조건이다.


이러한 종류의 설계 결함을 탐지하는 것이 불가능할 때도 있다. 간헐적이며 부하가 큰 경우에만 발생하는 경우가 많으므로 단위 테스트로 포착할 수 없다. 고도의 방어적 설계와 쓰레드 간 협업을 피하는 것이 경합 조건을 방지하기 위한 좋은 방법이다. 그러나 메시징 및 이벤트 지향 소프트웨어에서도 다른 버전의 경합 조건이 발생할 가능성은 있다(다만 확률이 낮을 뿐임). 동시성은 어렵다.


10. 콘웨이의 법칙

콘웨이의 법칙(Conway's Law)이란 팀의 커뮤니케이션 구조를 반영하는 소프트웨어를 개발할 수밖에 없다는 법칙이다. 바꿔 말하면 팀의 근본적인 구조를 바꾸지 않고서는(바꾸기는 무척 어려움) 소프트웨어의 근본적인 구조를 바꿀 수 없다.


11. 빠른 실패

 “빠른 실패(Fail Fast)” 원칙은 실리콘 밸리에서 인기 있지만 어디에 적용해도 좋다. 기본적인 개념은 오류가 발생할 경우 소프트웨어는 대놓고, 거침없이 그 오류를 드러내야 한다는 것이다.


아마추어 프로그래머는 모든 변수에서 null을 확인하고, null이 될 수 없는 경우에도 이를 0이나 빈 문자열 등으로 대체한다. 그런 다음 불가능하고 잘못된 상황이 발생했는데도 코드를 계속 실행시킨다. 최고의 개발자는 소프트웨어가 null 포인터 예외를 뱉거나 실제 오류 자체를 내뱉도록 한다.


프로젝트 관리에서 빠른 실패란 존재할 수 있는 정치적 또는 기술적 장벽을 최대한 조기에 찾아내는 것을 의미한다.


비즈니스에서 빠른 실패란 궁극적인 실패를 향해 또는 이른바 ‘라면 수익’을 향해 천천히 투자하기보다 상품이나 비즈니스를 입증하거나 반증하는 대담한 계획을 추진하는 것을 의미한다.


12. 맨먼스 미신

프로젝트 종반에 인력을 추가하면 프로젝트는 더 늦어진다. 고전 ‘맨먼스 미신(The Mythical Man-Month)’은 40년도 넘은 과거의 책임에도 오늘날 소프트웨어 엔지니어링의 많은 오류를 설명한다.


이 용어는 “언제 끝나요?”라는 질문에 냉소적으로 답하는 데도 사용된다. 내 일정은 나도 모른다. 다른 일이 없었다면 신비한 3인일(man-days) 내에 이미 마쳤겠지만, 회의가 6번 더 남았고 그 회의에서도 누군가는 똑 같은 질문을 던질 것이다.


원문보기: 

https://www.infoworld.com/article/3233866/application-development/12-essential-software-development-principles-and-concepts.html




...

반응형
반응형

경영은 다른 사람들을 통해 목표를 달성하는 기술이다.

경영자는 충분치 않은 자본과 지식, 인적자원을 갖고

일할 수밖에 없다. 따라서

함께 일하는 사람들을 발전시키는 것은 경영자의 중요한 임무다.

- 프라이스 라인 창업자 제이 워커 회장 


경영과 리더십 모두 사람에 관한 일입니다.

내가 스스로 하는 것이 아니라 다른 사람의 마음을 사서

그들이 최고의 성과를 내도록 하는 것이 곧 경영이요,

리더십의 요체입니다.

직원 최우선의 원칙, 그 이유가 여기에 있습니다.



...

반응형

+ Recent posts