전략 도구

마지막 업데이트: 2022년 5월 13일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
000000000

마케팅 전략 달성을 위한 전술적 도구, 마케팅 믹스 4P (Marketing Mix 4P)

목표 시장에 대한 성공적인 진입을 위한 마케팅 전술을 수립하는 데 있어서 빠짐없이 등장하는 프레임워크 중 하나가 바로 마케팅 믹스 4P(Marketing Mix 4P)이다. 보통 이를 줄여서 '4P'로 주로 표현한다. 4P는 Product(제품), Price(가격), Place(유통 채널), Promotion(홍보/촉진) 등 4가지 구성요소의 앞글자 P를 따서 만들어졌다.

제품/서비스에 대한 마케팅을 얘기할 때 대개 4P를 가지고 설명한다. 문제는 4P의 각 요소에 대한 명확한 이해 없이 단순히 '우리 제품은 이거고, 가격은 얼마를 받을 것이고, 어디에서 팔 것이고, XX, YY마케팅을 할 것입니다~'와 같이 피상적으로 활용하고 있다는 생각이 든다. 우리가 익숙하게 알고 쓰고 있지만, 제대로 이해하고 활용하지 못하고 있는 프레임워크 중 하나가 4P라는 생각이 들어서 아래와 같이 정리해보고자 한다.

1. 프레임워크 소개

마케팅 믹스 4P(이하 4P)는 새로운 제품이나 서비스를 시장에 성공적으로 안착시키기 위한 구체적인 마케팅 계획 수립에 쓰이는 하나의 의사결정 프레임워크로 1960년 제롬 맥카시(Jerome E. McCarthy) 교수의 저서 에서 처음 소개됐다.

잠깐 배경적 설명을 정리하자면, 4P가 나오기 전 1950년대의 마케팅은 지금과 다르게 하나의 기능으로써 주로 인식됐다. 지금처럼 마케팅을 고객을 위한 가치를 창출하고 전달하는 일련의 프로세스 관리로 인식하는 것이 아니라 단순히 제품을 판매하는 기능적 행위로만 인식했다. 그래서 이때의 마케팅은 대개 중개자(Intermediaries, 통상 최종 판매자로 해석)가 추가적으로 가치를 창출하는 행위를 의미하는 기능적 접근 방식(Functional Approach)이다.

