개발 프로젝트 | 개발자 입문 첫 프로젝트 추천 1257 명이 이 답변을 좋아했습니다

당신은 주제를 찾고 있습니까 “개발 프로젝트 – 개발자 입문 첫 프로젝트 추천“? 다음 카테고리의 웹사이트 ppa.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 집순이 개발자의 영상일기 GRACE 이(가) 작성한 기사에는 조회수 70,165회 및 좋아요 1,724개 개의 좋아요가 있습니다.

개발 프로젝트 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 개발자 입문 첫 프로젝트 추천 – 개발 프로젝트 주제에 대한 세부정보를 참조하세요

개발을 처음 시작한 분들을 위한 첫 입문 프로젝트 추천 영상입니다.
계산기: https://www.youtube.com/watch?v=5fdqRQc_V9A\u0026t=1465s
테트리스 : https://www.youtube.com/watch?v=boAJUSN8fOU
아이콘 제작자 Pixel perfect from www.flaticon.com

개발 프로젝트 주제에 대한 자세한 내용은 여기를 참조하세요.

10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 초격차 …

백엔드 웹개발(Java/Spring). 01 백엔드 프로젝트 수 가장 많은 강의. 흔한 실습이 아니라, 실무 수준 8개 프로젝트 + 수강생 설문조사 기반 2개 프로젝트 더!

+ 더 읽기

Source: fastcampus.co.kr

Date Published: 10/6/2021

View: 2632

프로젝트 찾기 · 위시켓(Wishket) – 검색

개발. 웹 외 1개. 외주(도급). PHP. MySQL. 서울특별시. 등록 일자 2022.08.11. 마감 1주 6일 전. 총 8명 지원. 조회 수아주 높음.

+ 자세한 내용은 여기를 클릭하십시오

Source: www.wishket.com

Date Published: 4/22/2022

View: 8710

[개발자를 위한 프로젝트 A to Z] 풀 스택 개발 프로젝트, 어떤 …

웹 사이트 개발은 어떻게 진행될까? 웹 사이트 개발 프로젝트는 ‘코딩’으로 시작하지 않으며, 사이트 구축이 완료되었다고 끝나지 않는다.

+ 여기에 표시

Source: www.codingworldnews.com

Date Published: 5/14/2021

View: 2715

프로그래밍 프로젝트 계획하기 (개념 이해하기) – 칸아카데미

프로그래머가 된다는 것은 그저 문법을 공부하고 프로그래밍 언어의 개념을 아는 것만이 전부는 아닙니다. 지식을 어떻게 사용해서 프로그램을 만들 것인지가 중요 …

+ 자세한 내용은 여기를 클릭하십시오

Source: ko.khanacademy.org

Date Published: 4/8/2021

View: 9491

프로젝트가 장난이야?! | 우아한형제들 기술블로그

저는 개발자의 개인 장난(감)인 프로젝트인 토이 프로젝트에 대해서 이야기해보려고 합니다. 저는 웹 개발 입문과 거의 동시에 토이 프로젝트를 시작 …

+ 여기에 자세히 보기

Source: techblog.woowahan.com

Date Published: 5/18/2022

View: 965

비전공자 초보개발자들의 팀 프로젝트는 어떨까? – #1.대파 …

프로젝트에서 실제로 어떻게 개발을 하게되는지 많이 궁금해하실 것 같아요. ​. 인천일보아카데미는 6개월의 훈련과정 중 여러 번의 개인 세미 프로젝트와 …

+ 여기에 더 보기

Source: m.blog.naver.com

Date Published: 9/18/2021

View: 5775

SW 개발 프로젝트에서 PM의 달라진 역할 – 그 많던 PM들은 다 …

디지털 트랜스포메이션을 중심으로 쏟아지는 비지니스 기회들을 잡기 위해서 대기업에서부터 스타트업까지 수 많은 소프트웨어 개발 프로젝트가 기획· …

+ 여기에 보기

Source: www.samsungsds.com

Date Published: 5/24/2022

View: 6596

Hola!

스터디, 사이드 프로젝트 팀원을 구하는 가장 쉬운 방법. Hola! … 미술품 거래 애플리케이션 개발 프로젝트 팀원 모집 공고. #프로젝트; #온라인; #5명; #6개월.

+ 여기를 클릭

Source: holaworld.io

Date Published: 9/2/2022

View: 1317

[논문]소프트웨어 개발 프로젝트 제어를 위한 재작업 지표의 적용

소프트웨어 개발 프로젝트는 성공률이 30% 밖에 되지 않는 어려운 과제이다. 소프트웨어 개발 프로젝트가 실패하는 이유는 여러 가지가 있을 수 있으나, 체계적인 관리 …

+ 여기에 보기

Source: scienceon.kisti.re.kr

Date Published: 2/12/2022

View: 4359

주제와 관련된 이미지 개발 프로젝트

주제와 관련된 더 많은 사진을 참조하십시오 개발자 입문 첫 프로젝트 추천. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

개발자 입문 첫 프로젝트 추천
개발자 입문 첫 프로젝트 추천

주제에 대한 기사 평가 개발 프로젝트

  • Author: 집순이 개발자의 영상일기 GRACE
  • Views: 조회수 70,165회
  • Likes: 좋아요 1,724개
  • Date Published: 2020. 11. 19.
  • Video Url link: https://www.youtube.com/watch?v=PBSpUyQD7OA

10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 초격차 패키지 Online.

학습규정 * 본 상품은 동영상 형태의 강의를 수강하는 상품입니다.

* 상황에 따라 사전 공지 없이 할인이 조기 마감되거나 연장될 수 있습니다.

* 해당 강의는 사전 예약 상품으로, 강의 영상이 공개 일정에 따라 순차적으로 제작되어 오픈됩니다.

* [ Project 8.대규모 트래픽을 고려한 간단한 SNS 서비스 ] 실습은 유료 서비스를 포함하고 있습니다. Kafka Basic 0 Plan 이용시 월 $100 의 사용 요금이 발생합니다.

총 학습기간:

– 정상 수강기간(유료 수강기간) 최초 3개월( 90일 ), 무료 수강 기간은 91 일차 이후로 무제한이며, 유료 수강기간과 무료 수강기간 모두 동일하게 시청 가능합니다.

– 본 패키지는 약 85 시간 분량으로, 일 1시간 내외의 학습 시간을 통해 정상 수강 기간(=유료 수강 기간) 내에 모두 수강이 가능합니다.

