개요기술 실천 방법이야말로 애자일의 진짜 핵심이기 때문이다. p130테스트 주도 개발 - Test-Driven Development(TDD)리팩터링 - Refactoring단순한 설계 - Simple Design짝 프로그래밍 - Pair Programming기술 실천 방법테스트 주도 개발 - Test-Driven Development(TDD)테스트 주도 개발의 동기와 도입 이유를 알아보자.복식 부기 - Double-entry Bookkeeping기호 하나만 틀려도 큰일 날 수 있는 프로그래머. 또 다른 직업으로는 회계사가 있다.복식 부기에서는 모든 거래를 대변과 차변에 적어서 각 변의 합이 같아야 한다. 회계 공부의 초기에는 거래 하나씩을 적고, 양 변의 합이 같은지 매 번 검증한다. TDD는 프로그래머..
개요비즈니스 실천 방법이 비즈니스에 도움이 되듯, 팀 실천 방법은 팀에 도움이 된다. 구체적으로는팀 구성원들 사이의 관계팀 구성원과 제품 사이의 관계와 관련이 있다.실천 방법들메타포지속 가능한 속도공동 소유지속적 통합코멘트: 팀 실천 방법은 오늘날 개발 조직에서는 많이 체화되어 있다.메타포이제는 DDD의 유비쿼터스 언어(Ubiquitous Language)라는 표현이 더욱 적절하다.해결하려는 문제 도메인의 모델을 모든 사람이 동의하는 어휘로 표현하는 것이다.유비쿼터스 언어는 프로젝트의 모든 곳에서 쓰인다. 사업 부서에서도 사용하고, 개발자도 사용한다. QA도, 운영팀이나 데브옵스도 사용한다. 심지어는 고객도 유비쿼터스 언어중 적절한 것을 사용할 수 있다. 유비쿼터스 언어는 경영 사례에도 쓰일 수 있고, ..
개요3장은 비즈니스 실천 방법(Business Practices), 4장은 팀 실천 방법(Team Practices), 5장은 기술 실천 방법(Technical Practices) 이다.비즈니스 실천 방법이란 이들을 실천하면 비즈니스에 이득이 된다는 것을 말한다.비즈니스 실천 방법책에서 소개하는 비즈니스 실천 방법은 다음 4가지이다. 다시 말하지만 이를 실천하면 비즈니스에 이득, 도움이 된다는 말이다.계획 세우기(Planning)작은 릴리즈(Small Releases)인수 테스트(Acceptance Tests)전체 팀(Whole Team)계획 세우기(Planning)프로젝트를 실제로 완성하지는 않고, 프로젝트가 대략 얼마나 걸릴지 알고 싶은 것이다. - p72소프트웨어 개발자를 위한 좋은 추정 요령은, ..
개요관련 링크마틴 파울러가 말하는 디자인 스테미나 가설본문 시작애자일 개발이 중요한 것은 더 깊은 철학적, 윤리적 이유 때문이다. 바로 직업의식과 고객의 당연한 기대 때문이다. - p42철학적 이유는 직업의식이다. 의사나 건축가가 직업의식이 없다면 무슨 일이 벌어질까?윤리적 이유는 당연한 기대에 부응해야 한다는 것이다. 자동차 정비를 맡기면 고쳐줄 것을 기대하고, 미용실에 가면 머리를 잘 깎아줄 것을 기대할 것이다.직업의식소프트웨어 업계는 직업의식을 정말 많이 높여야 한다. - p43생각해보면 부끄러울 따름이다. 살면서 접하는 수많은 직업을 가진 분들의 자신의 직업에 대한 의식에 비해 개발자는 얼마나 비루한가?요즘 사회에서는 소프트웨어 시스템과 상호작용하지 않으면 아무것도 할 수 없다. - p45우리 프..
개요2021년에 클린 애자일을 읽었었는데(당시 블로그), 최근에 사내 스터디를 하며 다시 읽으며 정리를 해둔다. 1장 애자일 소개를 시작하며, 다음 애자일 소프트웨어 개발 선언과 12가지 원칙을 읽어보자. 그리고, 그 의미를 생각해보고 이야기 나누어보자.애자일 소프트웨어 개발 선언우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고있다.이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다:공정과 도구보다 개인과 상호작용을포괄적인 문서보다 작동하는 소프트웨어를계약 협상보다 고객과의 협력을계획을 따르기보다 변화에 대응하기를가치 있게 여긴다.이 말은, 왼쪽에 있는 것들도 가치가 있지만, 우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.애자일 ..
Photo by David Travis on Unsplash 6장 애자일해지기 까지만 정리하려 한다. 지금까지 애자일 프로세스를 실천하는 방법을 다 배웠다. 그런데 실전에서 제대로 해내는 조직은 드물다. 6장은 진짜 애자일한 조직으로 가는 길에 대한 이야기를 한다. 결론부터: 로버트 마틴이 말하고자 하는 애자일한 조직이 되는 방법 "나는 아직도 20년 전 생각에 변함이 없다. '너무 쉬운데? 몇 가지 단순한 규칙과 실천 방법만 지키면 되잖아, 아무것도 아니네" 188p "그러니 방법론 중 하나만 골라라. 아예 고르지 않아도 된다. 전체 생애 주기에 걸쳐 모든 규칙을 지키고 있는지 확인하라. 팀 전체의 동의를 구하라. 그리고 시작하라. 용기와 소통, 피드백, 단순함을 기억하고, 정기적으로 규칙과 행동을 조..
Photo by David Travis on Unsplash 비즈니스 실천 방법, 팀 실천 방법에 이어, 클린 애자일 5장은 마지막 동그라미인 기술 실천 방법을 이야기 한다. 기술 실천 방법이 애자일의 진짜 핵심이다. 기술 실천 방법 다음과 같다. 테스트 주도 개발(Test-Driven Development): 실패하는 테스트를 짜고, 그 다음에 테스트를 통과하는 코드를 짠다. 리팩터링(Refactoring): TDD를 통해 동작하는 코드를 짜고 나면, 이를 리팩터링 한다. 단순한 설계(Simple Design): 리팩터링 목표중의 하나이다. 최대한 단순하게 최소한의 코드로만 작성하라는 것이다. 짝 프로그래밍(Pair Programming): 두 사람이 함께 프로그래밍을 해나간다. 하나하나 자세한 설명이..
Photo by David Travis on Unsplash 클린 애자일 4장은 팀 실천 방법을 다루고 있다. 팀 실천 방법은 팀원들 사이의 관계, 그리고 팀원과 제품 사이의 관계에 대한 것이다. 론 제프리즈의 삶의 순환(Circle of Life) 그림을 다시 보자. 가운데 원이 팀 실천 방법이다. 팀 실천 방법 다음과 같다. - 메타포(Metaphor): 프로젝트와 관련이 있는 모든 사람들이 공감하고 이해하며 사용할 수 있는 개념과 언어가 필요하다. - 지속 가능한 속도(Sustainable Pace): 단숨에 해치우려 하기보다 꾸준한 페이스로 개발할 수 있어야 한다. 개발은 마라톤이다. - 공동 소유(Collective Ownership): 팀원들은 모든 코드를 다루고 이해할 수 있어야 한다. - ..
Photo by David Travis on Unsplash 클린 애자일 3장은 비즈니스 실천 방법을 다루고 있다. 개발은 결국 비즈니스를 하려고 하는 것이다. "2001년 스노버드 회의 때였다. 켄트 벡은 사업 부서와 개발 부서 사이의 불화를 치유하는 것이 우리의 목표 중 하나라고 말했다. 이 목표를 달성하는데 비즈니스 실천방법이 큰 역할을 할 것이다. 이 실천 방법들을 따르면 사업 부서와 개발 부서가 단순하고 명확하게 의사소통할 수 있다. 이런 의사소통이 신뢰를 낳는다." 109p 빼거나 요약할 부분이 없어서 3장의 결론을 그대로 가져왔다. 사업 부서와 개발 부서 사이에 잘 소통하여, 비즈니스적으로 도움이 되게 하는 것. 이게 애자일에서 비즈니스 실천 방법을 쓰는 이유이다. 아래 그림은 삶의 순환(C..
- Total
- Today
- Yesterday
- strange
- 인텔리제이
- OpenAI
- 엉클 밥
- 잡학툰
- 독서
- API
- notion
- golang
- bun
- 2023
- solid
- 제이펍
- Gin
- 티스토리챌린지
- go
- intellij
- 독서후기
- websocket
- agile
- 오블완
- ChatGPT
- 영화
- folklore
- Bug
- 체호프
- github
- 클린 애자일
- 노션
- clean agile
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |