팀프로젝트를 하며...
뭐가 잘못됐지? (메타 인지)

꾸준한 반복으로 달인이 되려면 적어도
- 실력을 개선하려는 동기가 있어야 하고
- 구체적인 피드백을 적절한 시기에 받아야한다.
→ 적절한 시기란 짧고 빈번한 시기
→ 지속적으로 자신의 감정 상태를 살피면서 지금 지루한지 불안한지를 알아채야한다. ‘알아차림’이 꼭 필요 (다른 말로 메타인지. 메타인지는 교육학과 심리학 연구에서 공부를 잘하는 사람들의 중요한 특징 중 하나로 꼽힌다.) → ‘알아차림’을 통해 전략을 적절히 사용해야한다.
효과적으로 프로그래밍 언어를 학습하는 방법은 무엇일까?
- 튜토리얼을 읽을 때 뭘 만들지 생각하고 읽는다.
- 튜토리얼을 읽다가 어느정도 프로그램을 만들 수 있겠다는 생각이 들면, 읽기를 멈추고 코딩을 시작한다. → 목적을 가지고 적극적 읽기를 한다. → 작은 단위 기능이든 무조건 만들면서 배우기
- 공부할 때 표준 라이브러리 소스코드를 읽는다.
- 프로그래밍 언어 교육에서 읽기보다 쓰기를 더 강조하는 경향이 있다. 하지만, 프로그래머가 실제로 업무를 할 때에 코드를 읽는 시간이 쓰는 시간을 압도합니다. 좋은 코드를 읽어봐야 좋은 코드를 쓸 수 있습니다.
- 공부 중 다른 사람의 코드에 내가 필요한 기능을 추가한다.배운 것을 작은 기능이라도 쓸모 있는 것으로 만들어낸다. 이 과정을 통해 코드 하나하나를 나에게로 와서 꽃이 될 수 있습니다.
- 튜토리얼이나, 학습에 제공되는 코드를 사용해 내가 필요한 기능을 추가해본다. 유용하면서 작고 간단한 걸 생각해 내는 것이 몰입을 위한 난이도 조절이라 볼 수도 있다.
일반적 프로젝트 프로세스
- 실수 예방 문화
- 실수를 한 사람을 비난하고 처벌한다.
- 실수를 감추고 그에 대해 논의하기 꺼리며 문제가 생겼을 때 협력도 덜 한다.
아주 숙련된 전문가도 1시간에 평균 3~5개의 실수를 저지른다고 합니다.
- 그럼에도 우리 세상이 엉망이 아닌 이유바로 이런 태도로 실수를 관리합니다.
- 실수가 나쁜 결과를 내기 전에 빨리 회복하도록 돕는다.
- 실수를 공개한다.
- 실수에 대해 서로 이야기하고 실수를 통해 배우는 분위기 형성.
- 실수는 어떻게든 발생된다. 실수가 나쁜 결과로 되기전에 일찍 발견하고 빨리 고치면 된다.
1. Top-Down / Water fall 일 처리 프로세스

- 프로세스 단계 살펴보기
- 리더가 전략을 수립하면 조직원들은 전략 달성을 위해 맡겨진 업무를 리더의 통제하에 수행
- 리더는 전략의 예측도를 높이기 위해 조사와 분석에 많은 시간을 할애
- 조직원들은 계획대로 과업 일정을 준수하는 것이 성과→ 중간에 계획을 변경하는 것이 쉽지 않다.
- → 전략 실행 과정에서 위험이 감지되더라도 조직원들은 이를 묵인한체 계획 고수에 초점을 두는 경향.
- → 실행의 속도가 늦다.
불확실에 대응하기 위한 애자일
Agile → ‘기민한’
다른말로 패스트 프로토타이핑(Fast Prototyping)
치열해지는 경쟁, 소비자의 전문성, 다양성 폭발 → 신제품 출시 속도전 → 불완전한 제품을 시장에 던지고 → 고객들의 피드백을 기반으로 효율적으로 성과를 내는 방식.

- 프로세스 단계 살펴보기
- 반복적인 실험, 실행
- 짧은 주기로 업무 목표를 설정
- 목표를 달성하면서 환경 변화에 기민하게 적응. → 빠른 실행과 학습 → 불필요한 절차와 업무 지연을 방지 → 협업의 효과성을 증진 → 팀에는 업무 수행에 대한 권한과 책임이 부여되기 때문에 팀원들은 주인의식을 가지고 높은 몰입 → 자연스러운 생산성 향상
- 애자일
- 애자일 팀은 자율과 권한, 책임을 가지고 서로간의 신뢰를 바탕으로 수평적 소통과 협력을 통해 생산선을 높입니다.
- 반복적이고 점진적인 개발을 통해 변화에 민첩하게 대응하여
- 제품의 가치를 높여 나가는 개발 방법입니다.
- 제품과 일하는 방식을 지속적으로 개선해 나가는
- 끝없는 여정!
- 애자일 선언문 간단히 둘러보기
- 프로세스, 툴 < 개인과 개인 간의 상호작용
- 포괄적 문서 < 동작하는 소프트웨어
- 계약 < 고객과의 협력
- 계획 < 변화에 대한 대응
- 지금 당장 적용할 수 있는 애자일 방법 5가지
- 스프린트
- 하나의 프로젝트를 작은 프로젝트로 잘게 나누고, 작은 결과물을 개선해 나간다.
- Back log백로그는 팀이 결과를 얻기 위해 현시점에서 해야하는 일을 우선순위에 따라 적어놓은 활동 목록이다.
- 좋은 아이디어가 있다면 누구든 백로그에 새로운 항목을 추가할 수 있다.
- 모근 항목에는 실행 우선순위가 있다.
- 이또한 팀에서 선택사항이다.
- 계획을 끊임없이 수정하고 피드백을 받는 와중에 업무를 차질 없이 처리하려면 목록이 필수적이다.
- **회고**
- 정기적으로 스프린트 기간에 업무 성과와 개선점에 대해 논의하는 자리. 이때 애자일에서 가장 중요한 메커니즘인 피드백이 작동한다. 모든 방법을 놓쳤다면 회고 하나만이라도 시작해보자! 회고는 논쟁, 불평하는 자리가 아니다. 팀장만 말을 하고 끝나는 자리도 아니다.
- 일일 회의플랭크 일일 회의라고 들어보셨나요?
- 매일 같은 시간에 프로젝트에 필요한 최신 정보를 공유하기 위해 모인다. 끝난 일, 진행될 일, 업무에 지장을 주는 요소(개인적인 사정도 이야기 해야됨) 이 세 가지에 대해 간략하게 이야기하는 것이 가장 일반적이다. Max 15분을 걸어두고 하는 것이 효율적.
- 작업 현황판시각적으로 팀 전체에 효율적으로 정보를 확산하고 팀의 진행 사항과 업무량, 속도를 조절하는 데도 도움을 준다.
- 우리는 **GitHub**을 활용할 수 있겠죠? 업무에선 **JIRA** 를 많이 씁니다.
- 일일 회의와 동시에 작업현황판을 최신 정보로 업데이트하며, 새로운 스프린트를 시작할 때 갱신한다.
'TIL' 카테고리의 다른 글
| 2022.12.22 DAO, DTO, VO (0) | 2022.12.23 |
|---|---|
| 2022.12.20 IntelliJ tips (0) | 2022.12.21 |
| [WIL] 2022.12.12~12.16 (0) | 2022.12.18 |
| 2022.12.16 MySelectShop (0) | 2022.12.18 |
| 2022.12.15 JPA 심화(4) (0) | 2022.12.16 |