– 수강시작일: 수강 시작일은 결제일로부터 기간이 산정되며, 결제를 완료하시면 마이페이지를 통해 바로 수강이 가능합니다. (사전 예약 강의는 1차 강의 오픈일)

– 패스트캠퍼스의 사정으로 수강시작이 늦어진 경우에는 해당 일정 만큼 수강 시작일이 연기됩니다.

– 일부 강의는 아직 모든 영상이 공개되지 않았습니다. 각 상세페이지 하단에 공개 일정이 안내되어 있습니다.

주의사항 – 상황에 따라 사전 공지 없이 할인이 조기 마감되거나 연장될 수 있습니다.

– 천재지변, 폐업 등 서비스 중단이 불가피한 상황에는 서비스가 종료될 수 있습니다.

– 본 상품은 기수강생 할인, VIP CLUB 제도 (구 프리미엄 멤버십), 기타 할인 이벤트 적용이 불가할 수 있습니다.

– 커리큘럼은 제작 과정에서 일부 추가, 삭제 및 변경될 수 있습니다.

– 쿠폰 적용이나 프로모션 등으로 인해 5만원 이하의 금액으로 강의를 결제할 경우, 할부가 적용되지 않습니다.

환불규정 – 환불금액은 정가가 아닌 실제 결제금액을 기준으로 계산됩니다.

– 쿠폰을 사용하여 강의를 결제하신 후 취소/환불 시 쿠폰은 복구되지 않습니다.

– 수강시작 후 7일 이내, 5강 미만 수강 시에는 100% 환불 가능합니다.

– 수강시작 후 7일 초과, 5강 이상 수강 시 정상 수강기간(유료 수강기간) 대비 잔여일에 대해 다음과 같이 환불 가능합니다.

환불요청일 시 기준

: 수강시작 후 1/3 경과 전, 실 결제금액의 2/3에 해당하는 금액 환불

: 수강시작 후 1/2 경과 전, 실 결제금액의 1/2에 해당하는 금액 환불

: 수강시작 후 1/2 경과 후, 환불 금액 없음

* 보다 자세한 환불 규정은 홈페이지 취소/환불 정책에서 확인 가능합니다.

[개발자를 위한 프로젝트 A to Z] 풀 스택 개발 프로젝트, 어떤 순서로 해야 할까? (1/2)

사진 출처: freepik.com

웹 사이트 개발은 어떻게 진행될까? 웹 사이트 개발 프로젝트는 ‘코딩’으로 시작하지 않으며, 사이트 구축이 완료되었다고 끝나지 않는다. 개발자는 코드를 잘 쓰는 것만 중요한 것이 아니라, 프로젝트 준비 단계부터 개발, 테스트, 유지보수에 이르기까지 개발 프로세스 전반에 대해 고려해야 한다.

프로젝트 개발의 모든 단계가 중요한데, 각 단계는 자체적으로 포함되고 이전 단계를 기반으로 구축된다. 하지만 사전에 모든 것을 계획할 필요는 없으며, 고정된 순서는 존재하지 않는다. 예를 들어 프론트 엔드를 구상하기 전 데이터베이스를 설계하고 구축할 수도 있고, 프론트 엔드 디자인이 끝난 뒤 백엔드를 설계하는 등 순서는 바뀔 수 있다.

그럼 풀스택 개발은 어떤 순서로 진행되는지 프로젝트 개발 프로세스를 알아보자.

사진 출처: freepik.com

1단계. 프로젝트 구상

– 프로젝트 아이디어 구상

애플리케이션을 구축할 때 ‘아이디어’를 찾는 것은 가장 간단하면서도 가장 어려운 부분이다. 아이디어를 찾는 데에는 코딩 기술이나 구축이 필요하지 않다. 하지만 올바른 아이디어를 찾는 것은 중요하다.

개발자는 자신이 좋아하는 것에서 영감을 얻는 것이 좋다. 좋아하는 것 또는 스스로 만들고 싶은 것을 선택하는 것이 중요하다. 왜냐하면 개발을 하며 어려움에 부딪힐 때 자신의 한계를 느끼게 될 수 있는데, 자신이 좋아하는 프로젝트를 진행한다면 더 많은 동기 부여를 받을 수 있기 때문이다.

예를 들어 금융과 주식 투자를 좋아한다면 금융 앱 개발 프로젝트를 시작한다. 그러면 프로젝트에도 더 많은 노력을 기울이고 자연스럽게 스스로의 한계에 도전하게 된다. 또 프로젝트를 완성했을 때 만족도도 높아진다.

아이디어를 구상하는 단계에서 세세한 부분을 신경 쓸 필요는 없다. 코드를 작성하거나 구성요소를 구축하는 대신 프로젝트의 큰 그림을 보고 구축된 앱을 상상하고, 사용자에게 전달하고 싶은 것이 무엇인지를 생각한다.

– 프로젝트 목표 설정

정보를 수집하고 프로젝트 목표를 설정하는 단계는 이후 단계의 방향성을 결정한다. 이때 가장 중요한 부분은 미래의 웹 애플리케이션의 목적, 얻고자 하는 주요 목표, 서비스로 끌어들이고 싶은 대상 고객을 명확히 이해하는 것이다.

예를 들어 뉴스 포털과 앤터테이면트 웹 사이트, 청소년을 위한 사이트와 성인을 위한 사이트는 서로 다르다. 웹 사이트의 종류에 따라 다른 기능을 제공하며, 목적에 따라 다른 기술을 사용해야 한다. 사전 개발 데이터를 기반으로 잘 설명되고 상세한 계획을 수립하면 설계가 변경되거나 초기에 계획되지 않는 기능이 추가되 등 변경 사항이 발생했을 때 리소스를 추가로 지출하는 것을 방지할 수 있다.

사진 출처: freepik.com

2단계. 프로젝트 분석 및 설계, 디자인

– 사용자 사례 분석 및 모델링

사용자 사례는 사용자가 웹 사이트나 애플리케이션을 이용할 때 보거나 수행하는 일을 정리하는 것이다.

모델링은 보다 기술적이다. 모델을 결정하고 모델 간 상호작용 방식을 결정한다. 이를 위해선 객체 지향 프로그래밍에 대한 지식이 필요하다. 모델링을 통해 고객-개발자, 개발자-개발자 간 의사소통을 원활히 하고, 프로젝트 구조의 로드맵을 만들 수 있다.

