Agile Programming Languages
Agile Development Approach에 적합한 프로그래밍 언어를 가르킴.
빠르게 시작품을 만들어서 사용자의 피드백을 받을 수 있는 개발 방식에 적합해야하기 때문에 다음의 특징을 가짐.
- High-Level Abstraction (높은 수준의 추상화)
- 높은 수준의
abstraction
은concise code writing
과rapid development cycle
을 가능하게 함. oop
를 지원하는 프로그래밍 언어의 경우,object
를 통해 복잡한 문제를abstraction
이 가능함.
- 높은 수준의
- concise code writing (간결한 코드 작성)
- Concise code writing 은 code 의 가독성(readability)과 유지보수성(easy maintain)을 높임.
- Python은 concise syntax와 다양한 built-in function을 제공하여 이를 지원함.
- rapid development cycles (빠른 개발 주기)
- 빠른 개발 주기는 agile development approach의 핵심임.
- 빠른 시제품 개발과 테스트가 반드시 가능해야함.
대표적으로는 Python
과 Ruby
가 Agile Programming Language로 알려져 있음.
일반적으로 Agile programming languages는 다음과 같은 native data structures 를 제공함.
- List or Array
- 순서가 있는 데이터 집합을 저장.
- Dictionary or Hash Table
- 키-값 쌍으로 데이터를 저장하는 구조.
Agile Development Approach
Agile Development Approach (애자일 개발 방식)은
flexibility
(유연성) 와 rapid response
(빠른 피드백)를 강조하는 일종의 methodology로서
- 프로젝트 요구사항과 환경 변화에 유연하게 대응할 수 있는 개발 방식
- 프로젝트를 작은 단위의 작업(smaller stages or tasks)으로 나누고,
- 각 작업을 반복적으로 수행하면서 점진적으로 완성해 나가는 방식.
예 : 새로운 웹사이트를 만드는 프로젝트
전통적인 개발 방식(= Waterfall model)의 경우,
모든 기능을 완벽하게 계획(=설계)한 뒤에 개발에 착수함.
- Waterfall model에서는 초기 설계 단계에선 변경이 어렵고,
- 모든 것이 완성될 때까지 사용자의 피드백을 받기 어려움.
Agile development approach 의 경우,
작은 기능부터 시작해서 웹사이트를 조금씩 점진적으로 구축해 나감.
- 처음에는 기본 홈페이지만 만들고,
- 그 다음에 사용자 로그인 기능을 추가하고,
- 이후에 다른 기능들을 차례로 추가함.
- 각 단계에서 사용자의 피드백을 받으며,
- 각 피드백에 대한필요한 변경을 빠르게 적용할 수 있음.
Pros of Agile Development Approach
- 프로젝트가 더 유연하게 진행될 수 있고,
- 중간에 요구사항이 변경되더라도 이에 빠르게 대응할 수 있음.
- 또한, 작은 단계마다 성과를 볼 수 있어 프로젝트 진행에 대한 동기 부여도 됨.
'Python' 카테고리의 다른 글
[pandas] dropna : missing value 처리 (삭제) (0) | 2024.01.09 |
---|---|
[pandas] Column (or rows) 제거하기 (0) | 2024.01.09 |
[Python] Debugging : Traceback, Stacktrace, Backtrace ... (0) | 2023.12.25 |
[Python] logging (0) | 2023.12.18 |
[Python] Terminal, WSL, Conda, and VSCode (1) | 2023.12.15 |