그러다가 마케팅의 개념이 마케팅 담당자의 문제를 해결하는 과정으로 확장되면서 단순 기능이 아니라 '마케팅 관리'라는 관리적 접근 방식(Managerial Approach)이 부상하면서, 1950년대에는 두 가지 관점(기능적 & 관리적)이 공존했다. 그리고 1960년, 맥카시 교수가 마케팅 의사결정 프레임워크로써 4P를 소개함으로써 단순히 유통 채널에서 수행하는 부분적 촉진 활동이라는 기능적 접근 방식의 마케팅 개념은 거의 종말을 고하게 됐다.(https://en.wikipedia.org/wiki/E._Jerome_McCarthy#Development_of_the_4Ps)

맥카시 교수는 을 통해 마케팅 의사결정을 위한 프레임워크로써 4P를 소개했다. 새로운 제품이나 서비스를 시장에 안착시키기 위한 마케팅 의사결정에 쓰이는 전술적 도구로 회사가 시장의 타겟 고객을 만족시키기 위해서는 Product, Price, Place, Promotion 등 4P를 적절하게 섞어서 사용하는 것이 중요하다는 내용이다.

4P를 구성하는 4가지 요소를 간단하게 설명하면 아래와 같다

Product (제품)
고객에게 실제 판매(제공)하는 상품을 의미한다. 마케터는 단순히 상품 그 자체만 고려할 것이 아니라 상품이 고객에게 전달되고 나서 사용되고 폐기되는 전반적인 수명주기(Life Cycle)를 고려해야 한다.

Price (가격)
고객이 상품을 구매하기 위해 지불하는 가격을 의미한다. 기본적으로 가격은 고객이 상품에 대해 얼마만큼 가치를 인식하는가에 따라 결정되므로 이는 마케팅 계획 수립에 중요한 요소 중 하나다. 낮은 가격은 더 많은 고객에게 접근하도록 만들며, 높은 가격은 그 자체로 배타적인 가치를 찾는 고객에게 가치로 어필될 수 있다. 중요한 것은 상품을 제작하고 고객에게 전달하는 비용보다 전략 도구 전략 도구 가격이 높아야 한다. 그래야 수익을 창출할 수 있다.

Place (유통 채널)
고객이 제품을 경험하거나 이용하거나 혹은 구매할 수 있는 공간으로 통상 물리적 공간(Physical Location)을 의미했으나 지금은 고객과 제품 간 접점(Touch Point) 전반을 의미한다. Place에는 유통 접점뿐만 아니라 물류, 보관 등 풀필먼트 전반 및 시스템 등을 포괄하여 의미한다.

Promotion (홍보/촉진)
홍보/촉진 활동은 흔히 아는 광고활동(Advertising)를 비롯하여 세일즈 프로모션이나 PR활동, 고객관계관리 등을 모두 아우른다. 고객과의 커뮤니케이션 전반을 의미한다.

2. 프레임워크 활용 방법

앞서 4P를 새로운 상품을 시장에 안착시키기 위한 의사결정 프레임워크로 설명했다. 그렇기 때문에 4P를 제대로 활용하기 위해서는 먼저 '어떤 시장에 진입할 것인가'에 대한 목표 시장(Target Market) 정의가 선행되어야 한다. 목표 시장 정의를 위한 프레임워크로는 3C 모델, STP 프레임워크 등을 활용할 수 있다.

목표 시장(고객)이 정해졌으면, 시장을 만족시킬만한 가치를 창출하고 전달하기 위한 구체적인 계획을 수립해야 하는데, 이때 4P를 활용할 수 있다. 4P를 활용할 때 우리 제품, 가격정책, 유통채널, 홍보계획 등 우리가 팔고자 하는 상품에 대한 계획을 단순 구조화한 수준으로 활용하는데, 사실 이는 4P를 제대로 활용하는 것이 아니라고 생각한다.

앞서 4P의 정의/설명을 다시 돌아보면, 4P는 마케터의 문제해결을 위한 프레임워크이자 새로운 상품을 시장에 안착시키기 위한 의사결정 프레임워크이다. 그러므로 성공적인 시장 진출을 위한 의사결정을 하는데 4P가 의미 있는 역할을 해야 한다. 하여 단순히 우리의 계획/활동을 분류하기 위해 쓰는 게 아니라 목표 시장을 만족시키기 위한 전술적 도구로써 4P의 각 요소별로 무엇을 고려해야 하는지 점검하는 일종의 '체크리스트'로써 프레임워크를 활용하는 것이 보다 4P를 제대로 활용하는 것이라고 생각한다.

4P의 각 요소별 던져볼 만한 전략 도구 전략 도구 질문이나 점검 요소는 아래와 같다.

1) Product

- 우리의 상품을 통해 고객은 어떤 니즈를 달성하기를 기대하는가?

- 위의 고객 요구사항을 충족시키기 위해 어떤 기능이 있어야 하는가?

- 혹은 고객이 실제로 사용하지 않을 기능을 포함하고 있는지(사용하지 않는 기능은 가격만 올릴 뿐)

- 고객은 우리의 상품을 언제 어디서 어떻게 사용하는가?

- 우리의 상품은 어떻게 보여질 것인가? 그리고 이를 사용한 고객은 어떤 경험을 할 것인가?

- 우리 상품의 디자인은 어떠한가?(크기, 색상 등)

- 우리 상품을 뭐라고 불리게 할까? (상품명 등)

- 우리 상품을 어떻게 브랜딩할 것인가?

- 경쟁사의 상품과는 어떻게 차별화시킬 것인가?

- 이 상품을 만들고 고객에게 전달하는데 비용이 얼마나 들 것인가?

이밖에 Product 관련 고려해야 할 내용은 아래 포스팅을 참조하면 된다.

Marketing Mix - Product – The Marketing Mix

A business starts with a need. It is this need of a specific market that the company should provide the solution to. This solution is a product or a service that the company has the resources to provide. Product is one of the P's referred to in the mar

2) Price

- 구매자가 인식하는 우리 상품의 가치는 무엇인가?

- 기준을 삼을 만한 가격대가 있는가?

- 우리 상품과 관련하여, 고객이 보통 가격에 민감한 편인가?

- 고객에게 어떤 방식으로 할인을 적용할 것인가?(고객군 차별화, 구매량 등 고려)전략 도구

- 경쟁사와 비교하여 우리 상품의 가격은 어떠한가?

이밖에 Price 관련 고려해야 할 내용은 아래 포스팅을 참조하면 된다.