통합 모델링 언어(UML, Unified Modeling Language)를 활용하면 표준화된 범용 모델링 언어로 소프트웨어 개념을 시각적으로 표현할 수 있다. UML은 크게 정적 다이어그램과 동적 다이어그램으로 나뉜다. 정적 다이어그램에 프로그램 안 주요 클래스와 관계를 나타낸 클래스 다이어그램이 있다. 동적 다이어그램에서는 사용자와 시스템 사이의 상호작용과 기능·서비스를 정리한 유스케이스 다이어그램, 시간 흐름에 따른 객체 사이 상호작용을 나타내는 시퀀스 다이어그램이 대표적이다.

– 사이트 맵 및 와이어프레임 생성

개발자는 고객이 전체 사이트가 어떻게 보일지를 판단할 수 있는 데이터를 생성한다. 사이트맵에서 웹 사이트의 주요 영역 간 관계를 설명한다. 여러 페이지 간의 관계를 정리하면 최종 사용자가 메인 페이지에서 시작했을 때, 필요한 정보나 서비스를 얼마나 쉽게 찾을 수 있는지 판단할 수 있다. 이는 사용자 친화적이고 탐색하기 쉬운 웹 사이트를 구축하기 위해 필요한 과정이다.

사이트 맵을 사용하면 웹 사이트의 내부 구조를 파악할 수 있다. 하지만 사용자 인터페이스는 여기에 포함되지 않는다. 이 경우 와이어프레임 또는 실물 모형을 생성한다.

와이어프레임은 생성해야 되는 사용자 인터페이스를 시각적으로 표현한 것이다. 여기에 색상, 로고 등과 같은 디자인 요소는 포함되어있지 않으며, 페이지와 위치에 추가될 요소만 설명한다. 디자이너가 아니더라도 기본 개념 레이아웃을 스케치하는 것은 코딩 프로세스를 쉽게 만드는 데 좋다. Material UI 또는 부트스트랩(Bootstrap)과 같은 UI 라이브러리를 사용하는 경우 어떤 구성 요소/클래스를 미리 사용할지 계획할 수 있기 때문에 이 단계가 수월해진다.

– 컴포넌트 계획

리액트와 같은 컴포넌트 기반 프레임워크를 사용하는 경우 스케치를 보고 컴포넌트로 구분하는 것이 좋다. 컨테이너의 위치, 상태를 유지하는 컴포넌트가 무엇인지, 제작한 웹사이트가 당신의 상태를 확인하기 위해 ‘단일 진실 소스’를 만들 수 있는지 등을 계획한다. 이러한 것을 미리 계획하면 후속 단계에서 시행착오를 줄일 수 있다.

– 페이지 레이아웃 설계

디자인 단계에서 웹 사이트가 구체화된다. 이미지, 사진, 비디오와 같은 시각적 콘텐츠를 이 단계에서 생성한다. 이때 대상 고객을 항상 염두에 두어야 한다.

웹 사이트 레이아웃은 디자이너가 작업하는데, 그래픽 스케치 또는 실제 그래픽 디자인으로 만들 수 있다. 렝아웃의 주요 기능은 정보 구조를 나타내고 내용을 시각화하며 기본 기능을 시연하는 것이다. 레이아웃은 색상, 로고, 이미지를 포함한다. 레이아웃은 향후 제품에 대한 전반적인 이해를 제공할 수 있고, 고객이 레이아웃을 검토해 피드백을 보낼 수 있다.

사진 출처: freepik.com

3단계. 데이터베이스 설계

– 데이터베이스 모델링

데이터베이스의 종류는 다양하다. 어떤 데이터베이스를 사용할 것인지부터 데이터베이스 모델, 관계형 데이터베이스를 사용할 경우 모델 간의 관계 설정 등 세부 내용을 정한다. 몽고DB(MongoDB)를 사용할 경우 컬렉션을 넣을 수 있는 클러스터가 있는지도 설정한다.

– 스키마(Schema)

스키마는 모델을 데이터베이스에 저장할 때 저장할 속성을 결정하는 것이다. 예를 들어 사용자에 대한 정보를 저장할 때 성(姓), 이름, 이메일, 비밀번호를 정하도록 선택할 수 있다. 프로젝트에 필요한 속성은 사용자에게 달려있다. 스키마는 고정된 것이 아니며, 프로젝트를 진행하며 모델에 더 많은 정보가 필요한 경우 속성을 추가할 수 있다.

– API endpoint 계획

데이터 베이스 모델링이 끝났다면 이제 엔드 포인트를 계획할 때이다. 모든 모델에 대해 전체 CRUD 엔드 포인트가 필요한가? API를 사용해 쿼리 매개변수를 처리할 계획인가? 어떤 엔드포인트는 공개로 설정하고 어떤 것은 비공개로 설정할 것인가? 공개적으로 접근해서는 안 되는 엔드포인트를 보호할 방법은 무엇인가? 등에 관해 결정한다.

참고 사이트: DEV.to, moustafamm 미디엄, XB 소프트웨어

프로젝트가 장난이야?!

안녕하세요. 저는 배달의 민족 주문시스템을 개발하고 있는 권용근입니다.

(출처 : 타요장난감 타요학교와 꼬마버스타요 버스 친구들:지호토이TV)

저는 개발자의 개인 장난(감)인 프로젝트인 토이 프로젝트에 대해서 이야기해보려고 합니다. 저는 웹 개발 입문과 거의 동시에 토이 프로젝트를 시작했고 이 프로젝트들을 통해 많은 성장을 이루었다고 생각하고 있습니다. 그래서 토이 프로젝트를 통해 무엇을 얻을 수 있었는지에 대하여 말해보려고 합니다.

(우아한 Tech : 김영한 팀장님의 카드 뉴스 중..)

토이 프로젝트란?

토이 프로젝트가 무엇일까요? 크고 간단하게 2가지로 나눈다면 이렇습니다.

1. 여유시간만 투자한다.

본업과 건강에 영향을 미치지 않는 선에서 여유시간을 투자해야합니다.

2. 어떠한 목적을 달성한다.

기능, 스펙, 규모, 일정에 대한 제약은 있을 수도 있고 없을 수도 있습니다. 런칭 혹은 배포도 마찬가지입니다. 프로젝트가 반드시 런칭되거나 배포될 필요는 없습니다. 이것은 내가(혹은 우리가) 프로젝트의 목적을 무엇으로 정하냐 에 따라 달라지게 됩니다.

여유시간을 투자하여, 어떠한 목적을 달성하는 개발 프로젝트가 토이 프로젝트 인 것 입니다. 샘플 프로젝트, 기능을 제공하는 라이브러리 프로젝트, 서비스를 제공하는 웹,앱 프로젝트 등등 무엇이든지 나올 수 있지요!

나의 토이 프로젝트

