DevOps

jonghwan·2022년 9월 30일
0

멋쟁이사자처럼

목록 보기
18/28
post-thumbnail

Agile

Agile(애자일) 소프트웨어 개발은 반복적이고 점진적인 접근 방식을 기반으로 합니다. 신속한 변화를 위한 옵션은 필요할 때 언제든지 변경 및 반복을 수행할 수 있는 자유롭고 유연한 접근 방식입니다.

사용자 요구사항은 프로젝트의 거의 모든 단계에서 변경될 수 있으므로 프로젝트를 시작하기 전에 계획 수립이 덜 필요합니다. Agile은 변화하는 요구사항에 적응하기 위해 사용자의 지속적인 피드백을 장려합니다.

개발 팀은 시간 경과에 따른 반복 작업을 수행하는 교차 기능 단위로 구성되며, 각 반복 작업은 작동 중인 제품을 생산합니다. 신속한 변화를 위한 리더십은 개발 팀과 이해관계자 간의 팀워크와 대면적 상호작용을 촉진하여 최종 사용자의 요구를 충족시킵니다.

애자일 방법론에 대한 자세한 설명들은 "애자일 매니페스토" (Agile Manifesto)에 나와있습니다. 여기에는 애자일 방법론을 따르는 프로젝트가 수행해야 하는 12가지 원칙이 나열되어 있습니다.

참고 : https://agilemanifesto.org/iso/ko/manifesto.html

장점

변화하는 요구사항을 수용하기 쉬움

  • 계획 주기가 짧아지면 프로젝트 도중 언제든지 변경 사항을 수용하고 수용할 수 있습니다.

최종목표가 확실하지 않은 프로젝트에 용이함

  • 최종 목표가 명확하게 정의되지 않은 프로젝트에 애자일 방법론이 용이하게 적용됩니다. 프로젝트가 진행됨에 따라 목표가 밝혀질 것이며, 개발은 이러한 진화하는 요구사항에 쉽게 적응할 수 있습니다.

보다 빠르고 고품질을 제공할 수 있음

  • 프로젝트를 반복(관리 가능한 단위)으로 세분화하면 팀은 고품질 개발, 테스트 및 협업에 집중할 수 있습니다.

강력한 팀 상호 작용

  • 애자일 프로젝트의 진행에 여러 팀이 참여하게 되므로 팀 상호 작용이 증대되고 팀워크가 향상됩니다.

사용자 의견을 수용하기 쉬움

  • 신속한 변화를 위한 프로젝트는 프로젝트 전체에 걸쳐 사용자와 팀 구성원의 피드백을 촉진하여 향후 반복을 개션하는 데 도움이 되는 교훈을 제공합니다.

단점

계획의 불확실성

  • 애자일(Agile)은 타임박스 제공에 기반을 두고 있으며 프로젝트 관리자가 작업에 우선 순위를 두는 경우가 많기 때문에 원래 릴리스로 예약된 일부 항목이 제때 완료되지 않을 수 있습니다.

팀을 구성하기가 어려움

  • 애자일팀은 대개 작기 때문에 팀 구성원들은 함께 구성하기 어려울 수 있는 다양한 분야에서 높은 수준의 기술을 보유하고 있어야 합니다.

비포괄적인 설명서

  • 신속한 변화를 위한 선언문은 적절한 문서보다 작업 소프트웨어를 선호하기 때문에 일부 개발자는 적절한 문서를 작성할 수 있습니다.

최종 제품이 요구사항과 다를 수 있음

  • 애자일(Agile)은 매우 유연하기 때문에 고객 피드백 진화에 따라 새로운 반복 작업을 추가하여 최종 결과물을 다르게 제공할 수 있습니다.

DevOps

Development + Operations

DevOps는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합

기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있다.

이러한 빠른 속도를 통해 조직은 고객을 더 잘 지원하고 시장에서 좀 더 효과적으로 경쟁할 수 있다.

장점

속도

작업속도가 빨라지므로 고객을 위해 더 빠르게 혁신하고, 시장 변화에 더 잘 적응하고, 좀 더 효율적으로 비즈니스 성과를 창출할 수 있습니다. DevOps 모델을 사용하면 개발자와 운영팀이 이러한 성과를 실현할 수 있습니다.

확장

규모에 따라 인프라와 개발 프로세스를 운영 및 관리합니다. 자동화와 일관성이 지원되므로 위험을 줄이면서 복잡한 시스템 또는 변화하는 시스템을 효율적으로 관리할 수 있습니다. 예를 들어 코드형 인프라를 사용하면 개발, 테스트 및 프로덕션 환경을 반복 가능하고 좀 더 효율적인 방식으로 관리할 수 있습니다.

협업 강화

주인의식 및 책임과 같은 가치를 강조하는 DevOps 문화 모델에서 좀 더 효과적인 팀을 구축합니다. 개발자와 운영팀은 긴밀하게 협력하고, 많은 책임을 공유하며, 워크플로를 결합합니다. 이를 통해 비효율성을 줄이고 시간을 절약합니다. (예: 개발자와 운영팀 간의 인도 기간 단축, 실행되는 환경을 고려한 코드 작성 등)

보안

제어를 유지하고 규정을 준수하면서 신속하게 진행할 수 있습니다. 자동화된 규정 준수 정책, 세분화된 제어 및 구성 관리 기술을 사용함으로써 보안을 그대로 유지하면서 DevOps 모델을 도입할 수 있습니다. 예를 들어 코드형 인프라와 코드형 정책을 사용하면 규모에 따라 규정 준수를 정의하고 추적할 수 있습니다.

0개의 댓글