Price - Marketing Mix Pricing Strategy

Define your specific pricing strategy in order to maximize profits in your business. Learn about the Price pillar in the marketing mix now.

3) Place

- 고객은 우리 상품을 어디에서 찾는가?

- 만약 오프라인 유통채널에다가 판매한다면, 어떤 형태의 점포에서 판매하는가?(슈퍼마켓? 백화점? 고급 부띠크?) 아니면 온라인으로 판매하는가 혹은 카탈로그 방식으로 판매하는가?

- 우리 상품에 가장 적합한 유통 채널에 어떻게 접근할 것인가?

- 전문 세일즈 팀 운용이 필요한가? 다양한 박람회 참가가 필요한가? 혹은 클라이언트에게 온라인으로 제안할 수 있는지, 아니면 카달로그/브로셔 등을 보내야 하는가?

- 경쟁사는 어떻게 유통하는가? 경쟁사의 유통방식과 어떻게 차별화할 수 있는가?

이밖에 Place 관련 고려해야 할 내용은 아래 포스팅을 참조하면 된다.

Place - Marketing Mix Distribution Strategy

The distribution strategy or Place aspect of the Marketing Mix is one of the four key pillars you need to understand to fully maximize your profits.

4) Promotion

- 언제, 어디서 목표 시장에 마케팅 메시지를 전달할 것인가?

- 어떤 매체를 통해 잠재 고객에게 다가갈 것인가?(온라인 광고, TV, 라디오 등 미디어 광고, 옥외 광고, PR 등)

- 집중적으로 홍보하기에 최적의 시기는 언제인가? 시장에 계절성(Seasonality)이 있는가? 시장 출시, 확장, 후속 프로모션 시기 결정에 있어 어떤 이슈가 있는가?

- 경쟁사는 주로 어떻게 홍보활동을 하는가? 경쟁사의 홍보활동이 우리에게는 어떤 영향을 미치는가?

이밖에 Promotion 관련 고려해야 할 내용은 아래 포스팅을 참조하면 된다.

Promotion - Marketing Mix Promotional Strategy

The promotion aspect of the marketing mix. Understand exactly how to set and plan a promotional strategy to deliver on your businesses goods or services.

이렇게 4P의 각 요소마다 자문해봐야 할 질문에 대해 답을 구했으면, 이를 정리한다. 이때 정리한 내용은 아직까지 시장 가설이기 때문에 가능하면 실제 시장이 가설대로 돌아가는지 테스트해 볼 필요가 있다.

기본적으로는 마케팅 믹스에 4가지 요소, 4P를 가지고 마케팅 전략 목표 달성을 위한 구체적인 계획을 수립하고 의사결정하는데 활용하지만, 시간이 지나 3가지 P가 더 추가돼 Marketing Mix 7P로 활용되기도 한다(Booms, B. and Bitner, M. 1981). 추가된 3가지 P는 People(사람), Processes(프로세스), Physical Evidence(물리적 증거) 다. 마케팅 믹스 7P는 특히 서비스 산업에서 주로 활용된다.

People(사람)
상품만 가지고 마케팅 활동을 할 수 없다. 마케팅 활동은 상품을 만들고, 판매하고, 운영하는 사람들에게 의존하기 때문이다. 그렇기 때문에 적절한 인적자원을 확보하는 것이 중요하다. 특히 서비스 산업의 경우 서비스 상품이 사람(서비스 수행자)으로부터 전달되기 때문에 사람들 또한 우리 상품과 마찬가지로 고객에게 전달하는 가치제안(오퍼링)이 일부이다.
추가 자료 : https://marketingmix.co.uk/marketing-mix-people/

Processes(프로세스)
고객에게 제공하는 서비스는 대개 고객이 직접 활동에 참여하기에 서비스가 전달되는 방법/과정 또한 고객이 지불하는 가격의 일부분이다. 프로세스의 경우 정의를 내리는 범위에 따라 고객이 서비스를 경험하기 전(前)과 서비스 경험 후(後) 과정을 포함하기도 한다.
추가 자료 : https://marketingmix.co.uk/marketing-mix-process/