많은 토이 프로젝트를 진행했었지만, 그 중 대표적으로 챗봇 프로젝트 , 코딩덕후 프로젝트 라는 2가지 저의 토이 프로젝트를 중심으로 이야기해보려 합니다. 그래서 일단 간단히 2가지 프로젝트를 소개하겠습니다.

챗봇 프로젝트

저의 웹 개발 시작과 거의 거의 비슷한 시기에 시작했던 첫 토이 프로젝트 입니다. 저의 첫 회사에서 꽤 많은 구성원들이 사용해주었던 대화형(ARS형) 챗봇이였습니다. 나중에는 핵심 코어 기능만 분리하여 프레임워크화 하여 Boot Starter Pack으로 제공하였고, 슬랙, 텔레그램, 라인 등과도 연동하였습니다. 회의실 현황, 예약, 사다리, 심심이, 섣다 기능 등 온갖 잡 기능을 하나씩 추가해나갔던 장난감이였습니다.

Github Link : kingbbode/spring-boot-chatbot

코딩덕후 프로젝트

개발자들의 Github 활동을 장려하고자 Github 활동을 시각화해주는 서비스 프로젝트 로 2018년 11월부터 정식 시즌을 오픈하여 진행 중인 프로젝트입니다. 3명의 구성원들과 함께 진행하고 있는 첫 팀 프로젝트이고, PM 역할을 맡아본 첫 프로젝트 입니다.

Site Link : co-duck.com

위 두 가지 프로젝트를 진행하며 경험할 수 있었던 것, 얻을 수 있었던 것에 대한 이야기를 시작해보겠습니다.

토이 프로젝트로 경험할 수 있었던 것 & 얻을 수 있었던 것

1. 기술에 대한 접근 기회

회사에서 만들게 되는 서비스는 안정성을 추구합니다. 그래서 직접 만들기보다는 잘 만들어진, 충분히 검증된 프레임워크, 라이브러리를 선택하고 조합하여 사용을 합니다. 때문에 본인이 직접 라이브러리와 프레임워크를 구현하는 경험을 가지기는 쉽지가 않습니다.

토이 프로젝트는 무엇이든 목적이 될 수 있고, 무엇이든 해도 되는 프로젝트이기 때문에 저 스스로에게 많은 기회를 만들어줄 수 있었습니다.

기회 #1 프레임워크 만들어보기

처음부터 프레임워크를 만들기로 했던 것은 아니였습니다. 챗봇 프로젝트 를 진행하면서, 챗봇 개발에 대한 진입을 낮추어주자는 목적을 달성하기 위해 프레임워크 처럼 만들어보자는 결론이 나온 것이지요.

어떻게 하면 스프링과 같이 쉽게 기능을 작성하도록 할까에서 시작되어, 스프링의 어노테이션 기반의 메타 프로그래밍 방식을 사용하게 되었습니다.

@Brain public class FirstBrain { @BrainCell(key = “따라해봐”, function = “echo-start”) public String echo(BrainRequest brainRequest) { return “말해봐”; } @BrainCell(function = “echo-end”, parent = “echo-start”) public String echo2(BrainRequest brainRequest) { return brainRequest.getContent(); } }

이런 식으로 말이죠. 이를 가능하게 하기 위해, Java Relfection API 를 알아야 했고, 동적으로 생성된 챗봇을 위한 Bean 을 관리하기 위해 Spring BeanFactory Container 와 닮은 BrainFactory 도 만들게 되었습니다. (물론 완성된 구현물이 Spring Framework 에는 훨씬 못미치지만.. )

서비스를 개발할 때 사용하거나 경험해보지 못할 기술과 방법들을 직접 사용해볼 수 있었고, 이런 기술들을 사용하여 만들어진 스프링 프레임워크의 전체를 부지런하게 까보기 시작했고, 이해하기 위해 노력을 했습니다. 이를 통해 내가 사용하고 있는 프레임워크가 내부적으로 대략 어떻게 돌아가는지를 조금은 이해할 수 있게 된 큰 계기가 되었습니다.

기회 #2 Spring Boot Starter 만들어보기

마찬가지로 만들어진 기능을 쉽게 제공하기 위한 고민을 하다가, Spring Boot 의 Starter Pack 을 만들어보기로 했습니다.

이 때가 약 3년 전으로 국내에서 아직 스프링 부트의 대한 오해들이 만연하던 시기이기도 하였습니다. 물론 당시 신입이였던 저는 그런 것은 모르고, 제가 사용하는 프레임워크를 이해하기 위해 노력을 하고 있던 시기이기도 합니다.

한글 문서가 거의 없던 당시에 공식 문서를 나름 열심히 파고, 소스를 직접 하나씩 모두 들여다보았던 삽질의 기억들이 납니다.

그래서 단일 모듈의 프로젝트에서

이런 구조의(중간 버전의 레파지토리가 삭제되어 현재 구조로 대체) 멀티 모듈 프로젝트로 탄생되었죠!

이 때 부트에 대해서 정말 많은 이해를 할 수 있었고,

덕분에 2017 Spring Camp 에서 연사로 발표도 할 수 있었습니다.

2. 새로운 관심사

신기술이나 이전에 사용해본 적 없는 기술을 운영중인 서비스에 바로 적용할 수 있을까요?

기술이 이미 충분히 검증되었고, 스스로 문제가 발생했을 때 빠르게 해결할 수 있을만큼 기술에 대하여 내가 성숙되었다면 고민을 해보겠지만, 그 이전에는 절대 반대를 할 것 같습니다.

그럼 토이 프로젝트로 사용을 해본 후에 서비스에 적용을 하면 될까요?

내 토이 프로젝트가 회사 이상의 대규모 트래픽을 받고 있으며, 회사보다 복잡한 비즈니스적 요구사항을 가지고 있다면 고민을 해보겠지만, 그 이전에는 절대 반대를 할 것 같습니다.

“새로운 기술, 새로운 모델을 쓰는건 현재 환경에선 더이상 문제를 해결할 수 없다고 느낄때만 엄청 엄청 부담감을 느끼면서 적용한다.” by jojoldu

그럼에도 저는 토이 프로젝트에서 꼭 새로운 관심사를 사용해보시길 강력하게 추천드립니다. 저는 호기심을 잃은 개발자는 성장할 수 없다고 강하게 믿고 있습니다. 현재 내 업무에서 사용하지 않는 것과 내가 가진 기술에 대한 호기심은 전혀 무관합니다. 어떠한 기술로 무언가를 해결해본 경험은 언젠가 반드시 도움이 될 것 입니다.

