hyperskill - Agile development 영어 원문
당신의 개발 팀이 프로젝트에 대한 명령을 받았다고 가정 해 봅시다.
이제 당신은 고객의 동의를 필요로 하며, 팀 멤버들에게 임무들을 분배해야 하며,
등등의 모든 것들을 이 시간에 해야 합니다.
좋은 프로젝트를 만들기 위해서,
비용과 가능성만을 고려하는 것뿐만 아니라, 인간의 요인도 고려하는 것이 유용합니다.
이러한 것이 Agile(애자일) 이 발명된 이유입니다.
애자일은 어떠한 모델들의 집합을 의미하는데,
이 모델들은 개발자와 고객 간 상호작용의 동일한 원칙에 의해 가이드됩니다.
이 모델은 일찍이 말했었던 SDLC 라는 것과는 다릅니다.
SDLC 모델은 소프트웨어 개발 주기 프로세스를 실행하기 위한 프로젝트 관리에 사용됩니다.
애자일은 공동작업의 의미로서 고객의 요구사항을 만족시켜 주는 프로세스에 대한 전체적인 방법론입니다.
이번 주제에서 우리는 이러한 원칙들을 나열 할 것이며,
애자일이 어떻게 팀워크를 단순화하는지 설명하며,
애자일 그룹에는 어떠한 모델이 포함되는지 설명 할 겁니다.
Agile principles - 애자일 원칙
애자일의 모든 원칙들은 Agile manifesto(애자일 선언서) 에 묘사되어 있습니다.
밑에 있는 주요한 요인들은, 개발자들이 항상 참고해야 하는 것입니다.
따라서, 개발하는 동안에 개발자들이 필요한 것은 :
- 중요한 소프트웨어를 지속적으로 전달하며, 중단(인터럽션)을 제외합니다.
- 모든 개발의 단계에서 제품의 변경사항에 열려 있음
- 끊임없는 고객과의 연락
- 사람과의 커뮤니케이션
- 계속적인 동기부여
- 팀이 잘 조직되어 있음
- 기술적 향상과 유저 친화적 디자인을 구현하려고 시도함
이러한 원칙들은 메인 아이디어이며, 애자일의 철학입니다.
이러한 원칙들은 인적 요소를 참고하며, 임무를 명시적으로 묘사하며,
목표에 대한 의사소통은 작업 속도가 상당히 빨라질 수 있으며,
결과의 효율적을 증가시키기 때문에, 이러한 것들은 매우 중요합니다.
하지만, 선언서만이 애자일에 포함된 유일한 것이 아닙니다.
또한 여기엔 기술적 개념인 spring(스프린트) 와 issue trackers(이슈 트래커) 가 있습니다.
우리는 밑에서 이러한 것들을 논의 할 겁니다.
Agile components - 애자일 구성요소
작업 과정에서, 다양한 버그와 결점들이 떠올라 이를 고려해야하며,
계획에 이를 추가하고, 고칩니다.
이는 issue tracker(이슈 트래커)의 도움으로 해결 할 수 있습니다.
이슈 트래커는 이슈 리스트들을 관리하고 유지보수하는 소프트웨어입니다.
이슈 트래커는 협력적인 환경에서 공통적으로 사용되며,
특히 아주 크거나, 협력 프로젝트를 배포 할 때 평범하게 사용됩니다.
이러한 시스템들은 자주 리소스 할당(resource allocation을 포함하며,
시간 추적, 우선순위 관리, 워크플로우 감시를 포함합니다.
더 구체적으로, 각각의 버그에 있어,
ticket 이라고 불리는 식별자 카드가 생성되므로,
에러는 기록되며, 이러한 식별자로 찾을 수 있습니다.
또한 이는 각각의 에러가 해결되었는지 아닌지 표시해야 합니다.
이러한 에러 식별자 카드들은 보드(board) 에 위치하며, 팀 멤버들 사이에서 분산됩니다.
이러한 보드의 가장 유명한 예시는 Jira, YouTrack, Bugzilla, Trello 가 있습니다.
트래킹 시스템의 일관적인 사용은 훌륭한 소프트웨어 개발 팀의 특징 중 하나로 고려됩니다.
또 다른 중요한 개념은 notion(개념) 입니다.
애자일 모델은 반복적이며, 개발 단계 도중 여러 개의 반복을 가질 수 있습니다.
각각의 반복은 spring 라고 부르며,
즉, 프로젝트의 일부분은 당장 해결되야 합니다.
sprint 는 너무 긴 시간을 가지지 않습니다.
주로, 이들은 4주를 넘기지 않으며,
우리가 밑에서 논의할 특정 애자일 모델에 의존합니다.
Agile subtypes - 애자일 하위 유형들
애자일은 다양한 형태로 제공됩니다.
오늘날, 이에 대한 가장 평범한 하위 유형은
Scrum(스크럼), Extreme Programming, Kanban 입니다.
Scrum - 스크럼
Scrum 은 아마 가장 유명한 애자일 모델일 겁니다.
각각의 스프린트는 2~4주를 넘기지 않으며,
이 동안에는 개발자들이 프로젝트 내에서 변경사항들을 만들 수 있으며, 클라이언트에 의견을 묻습니다.
스프린트가 끝난 이후에는, 다시 이 단계로 더이상 돌아가지 않습니다.
Extreme Programming - 과격한 프로그래밍
익스트림 프로그래밍의 반복은 보통 1~2주입니다.
모든 개발 단계들은 극도의 조건 아래서 동시에 수행됩니다.
어떠한 시간이던 팀은 고객의 요구사항에 따라 변경사항을 만들 준비가 되어있으며,
즉시 이러한 변경사항들을 테스트합니다.
개발자들은 한 코드를 작성하고 또다른 코드 하나를 확인하는 것 처럼
하나의 쌍으로 빠르게 작업합니다.
이러한 접근법은 매우 효과적이지만, 팀으로부터 엄청난 노력을 필요로 합니다.
그러므로, 긴 시간동안 이 모드로 작업하는 것이 좋지 않습니다.
더해서 반면에, 팀이 아주 크지 않다면, 과격한 모드에서 팀메이트를 조절하거나 조직하는 것이 어려울 겁니다.
Kanban - 칸반
칸반은 계획을 시각화하는 것을 강조합니다.
팀 멤버들은 계획을 위에서 논의했던 이슈 트래커의 또다른 유형인 칸반 보드 위에 그리며,
칸반 보드는 계획들의 타이밍과 개별적인 책임이 명확하게 보여집니다.
작업은 매일 엄격하게 계획에 따라 진행됩니다.
고객과의 일일 협의가 가능하며,
어떠한 시간이던 변경 사항을 만들 수 있는 기회가 있습니다.
이러한 특성 때문에,
이 모델은 소프트웨어 지원과 개발 프로젝트에 주로 사용됩니다.
summary - 요약
우리가 리뷰한 각각의 애자일 모델들은 고유한 장점과 단점들을 가지고 있습니다.
중요한 것은 팀과 고객에게 어떠한 모델이 당신에게 가장 좋고, 따르는 데에 알맞는지 미리 동의를 구하는 겁니다.
만약 당신이 extreme mode 로 작업 할 수 있다는 데 자신감이 있다면, 좋습니다.
Extreme Programming 을 선택하고, 마음껏 수정할 수 있습니다.
만약 당신이 어떠한 부분을 작업하고 해당 작업으로 돌아오고 싶지 않다면, Scrum 을 선택하세요.
만약 당신이 계획을 시각화하고, 매일 조금의 단계를 실행하고 싶다면, Kanban model 이 당신에게 맞습니다.
Conclusion - 결론
따라서, 우리는 Agile(애자일) 을 분석했으며, 애자일이 포함하는 모델을 분석했습니다.
애자일 원칙은 서로 다른 회사에서 널리 사용되며, 그들의 작업을 최적화하는 데 도와주며,
결과의 퀄리티를 향상시킵니다.
우리는 당신이 프로젝트를 작업 할 때 모든 것이 중요하다는 것을 이해했기를 바라며,
모든 세부사항, IT 에서 일을 구했을 때 Agile 로 작업할 때 어떠한 어려움도 없다는 것을 이해했기를 바랍니다.
words to remember
factor : 요인
manifesto : 선언서, 정당 따위의 선언서
interruption : 중단
philosophy : 철학
shortcomings : 단점, 결점, 흉작
oversight : 감시
consult : 찾다, 의견을 묻다, 상담하다
carry out : 수행하다
in advance : 미리, 앞서서
confident : 자신감, 확신하고 있는
'Hyperskill - 컴퓨터 CS 및 영어 독해 > Introduction to Docker' 카테고리의 다른 글
Getting data from net - wget, curl 사용법 (0) | 2024.08.03 |
---|---|
Variables and aliases - 변수와 별명(별칭) (0) | 2024.08.02 |
Domains - 도메인 (0) | 2024.07.31 |
Using external workflows - 외부 워크플로우 사용하기 (0) | 2024.07.30 |
Running a "hello world" action - GitHub action 기초 (0) | 2024.07.27 |