Physical Evidence(물리적 증거)
비록 고객이 지불하는 대상은 무형적인 서비스일지라도 거의 모든 서비스는 물리적인 결과물(산출물)을 포함한다. 예를 들어 미용실의 경우, 미용 서비스는 무형적인 형태의 서비스이지만, 서비스가 끝나고 나면 고객의 헤어스타일이 일종의 물리적 증거처럼 남게 된다. 물리적 증거 또한 정의를 내리는 범위에 따라 서비스 이용 전 고객이 구매의사결정에 활용하는 요소(브랜드 이미지, 매장 이미지 등) 모두를 포함하기도 한다.
추가 자료 : https://marketingmix.co.uk/marketing-mix-physical-evidence/

3. 프레임워크에 대한 의견

마케팅 믹스 4P(확장하여 7P까지)는 마케팅 계획을 수립함에 있어서 의식적이든 본능적이든 활용해 온 프레임워크이다. 그렇기 때문에 그 중요성에 대해서는 강조에 지나침이 없다. 다만 의사결정의 참고사항으로 프레임워크를 활용하는 것이 아니라 프레임워크에 억지로 생각을 구겨 넣으려고 하다보니 문제가 발생하는 것이다.

새로운 제품이나 서비스를 시장에 출시하는 스타트업의 활동은 결국 마케팅 활동과 같다. 왜냐하면 마케팅이란 단순히 광고/홍보활동이 아니라 소비자, 클라이언트, 파트너 및 사회 전반에 가치를 지닌 오퍼링을 만들고, 의사 소통하고, 전달하고, 교환하기 위한 활동, 기관 및 프로세스 집합이기 때문이다(AMA, 2017).

목표로 하는 고객(시장)에게 가치를 창출하고 전달하고, 그 과정에서 수익을 획득하는 과정의 전반에 대해 주의깊게 살펴보고 계획을 수립해야 하는데 그 범위가 너무 넓기 때문에 자칫 생각의 바다에 표류할 수 있다. 이때 4P라는 프레임워크를 가지고 가치 창출/전달 과정의 출발점를 정하고 범위를 정리하고 어떤 부분을 중점적으로 점검할 것인지 등을 결정하는데 활용함으로써 그 가치가 있다고 본다.

마케팅 환경이 공급자 중심에서 소비자 중심으로 전환되면서 마케팅 믹스 요소 또한 4P가 아닌 4C(Customer, Cost, Convenience, Communications)으로 변하고 있다는 주장도 있는데, 결국 4P 안에서 모두 아우를 수 있는 내용이라고 생각한다.

내가 하고자 하는 사업에 대한 시장 진입 전략 및 계획을 수립함에 있어서 4P(서비스라면 7P)를 기준으로 생각을 정리하고 의사결정을 해야겠다는 마음가짐과 실제 4P를 따라 고민하는 것 자체가 큰 의의가 있다고 생각한다.

전략 도구