도움이 되었던 사례 #1 REDIS 활용

챗봇 프로젝트 는 처음에 1 DEPTH 를 가지는 매우 단순한 챗봇이였습니다. 공백 split 을 사용하여 명령어 뒤의 기능을 수행하도록 하였습니다.

#투표 짬뽕 -> 짬뽕을 투표한다

챗봇으로 만드려는 기능이 점점 많아짐에 따라 명령어가 점점 난해해지기 시작했습니다.

#연차 사용 반차 2018-11-04 오전 -> 2018년 11월 4일 오전반차를 사용한다.

그래서 Redis 를 활용하여 챗봇 대화의 짧은 Expire 의 세션을 만들었고, 그 세션의 존재에 따라 현재 해당 유저가 대화 중인 상태인지 아닌지를 판단하는 기능을 만들어 대화 방식의 채팅 방식을 만들었습니다.

이때 제가 하고 있는 서비스에는 Redis 비슷한 것도 사용하지 않았던 시기였습니다.

그러나 경험은 개인의 만족으로 끝나지 않았습니다. 현재 배달의 민족의 비동기 결제 시스템을 적용할 당시 주문시스템의 사용자 경험과 관련된 결제 완료를 확인하는 부분에서 이 방식을 제안했고, 이 기능은 현재도 잘 쓰고있는 기능이 되었습니다.

2년 뒤 다른 업무에서 이 기능을 사용하게 될거라곤 생각도 못했습니다. 그러나 이렇게 저의 본업에도 도움이 경험이 되었습니다.

도움이 되었던 사례 #2 ADMIN 뚝딱

현재는 서버개발자를 담당하고 있지만, 이전 회사에서는 프론트와 서버를 모두 개발하던 개발자였습니다. 서버는 서버대로 재미가 있고, 프론트는 프론트대로 재미가 있었지만 과감히 서버개발자의 길을 선택하였고 프론트엔드는 완전한 취미가 되었습니다.

담당 업무에서 프론트엔드가 완전히 없어진 후 VueJs 라는 기술이 화제가 되고 있었습니다. 개발자의 호기심은 무죄입니다. 그래서 당시 진행 중이던 토이 프로젝트 코딩덕후 프로젝트 의 프론트엔드를 VueJs 로 만들기로 했고 VueJs 를 신나게 공부했었습니다.

이 때도 마찬가지로 제 업무에 프론트엔드는 완전히 없을 줄 알았습니다.

백오피스 필요없는 시스템은 역시 없는 것이였을까요? 결국 백오피스에 대한 요구사항이 생기게 되었고, 프론트엔드 경험이 있는 제가 만들게 되었습니다.

총 2개의 어드민을 만들었는데, 기존 다른 프레임워크와 호환되는 css만 사용하여 템플릿 라이브러리를 사용하지 않고 만든 ADMIN은 2주 가 걸렸고, Vuejs 어드민 템플릿 라이브러리를 사용하여 만든 현재의 주문시스템 ADMIN 은 2일 만에 만들 수 있었습니다.

(위 그래프는 실제 지표와 아무런 관련이 없음)

당시 바쁜 일정 중 주문시스템 ADMIN 이 생각 이상으로 빨리 만들어져 저희 팀의 관리자(팀장님)가 신나했던 기억이 납니다.

결국 서비스와 상관없이 진행했던 토이 프로젝트가 또 다시 저의 본업에 도움이 되었습니다.

3. 풀사이클 개발(Design-Develop-Test-Deploy-Operate-Support)

요즘 많은 곳에서 업무의 세분화로 알지 않아도 괜찮은 것 같은 영역들이 생기고 있습니다. 그 대표적인 예가 서버 개발 직군과 인프라 직군이 아닐까 생각됩니다. 서버 개발자가 정말 인프라에 대해서 몰라도 되는 것일까요?

저는 우아한형제들에 입사한 후 나와 같은 서버 개발자이지만, 인프라 괴물들을 몇 명 만났습니다.

이분들을 보며 확실히 느낀 것은, 내가 인프라를 직접 하지 않게 되더라도, 반드시 알아야 한다는 것 입니다. 인프라를 알고 모르고에 따라서 설계부터 개발, 운영(문제 해결)에 대한 모든 것이 차이가 난다는 것을 알았기 때문입니다. 넷플릭스의 풀사이클 개발자 블로깅에서도 이런 말을 합니다.

Operating What You Build(당신이 구축한 것을 운영하라)!!

그러나 현재 국내 개발자들이 풀사이클 개발을 회사에서 경험하긴 쉽지 않습니다. 그렇다면 어디서 경험할 수 있을까요?! 바로 토이 프로젝트입니다!

코덕 프로젝트 는 아키텍처부터 인프라까지 모두 직접 설계하고 구축하여 서비스되고 있는 저의 첫 토이 프로젝트입니다. “나 혼자서 하나의 서비스를 처음부터 끝까지 만들 수 있을까?” 라는 궁금증이 항상 있었습니다. 그러던 중 정말 만들어보고 싶은 서비스가 생겼고, 망설임 없이 시작을 하였던 것 같습니다. 토이 프로젝트를 시작한다는 것은 저에게 너무 당연한 일이 되었고, 토이 프로젝트는 정말 토이 프로젝트일 뿐이였기 때문입니다.

코덕 프로젝트

사실 하나의 프로젝트로 만들 수 있었지만, 멀티 프로젝트로 쪼개어 설계를 해보았습니다. 당연히 이런 소규모의 서비스라면 하나의 프로젝트로 만드는 것이 좋은 결정이겠지만, 제가 경험하고 싶었던 것은 분산환경이였습니다. 토이 프로젝트에서 나의 목적을 달성하는데에는 전혀 오버스팩이 아닌 아주 적합한 스팩이 되는 것 입니다.

그래서 해보고 싶던 디자인, TDD, 개발 스타일, 브랜치 전략, 이슈 관리, 배포 방식 등을 모두 해볼 수 있었고, 많은 시행 착오를 통해 더 많은 경험치를 쌓을 수 있었습니다.

그래서 완성된 구조는 아래와 같습니다.

저만의 멋진 구조를 완성시키고 싶었는데, 이 모든 것이 돈 이라는 것을 알게 되었습니다. 회사에서 사용하고 있던 당연한 것들을 적용해보려 하였고, AWS 견적 계산기로 대충 계산을 해보았더니…

(우아한형제들은 빵빵한 AWS 스팩을 제공합니다!)

그래서 비용 최소화 모델로 집에서 잠자고 있던 라즈베리파이까지 동원되어 완성된 구조입니다. 서버에 대한 설정부터 데이터베이스 설치까지 모든 것을 직접 해볼 수 있었던 좋은 경험이 되었습니다. 그 과정에서 호돌맨님의 영상(서버 기본 설정, MariaDB 설치)과 알구몬(algumon.com)의 경험을 담은 깨알팁이 정말 많은 도움이 되었습니다.

인프라 괴물님들 다시 한번 감사합니다.

아쉬운 점이 당연히 많습니다. 비용 문제로 AWS 에서 경험해보고 싶은 많은 것들을 아직 사용해보지 못한 것 때문입니다. 그렇지만! 저의 프로젝트는 진행형입니다! (정식 오픈한지 1달도 안된..) 앞으로 트래픽이 (제발) 늘어준다면 분명 더 좋은 경험들을 할 수 있으리라 확신합니다.

Site Link : co-duck.com

많이 이용해주세요 !!

4. 관리자를 이해

저같은 주니어가 어디가서 PM 역할을 해보겠나요? 토이 프로젝트이기에 가능합니다! 소제목으로 관리자를 이해 라고 해놓았지만 사실 관리자는 아직 저에게는 이해할 수 없는 영역입니다. 그럼에도 프로젝트를 진행하면서 느낄 수 있었던 관리자의 일부 모습의 이해 를 이야기 해보려고 합니다!

저는 코덕 프로젝트 를 만들기 위해, 3명의 개발자를 합류시켰습니다. 저는 꼭 만들고 싶었던 뚜렷한 프로젝트의 방향과, 취지가 있었기에 프로젝트를 시작하였고, 지인들은 개발 경험이 필요하여 합류한 것 입니다.

전체 설계가 끝나고 구현을 시작할 때까지는 모든 것이 순조로웠습니다. 구현해야할 내용을 작게 나누어 TODO 를 작성하였고, 그것을 구성원들에게 뿌리고 구현이 시작되면서 이상한 것들이 나타나기 시작했습니다!

내가 의도한 바와, 실제 구현이 미묘하게 다른 방향으로 흘러가고 있었습니다. 그러던 중 충격적인 말!

이런 기능을 만들어야하니까 만들고 있는데, 사실 이 기능을 왜 만드는지, 만들어서 뭘 하겠다는 건지 전혀 모르겠다.

그때서야 무엇이 잘못되었는지를 알았습니다. “내가 생각하는게 대충 이런거다” 라며 합류를 시켰고, “내가 생각하는게 있으니까, 일단 해놔봐”, “대충 이런건데, 나중에 설명해줄게” 같은 말들을 했던 순간이 스쳐갔습니다. 구성원들이 서비스를 전혀 이해하지 못하고 있던 것 입니다.

그 후 정밀한 PPT 를 만들어, 2시간에 걸쳐서 구성원들에게 프로젝트를 설명을 하였고 그제서야 많은 오해들이 풀리게 되었습니다.

(하지만 그래도 다 이해하진 못하더라는…)

그리고 우아한형제들 을 다시 생각하였습니다. 매월 진행되는 타운홀 행사, 그리고 최근 조직개편 이후에도 회사의 방향에 대하여 자세히 설명해주셨던 부문장님, 실장님, 팀장님을 떠올렸습니다.

(찍어둔게 없어서 합성을.. 실제론 꽉꽉 찹니다)

내가 현재 우리 회사의 방향을 알고 있고 이해하고 있다는 점, 고작 3명에게 설명하기도 벅찼었던 나의 모습을 떠올렸을 때야 관리자분들의 그런 모습들을 이해할 수 있었고, 감사하다고 생각이 들었습니다.

추가로..

그리고 구성원들을 쪼고 있는 내 모습에 팀장님도 사알짝 이해할 수 있었… (갈갈갈)

마무리

토이 프로젝트는 이렇 듯 저에게 정말 많은 경험을 선물해주고 있습니다. 개발자는 토이 프로젝트를 무조건 해야한다는 이야기가 아니며, 토이 프로젝트를 해야 좋은 개발자라는 이야기도 아닙니다. 그러나 토이 프로젝트를 하고 있는 개발자는 분명 더 많은 경험을 할 수 있는 개발자라는 것은 꼭 말하고 싶었습니다.

저에게 많은 토이 프로젝트들이 생겼고, 첫 서비스를 하는 프로젝트도 생겼습니다. 이 프로젝트들은 기꺼이 레거시가 되어주어, 레거시를 개선해보는 경험도 시켜줄 것이고, 트래픽이 늘어나 그에 따른 새로운 경험들을 시켜줄 것 입니다. 내가 만든 라이브러리를 사용하는 사람들도 생길 것이고, 그들이 제기하는 이슈도 맛보게 될 것 입니다. 그리고 저는 이 프로젝트들을 통해 더 성장하겠지요?

관심있는 기술, 하고싶은 개발이 있지는 않으신가요? 그렇다면 시작해보세요! 토이 프로젝트를!

비전공자 초보개발자들의 팀 프로젝트는 어떨까? – #1.대파(Daepa)서비스를 소개합니다

팀 프로젝트, 포트폴리오. IT취업에선 빼놓을 수 없는 것들이죠!

하지만 비전공자분들이나 이제 막 IT분야에 발을 들여놓은 분들이라면 프로젝트에 어떻게 참여해야하고,

프로젝트에서 실제로 어떻게 개발을 하게되는지 많이 궁금해하실 것 같아요.

인천일보아카데미는 6개월의 훈련과정 중 여러 번의 개인 세미 프로젝트와 약 5~6주간 파이널 프로젝트를 진행하고 있습니다.

훈련생분들이 그동안 배운 내용들을 바탕으로 자유롭게 비즈니스 모델을 선정하고, 그에 맞게 서비스 및 페이지를 개발하는 과정을 경험합니다.

한 팀의 사례를 통해 초보개발자들의 개발기를 공유해드리려고 합니다!

인천일보아카데미 훈련생들의 프로젝트 모습을 살펴보시면서 궁금증을 해결해보세요 🙂

SW 개발 프로젝트에서 PM의 달라진 역할 – 그 많던 PM들은 다 어디로 갔을까요?

IT테크놀로지

김평수

1 배경

디지털 트랜스포메이션을 중심으로 쏟아지는 비지니스 기회들을 잡기 위해서 대기업에서부터 스타트업까지 수 많은 소프트웨어 개발 프로젝트가 기획·수행되고 있습니다.