잠깐! 현재 Internet Explorer 8이하 버전을 이용중이십니다. 최신 브라우저(Browser) 사용을 권장드립니다!

  • 기사공유하기
  • 프린트
  • 메일보내기
  • 글씨키우기
    • 가나다라마바사
    • 가나다라마바사
    • 가나다라마바사
    • 가나다라마바사
    • 가나다라마바사
    • 가나다라마바사
    • 심민규 기자
    • 승인 2013.11.28 09:36
    • 댓글 0
    • 기사공유하기
    • 프린트
    • 메일보내기
    • 글씨키우기
      • 가나다라마바사
      • 가나다라마바사
      • 가나다라마바사
      • 가나다라마바사
      • 가나다라마바사
      • 가나다라마바사

      ■ 막무가내 수원시

      업계 전문가들은 수원시의 조합 고발 조치에 대해 ‘이해 불가’라는 평가를 내리고 있다. 현재 부동산 시장 상황을 반영하면 충분히 유연하게 대처할 수 있는 사안이었다는 것이 공통된 의견이다.

      실제로 수원시가 115-11구역의 감정평가를 위해 체결한 감정평가용역 계약서에는 사업시행계획이 변경될 경우 감정평가를 연기할 수 있다는 점이 명시돼 있다.

      지난해 5월 수원시장과 M평가법인, 115-11구역 조합장과 계약을 체결한 ‘수원시 정비사업 감정평가용역 계약서’ 제9조(계약의 해제·해지 등)에는 “‘갑’은 다음 각 호에 해당하는 경우가 발생하였을 때에는 본 계약을 해제·해지 또는 연기할 수 있다”고 규정하고, 제1호에 “사업이 장기간 지연될 것이 불가피하거나, 사업시행인가 변경 등의 사유 등으로 전략 도구 사업시행자로부터 감정평가 연기 및 중지의 요청이 있는 경우 또는 사업이 취소되는 경우”라고 명시하고 있다.

      사업이 지연되거나, 사업시행인가 변경 등의 사유가 있을 경우 조합이 감정평가업체의 감정평가업무를 연기할 수 있다는 조항이다.

      여기에 형사고발한 처벌 근거 조항도 명확하지 않다는 것이 전문가들의 판단이다. 시가 조합을 고발한 근거 규정으로 들고 있는 〈도정법〉 제77조는 사업시행계획서나 관리처분계획에 위반됐다고 인정할 경우 처분의 취소나 변경, 정지 등의 조치를 취할 수 있도록 규정하고 있다.

      또 제85조제12호는 “제77조제1항의 규정에 따른 처분의 취소·변경 또는 정지, 그 공사의 중지 및 변경에 관한 명령을 받고도 이에 응하지 아니한 사업시행자 및 정비사업전문관리업자”에 대해 2년 이하의 징역이나 2천만원 이하의 벌금에 처하도록 하는 조항이다.

      즉, 사업시행계획이나 관리처분계획을 위반해 행정처분을 취소, 중지했음에도 사업을 추진하는 경우 처벌이 가능하다는 것이다.

      이에 대해 시 담당자는 “내부 자문을 통해 고발이 가능하다고 판단해 고발조치를 취한 것”이라며 “처벌 규정에 해당되지 않는다면 조합이 처벌받지 않을 것이기 전략 도구 때문에 문제가 없다”고 말했다.

      가치관제작소

      0000 그리고 논문 및 연구에도 종종 사용되기 때문에 마케팅 툴에 대한 이해는 실무에 큰 도움이 됩니다.

      0000 이에, ST.shop 은 연구자가 마케팅 툴을 손쉽게 연구에 적용할 수 있도록

      0000 마케팅 툴을 정리하였습니다.

      0 마케팅 전략 체계

      0000 마케팅 전략 체계는 3C (분석적 요소), STP (개념적 요소), 4P (실천적 요소)로 구성되어 있으며

      0000 0000 - 3C3차원 평가를 위한 시장의 정의고객분석 + 자사분석 + 경쟁사분석 으로 구성됩니다.

      0000 0000 - STP효율적 시장접근을 위한 전략 으로 고객세분화 →표적시장 → 포지셔닝 의 순으로 분석됩니다.

      0000 0000 - 4P시장접근을 위한 통제 가능한 요인의 투입 으로 제품+장소+가격+촉진 으로 구성됩니다.

      000000000

      0 3C 분석

      0000 일반적으로 기업은 이윤 극대화를 위해 시장환경을 분석하는데

      0000 그 중 3C 분석은 일반적으로 기업 성장을 위해 분석하는 방법 중 하나로

      0000 자사, 고객, 경쟁사를 분석 하는 것을 의미합니다.

      000000000

      0000 특히 3C 분석에서 SWOT 분석은 자주 사용됩니다.

      0000 SWOT 분석은 환경분석의 가장 일반적인 분석으로

      0000 각각 강점 (S) , 약점 (W) , 기회 (O) , 위험 (T) 으로 구성되어있으며,

      0000 통제 가능한 내부환경 요인(S, W)통제할 수 없는 외부환경 요인(O, T) 으로 구분됩니다.

      000000000

      0 ST P분석

      0000 기업의 입장에서 한정된 자원 으로 최대한의 마케팅 효과 를 내기위한 전략방안으로 STP 분석을 사용합니다.

      0000 즉, 3C 분석을 통해 기업의 마케팅 환경을 분석 하고
      0000 이후 제품시장을 몇 개의 세분화된 시장 ( S egmentation ) 으로 나누고
      0000 세분화된 시장을 평가하여 표적시장( T argeting ) 을 선정 한 이후
      0000 각 제품에 대한 포지셔닝( P ositioning ) 을 파악 하여
      0000 제품에 대한 경쟁우위를 가져가기 위한 프로세스를 의미합니다.

      000000000

      0 STP분석의 활용

      0000 STP분석의 통계적인 활용은 세분화속성에 대한 선택과

      0000 각 시장에 대한 매력도측정을 위한 집단별 차이분석을 사용합니다.

      0000 주로, 카이제곱이나 평균차이를 위한 분석(T-test / ANOVA)을 사용합니다.

      0000 제품의 포지셔닝을 파악하기 위한 적정한 방법은 다차원척도법을 사용합니다.

      000000000

      0 4P분석

      0000 의사결정자가 효과적이고 전략적인 의사결정을 하기 위하여

      0000 통제 가능한 마케팅수단들간의 특정 시점이나 환경에 맞는 적절한 조합을 고려하게 됩니다.

      0000 이러한 전략적 의사결정을 위한 마케팅 수단들의 조합을 마케팅 전략 도구 믹스(Marketing Mix) 또는 4P라고 하며,

      0000 4P에 구성요소는 학자들 마다 다르나,

      0000 대표적으로 제품( P roduct), 장소( P lace), 가격( P rice), 촉진( P romotion) 으로 구성됩니다.

      000000000

      0 4P 분석의 전략 도구 다양한 활용

      0000 4P분석의 변수는 주로 측정가능한 경우가 많습니다.

      0000 따라서 4P분석 자체를 변수로서 활용하는 경우가 많으며,

      0000 4P와 관련있는 연구를 정리한 결과는 아래와 같습니다.

      000000000

      ScienceON Chatbot

      ※ 국가연구개발사업의 관리 등에 관한 규정(2012.7.1 시행)
      에 의해 추후 공개로 전환될 가능성은 있습니다.

      과제관리기관과의 협의를 통하여 비공개 보고서를 공개로 전환할 수
      있도록 계속적으로 관리되고 있으며, 현재 비공개 처리된 보고서의
      열람이 어려운 점 양해 부탁드립니다.

      보고서 상세정보

      학교급식 메뉴평가 도구와 메뉴운영 전략 수립 매뉴얼 개발

      Development of a school foodservice menu evaluation tool & manual

      과제명 학교급식 메뉴평가 도구와 메뉴운영 전략 수립 매뉴얼 개발
      주관연구기관 계명대학교
      KeiMyung University
      연구책임자 최미경
      보고서유형 최종보고서
      발행국가 대한민국
      언어 한국어
      발행년월 2012-06
      과제시작년도 2011
      주관부처 교육과학기술부
      사업 관리 기관 한국연구재단
      등록번호 TRKO201300010286
      과제고유번호 1345151609
      사업명 신진연구지원사업
      DB 구축일자 2013-06-29
      연구과제
      타임라인

      연구과제 성과물(0)

      참여연구원의 다른 문헌(0)

      본 연구는 학교급식에 적용 가능한 메뉴평가 도구를 개발하고, 현장 적용 평가 후 메뉴평가 및 메뉴운영 전략 수립 매뉴얼을 개발하여 학교급식 메뉴운영의 효율성 제고를 위한 도구를 제공하고자 계획되었다. 단, 본 연구에서 개발된 메뉴평가.

      본 연구는 학교급식에 적용 가능한 메뉴평가 도구를 개발하고, 현장 적용 평가 후 메뉴평가 및 메뉴운영 전략 수립 매뉴얼을 개발하여 학교급식 메뉴운영의 효율성 제고를 위한 도구를 제공하고자 계획되었다. 단, 본 연구에서 개발된 메뉴평가도구는 외부 평가 목적이 아닌 자가 평가를 원칙으로 하고, 평가과정을 최대한 단순화하여 현장의 업무 부담이 증가하지 않도록 하며, 실제 학교급식 현장에서 적용 가능한 평가 방법을 전략 도구 제시하고자 하였다.
      학교급식 메뉴평가 현황 조사를 위해 2010년 9월 29일부터 10월 19일까지 전국 16개 시·도교육청 영양(교)사 448명(각 시·도교육청별 14명)을 대상으로 설문조사를 실시, 총 291부가 회수되어 통계분석에 이용되었다. 학교급식메뉴평가에 대한 영양(전략 도구 전략 도구 교)사 의견으로는 '메뉴평가는 필요하지만, 현실적으로 어려운 부분이 많다'가 223명(78.8%)으로 가장 많았고, 학교급식 메뉴평가 수행에 있어 장애요인을 중복응답으로 조사한 결과는 '과도한 업무부담'이 205명(77.4%), '메뉴평가에 대한 노하우 부족' 137명 (51.7%) 등이 가장 큰 장애요인으로 나타났다. 학교급식 메뉴평가의 기대효과에 대해 중복응답으로 조사한 결과에서는 '피급식자인 학생, 교직원들의 만족도 제고'가 178명(67.2%)으로 가장 많았다. 학교급식 메뉴평가 현황에서 선호도 조사는 주기적으로 시행되는 반면 기타 항목들에 대해서는 메뉴개발 시 평가하는 비율이 높았다. 메뉴평가 항목에 대한 직급별 중요도와 수행도는 영양교사들이 영양사에 비해 '영양' 요인의 중요성을 유의적으로 높게 평가하고 있었고(p ▼

      Git 브랜치 전략(Git flow, Changes)의 필요

      프로젝트를 시작할 때 기본적으로 논의하는 ‘코드베이스’, ‘코드리뷰’, ‘배포방안’ 중 코드베이스 관리에 관련한 고민입니다.

      코드베이스 도구는 요즘 대부분 git 으로 선택합니다. TFS(Team Foundation Server), Subversion, CVS, Git 등 많은 코드 관리 도구 전략 도구 중 고민하고 선택해야 했는데 요즘엔 GitHub의 영향인지 항상 git으로 기본적으로 선택합니다. 실제로도 매우 편리한 기능들이 많아서 만족합니다. (갑자기 git을 써야하는 이유에 대해서 장기간 옛회사에서 세미나를 했던 슬픈 기억이…). 그래도 git이 다양한 솔루션을 통해서 제공되고 코드베이스 측면에서도 ‘분산 버전 관리’라는 엄청난 장점이 있습니다.

      그리고 대중적인만큼 기본적인 Git 사용법 add, commit, stash, fetch, merge, rebase 등은 이미 많은 정보가 있고 GUI 도구(SourceTree, IntelliJ IDEA, VS Code 내장된 도구)도 매우 훌륭합니다.

      Git을 사용할 때 다음 요소를 고려하면 더 좋은 코드 활용/유지 보수가 가능하다고 생각합니다.

      • Git Branch 전략
      • Git Message 작성 방법

      그 중에서도 본 글에서는 Branch 전략에 관한 내용입니다. Branch 전략 중 Git flow vs Changes 방법을 비교하였습니다.

      Git Branch 전략

      Git branch 전략은 유명한 Git flow(참고 1 )이 있습니다. 저는 회사 내의 규제/제한으로 인해서 Git flow를 변형한 전략을 사용하고 있습니다. 일반적으로 프로젝트 설정 시 Git Branch 전략을 세울 때 고려할 점을 정리하였습니다.

      • Branch 별 권한 (Write, Read, Pull-Request)
      • Branch 생명주기 (짧게 유지하면서 명확하게)
      • Branch 을 통한 빠른 디버깅/스냅샷 확인

      위 고려사항들은 모두 코드 품질 향상 , 전략 도구 코드 가독성(검색) 향상 을 목적이라고 생각됩니다. 그리고 코드베이스는 서비스/어플리케이션에서 버그가 발생하였을 때 해당 버전의 코드로 디버깅하여 원인을 찾고 상황 재현, 수정, 검증, 재배포까지의 단계를 체계적/안정적으로 처리할 수 있어야 합니다.

      각 단계를 효과적으로 관리하기 위한 Branch 전략 수립과 함께 Git 기능(hook, script 등)/솔루션(Github, GitLab, Gerrit, Stash, TFS 등)을 이용하여 자동화 를 구성합니다. 자동화 구성은 Pull-Request, 코드 리뷰 등 코드 품질 향상을 위한 행동들을 팀 문화 혹은 절차로 대체할 수도 있습니다. 하지만 이런 방법은 시간에 따라 변하고 바쁠수록 무시하는 경우가 많아집니다. 또한 인간적인 측면(게으름, 나태함, 건망증 등)과 신규 인력 투입 시 실수를 최소화하는 역할로 자동화 구성과 제약이 꼭 필요합니다.

      그래서 처음 Branch 전략을 수립하는 시점부터 ‘코드 품질, 코드 가독성(검색)’ 향상을 함꼐 목표로 설정합니다. 단순히 Git flow를 따라함이 아닌 현재 프로젝트 구성원, 회사의 제약 조건 등을 고려하다면 ‘코드 저장 관리’에서 최종 목표인 ‘코드 품질’, ‘유지보수’ 향상까지 제공하는 전략 수립을 수립할 수 있습니다.

      Git flow

      Git flow는 이미 너무 유명한 방법입니다. Git Branch 전략으로 많은 사람들이 선택하고 있으며 도구(git-flow 등)도 깔끔하게 만들어져 활용하기 좋습니다. Git Flow 전략을 살펴보면 다음과 같습니다. (참고 1 )

      우아한 형제들의 Git-flow 전략(참고 2 )이 Git Flow의 의도에 따라 사용된 좋은 예시라고 생각됩니다. 조금 간략하게 정리를 하면 다음과 같습니다.

      Git flow branch 전략

      Branch 목적
      master 제품 출시
      develop 다음 버전 개발
      feature/ 기능 개발
      release 제품 출시 준비
      hotfix 출시된 버전 버그 수정

      개인적으로 Branch 전략을 살펴 볼 때 중요하게 체크하는 내용이 목적 입니다. Branch를 통해서 표현하고 싶은 의도를 명확하게 정의해야 합니다. Git flow 가 좋은 점은 그 목적을 뚜렷하게 제안하는 점입니다.

      Changes (by Gerrit)

      Changes 는 별다르게 전략 도구 전략 도구 부르는 이름을 못 찾아서 적당히 붙힌 이름입니다.

      현재 프로젝트에서 사용하고 있는 전략은 Git-flow 와 유사하지만 feature branch는 없고 사내 코드 리뷰 도구인 Gerrit(참고 3 )의 Changes로 feature 역할과 유사하게 사용합니다. Changes은 Gerrit 내의 PR(Pull-Request)와 유사한 개념입니다. 코드 묶음이면서 개발자가 리뷰를 남길 수 있는 공간이자 리뷰 의견을 반영한 새로운 Patchset(수정한 코드)를 추가 등록하는 공간입니다.

      다음은 Changes와 Patchset을 간략하게 구조화한 내용입니다.

      Changes의 최대 장점은 ‘빠른 생명주기’을 통해서 Branch 충돌을 최소화하고 ‘Branch를 간략하게’ 만들어 준다는 점입니다.

      PR을 통한 코드 리뷰 때보다 작은 단위로 리뷰를 하게 됨으로 빠른 피드백 및 수정이 가능합니다. 사실 PR도 작게 유지하면 동일한 효과를 얻을 수 있습니다. 그 중에서도 가장 큰 차이는 병합 시점에 Changes는 최종 Patchset이 1개의 Commit 으로 Merge or rebase가 되기 때문에 깔끔한 코드베이스 흐름을 보여줍니다.

      Changes branch 전략

      Branch 목적 특징
      master 제품 출시 tag, DevOps 도구에 의해 자동 빌드 및 배포
      develop 다음 버전 개발 Changes 취합, 정적 분석 및 테스트 100% 성공 시만 병합
      release 제품 출시 준비 제품 Versioning, QA
      hotfix 출시된 버전 버그 수정 열심히 고쳐야함!

      Git flow와 Changes를 비교하면 별도의 feature가 없는 것처럼 보이지만 Gerrit 내부에서 Change 한 건마다 branch로 등록되어 관리되기 때문에 실제 동작은 feature와 동일합니다. 즉 Git flow의 feature를 매번 1개의 Commit으로 rebase를 한다면 Gerrit을 이용한 코드베이스와 동일합니다.

      그 외 master, develop, release, hotfix branch는 git flow와 동일한 목적으로 사용합니다. 현재 프로젝트에서는 개발자는 develop 브랜치만 Read/Write 권한을 가집니다. Changes는 코드 리뷰 후 정적분석, 테스트, 패키징까지 수행한 뒤 원 브랜치와 병합합니다.

      Branch! 하지만 결국 Codebase!

      Branch 전략은 어디까지나 Branch를 어떻게 사용하면 개발 생산성 (판타지에나 나올법한 단어)를 높여줄 것인가에 대한 고민입니다.

      Git flow, changes, 개발자마다 사용하는 각자의 방법들은 매우 다양합니다. 사실 작은 토이 프로젝트이면 master 하나만으로도 충분합니다. 자신의 프로젝트 성격에 따라서 Branch 전략도 적절하게 수정/변화를 주며 사용이 필요합니다.

      항상 프로그래밍을 하면 나오는 ‘그 때 그 때 달라요’는 사실 ‘원칙’을 기반으로 하는 달라요일 때 아름답다고 생각합니다. SOLID(참고 4 ) 원칙처럼 공유되는 Git branch 원칙은 없지만 코드베이스의 목적인 코드 저장 및 공유를 하면서 ‘코드 품질, 코드 가독성(검색)‘을 높여주는 전략을 고민하면 좋겠습니다.


0 개 댓글

답장을 남겨주세요