그런데 그 많은 프로젝트를 관리하기 위한 PM(Project Manager)이 눈에 잘 띄지 않습니다. 그들은 대체 어디로 갔을까요? 프로젝트를 시작하고 그 과정에서 발생하는 리스크를 제거하며 마지막까지 개발 결과물을 책임지는 역할은 어느 프로젝트에서건 꼭 필요합니다. 하지만 갈수록 고객들이 새로운 가치를 원하면서 그 가치를 만들어 내기 위한 서비스 모델이 바뀌었고 소프트웨어의 개발 방법도 진화했습니다. 그 동안 소프트웨어 개발 프로젝트에 어떤 변화의 바람이 불어왔으며 기존 PM들에게 어떤 영향을 미쳤는지 알아보겠습니다.

2 PM의 역할

프로젝트 매니지먼트에 대한 가장 공신력 있는 연구 기관인 PMI(Project Management Institute)는 프로젝트를 이렇게 정의했습니다.

“고유한 제품, 서비스, 또는 결과물을 창출하기 위해서

한시적으로 투입하는 노력”

PM은 정해진 납기 일정과 한정된 리소스를 활용하여 결과물을 만들어내는 것에 그 책임을 갖습니다. 그렇기 때문에 결과물을 만들어 내는 과정 전반에서 다양한 역할을 수행해야 합니다. PM이 관리해야 하는 영역을 PMBOK(Project Management Body of Knowledge) 6판 기준으로 요약해보면 다음과 같습니다.

– 통합 관리: PM의 권한을 획득하고, 통합 관리 계획을 수행

– 범위 관리: 요구사항을 수집하여 정의 하고 변경을 관리

– 일정 관리: 활동을 정의하고 일정을 개발하여 모니터링

– 비용 관리: 비용을 측정하고 예산을 책정하여 관리

– 품질 관리: 품질 관리 계획에 따라 품질 관리 및 보증

– 자원 관리: 자원을 확보하고, 팀을 개발하고 관리

– 의사소통 관리: 의사소통 관리 계획에 따라 관리하고 모니터링

– 리스크 관리: 리스크 식별 및 대응 계획을 수립 후 모니터링

– 조달 관리: 고객에게 결과물 조달 계획을 수립하여 확보 후 조달

– 이해관계자 관리: 이해관계자를 식별하고 관리 및 모니터링

1996년부터 ISO-21500 표준을 기반으로 정리된 내용이라 용어가 딱딱해 보일 수 있지만 PM이라면 당연히 해야 할 역할을 정의하고 시기와 영역에 따른 이론과 기술을 가이드 하고 있습니다.

3 SI 개발 프로젝트에 적합한 PM 역할

과거 소프트웨어 개발은 제조·금융·공공 등의 엔터프라이즈 SI(System Integration)를 중심으로 행해졌습니다. 기한 내 시스템 구축을 완료하기 위해 많은 개발자가 동원되었고 이들을 이끌면서 결과물까지 책임질 PM이 필요했습니다. 프로젝트 규모가 방대한 만큼 많은 요구 사항들과 각 영역들을 효과적으로 관리하기 위해 다수의 PM이 투입되었습니다. 그들은 PMO(Project Management Office)를 조직하여 프로세스를 표준화하고 하위 프로젝트 간 리소스를 공유하면서 전체 프로젝트의 결과물을 책임졌습니다.

그 당시 개발 방식은 폭포수(Waterfall) 방법론을 주로 활용했습니다. 큰 요구 사항이 정해져 있고 WBS(Work Breakdown Structure)로 목표를 개별 개발자에게 할당할 수 있을 정도까지 세분화합니다. 이 방법론은 요구 사항이 명확하며 변경이 최소화 되어야 합니다. 이를 위해 기획 과정에서 요구 사항을 명확히 파악하고자 제품 분석, 고객 인터뷰, 대안 개발, 심화 워크숍과 같은 활동이 필요하고 변경 통제를 위한 변경 관리 위원회(CCB, Change Control Board)도 운영해야 합니다. 하지만 고객의 요구 사항을 아무리 구체적으로 정의해도 외부 비즈니스 환경에 의해 변경 사항이 발생할 수 밖에 없었고 개발자는 이에 대응해야만 했습니다. 이러한 상황은 일정 지연과 함께 프로젝트 팀원의 피로도를 높여 리소스를 추가로 투입하게 만들었고 결국 사업 수익성에 좋지 않은 영향을 미치게 되었습니다.

4 스크럼 마스터와 프로덕트 오너

개인의 소프트웨어 사용이 보편화 됨에 따라 소프트웨어 시장은 엔터프라이즈 SI 개발 중심에서 개인화된 컴퓨터와 모바일 중심의 비즈니스 시장으로 빠르게 바뀌었습니다. 그러나 전통적인 폭포수 방식으로는 빠른 개발을 통한 신속한 시장 진입이 어려워졌습니다. 변화에 좀 더 민첩하게 대응할 수 있는 새로운 개발 방식이 요구되면서 애자일 방법론이 등장했습니다.

애자일의 기본 원칙은 가치 있는 소프트웨어를 지속적으로 전달하여 고객을 만족시키는 것이었습니다. 애자일 원칙을 따르는 여러 개발 방법론 중 스크럼 방법론은 2~3주간의 스프린트 결과물을 모든 이해관계자와 같이 확인하고 다음 스프린트를 계획합니다. 피드백을 수렵하고 목표를 조정한 후에 다시 스프린트를 진행함으로써 변경에 대한 유연성을 갖고 고객의 가치에 좀 더 가깝게 다가갈 수 있게 되었습니다.

스크럼 조직에서 PM의 역할은 SM(Scrum Master)과 PO(Product Owner)가 대신합니다. SM은 스크럼 팀이 효율적으로 운영될 수 있도록 프로세스에 대한 책임을 가집니다. 개발팀의 장애물을 제거하여 업무 효율을 높이고 스프린트가 원활히 진행 될 수 있도록 운영합니다. 팀 자원과 의사소통 그리고 리스크를 관리하는 역할에 더 집중하는 것입니다.

제품을 책임지고 고객의 가치를 고려하여 그에 따른 의사결정을 하는 역할은 PO가 가져 갔습니다. PO는 각 이해관계자와 꾸준히 커뮤니케이션 하면서 요구사항을 분명히 합니다. 중요한 결정 권한을 SM에게 주지 않는 대신 지속적으로 참여하고 이해관계자들과 의사소통하며 제품의 가치를 종합적으로 판단하며 빠른 결정을 내립니다. PM의 예산 관리에 대한 역할도 마찬가지입니다.

5 프로덕트 매니저, 프로그램 매니저

최근 소프트웨어 영역에서 등장한 큰 변화는 바로 SaaS(Software as a Service)입니다. 소프트웨어를 ‘설치’하는 시나리오는 점점 고려하지 않게 되었고 IaaS(Infra as a service)와 PaaS(Platform as a service) 등의 클라우드 기술이 급속도로 발전하면서 고객에게 가치를 빠르게 제공할 수 있는 SaaS 형태의 소프트웨어가 주를 이루는 시대로 전환되었습니다.

신규 고객을 지속적으로 유입해 성장하기 위해서는 새로운 기능이 빈번하게 업데이트 되어야 합니다. 즉 프로덕트의 규모는 점점 커지는 반면, 신규 기능 및 패치의 업데이트 주기는 더 짧아져야 하는 것입니다. MSA(마이크로 서비스 아키텍처)는 프로덕트를 작은 서비스 단위로 분리하여 의존성을 떼어내고 작은 서비스 단위로 업데이트가 가능하게 함으로써 성장하는 기업의 다운타임을 줄일 수 있게 되었습니다. 또한 서비스 단위로 데브옵스(DevOps)팀을 구성하여 개발, 배포, 운영 대응까지 모든 책임을 맡기는 특징을 가지고 있습니다.

프로덕트의 규모에 맞춰 과거에 PO가 없을 때 프로덕트를 담당했던 PdM(Product Manager)의 역할이 다시 중요해지기 시작했습니다. 프로덕트의 규모가 상대적으로 작을 때에는 PO가 그 역할을 충분히 수행했지만 방대해진 유관 부서와의 커뮤니케이션은 의사결정 속도를 늦췄습니다. PO가 제품의 비전, 유관 부서의 커뮤니케이션 관리를 맡으면서 PdM이 데브옵스팀과 스크럼을 수행하며 산출물을 만드는 역할에 더 집중할 수 있도록 했습니다.

MSA 프로덕트 환경에서 또 많이 필요하게 된 역할로 PgM(프로그램 매니저)을 들 수 있습니다. MSA 기반 프로덕트에서 잘 만들어진 서비스들은 여러 다른 서비스 또는 다른 프로덕트에서도 쓰이는 경우가 많습니다.(검색, 채팅, 평점 등) 각 서비스들은 다른 프로덕트에 맞게 기능을 개선·수정해야 하는 프로젝트가 빈번히 발행합니다. 여러 연관성 있는 프로젝트의 모음을 프로그램이라 부르고 이 프로그램의 비지니스 영향도를 고려한 의사결정을 PgM(프로그램 매니저)이 맡습니다. 과거 PgM이 오랜 PM 경력을 기반으로 기업 및 조직의 대형 프로젝트를 종합적으로 관리하는 역할을 수행했다면 지금은 다양한 소규모 프로젝트의 PM까지 맡으면서 전방위적 역할을 담당합니다. 서비스를 담당하는 데브옵스팀과 긴밀한 커뮤니케이션이 필요하고 기술적 결정을 많이 해야 하기 때문에 테크니컬 프로그램 매니저라고도 불립니다.

6 제품에 적합한 조직, 조직에 적합한 역할

모든 소프트웨어가 MSA로 구성되는 것이 아니며 모든 기업들이 SaaS로 비지니스를 하고 있는 것은 아닙니다. 소프트웨어 제품의 특성과 사업 포트폴리오에 따라 적합한 형태로 프로젝트를 수행합니다. 비지니스 기회를 재빨리 잡아내고 고객 가치를 높일 수 있는 민첩한 대응을 위해 소프트웨어 개발 환경은 변화하고 있습니다. 그에 따라 기업은 PM이 했던 역할과 책임을 다시 정의하고 새롭게 부르며 변화에 대응해 가고 있습니다. 앞서 설명한 역할도 어떤 프로덕트를 추구하는지, 어떤 조직으로 이루어져 있는지에 맞춰 세부적인 역할을 변경하여 수행해야 합니다.

과거 프로젝트 중심의 PMO(Project Management Office) 조직도 변화하고 있습니다. PMO를 먼저 꾸리고 프로젝트 조직을 구성하던 방식에서 대형 스크럼 조직을 운영하기 위한 SoS(Scrum of Scrums), 프로덕트를 중심으로 한 PPO(Product and Portfolio Office), 고객 가치 중심의 VMO(Value Management Office) 조직이 등장하고 있습니다. 역할은 비슷하지만 어디에 더 무게 중심을 두는지에 따라 운영해야 할 팀과 그에 따른 역할이 달라집니다.

7 마치며

[논문]소프트웨어 개발 프로젝트 제어를 위한 재작업 지표의 적용

초록

소프트웨어 개발 프로젝트는 성공률이 30% 밖에 되지 않는 어려운 과제이다. 소프트웨어 개발 프로젝트가 실패하는 이유는 여러 가지가 있을 수 있으나, 체계적인 관리 소홀이 큰 비중을 차지하고 있다. 특히, 완성도가 떨어지는 산출물을 다음 단계로 진행시키는 것은 많은 시간과 노력을 허비하여 프로젝트를 실패로 이끌 수 있다. 이를 방지하기 위해 채택되고 있는 방식은 동료 검토(Peer Review) 또는 인스펙션(Inspection) 등과 같은 산출물들에 대한 검토활동이다. 문제가 발견된 산출물들은 다시 개발자에게 돌아가서 수정하게 되는데, 이 과정을 재작업 (Rework)이라고 한다. 프로젝트 관리자가 완성도가 떨어지는 산출물들을 다음 단계로 넘겨서 오류에 대한 막대한 비용을 지출하고 기간을 지연시키는 등의 사고를 막기 위하여, 본 연구에서는 재작업의 충실도를 높일 수 있는 방법을 연구하였다. 즉 프로젝트의 재작업 시에 작업분석을 시행함으로써 재작업된 결과의 검토 수준을 달리하는 재작업지표를 개발하였고, 이에 대한 검증을 위해 4개의 프로젝트를 선택하여 개발된 지표의 적용 여부를 관찰하고 그 효율성을 입증하였다.

키워드에 대한 정보 개발 프로젝트

다음은 Bing에서 개발 프로젝트 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 개발자 입문 첫 프로젝트 추천

  • 개발
  • 개발자
  • 비전공자
  • 개발공부
  • 서버개발

개발자 #입문 #첫 #프로젝트 #추천


YouTube에서 개발 프로젝트 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 개발자 입문 첫 프로젝트 추천 | 개발 프로젝트, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment