jira

21 개의 포스트

line4분 읽기큐레이션 요약

프롬프팅에서 워크플로로, AI로 프런트엔드 개발 생산성 끌어올리기

코딩 속도보다 더 큰 병목은 Jira, Figma, Confluence, Slack, Git 등에 흩어진 정보를 모으고 조정하는 비용입니다. 글은 LLM을 단발성 프롬프트 도구가 아니라 반복 가능한 개발 워크플로의 실행 엔진으로 활용해야 한다고 주장합니다. 이를 통해 구현 전 요구 사항을 통합하고, 불확실성을 드러내며, 구현 후 검증까지 자동화하는 오케스트레이션 중심의 프런트엔드 개발이 가능해집니다. ## 프런트엔드 개발의 병목 변화 - 하나의 기능을 구현하려면 여러 시스템을 오가야 합니다. - 요구 사항: Jira - 디자인: Figma - 기술·정책 문서: Confluence - 의사결정과 논의: Slack - 구현과 검증: Git - 프런트엔드 개발자는 이 정보를 통합해 실제 사용 가능한 결과물로 조립하는 역할을 담당합니다. - 주요 부담은 코드를 작성하는 일보다 다음과 같은 컨텍스트 작업에 있습니다. - 티켓과 디자인 분석 - 에지 케이스 확인 - 제품·백엔드 팀과의 동기화 - 기존 코드와 재사용 가능한 구성 요소 탐색 ## 프롬프트에서 반복 가능한 워크플로로 - 단발성 프롬프트는 한 번의 작업에는 유용하지만, 반복성과 누적 효과가 부족합니다. - 워크플로는 입력부터 출력까지의 표준화된 경로입니다. - 여러 시스템에서 관련 컨텍스트 수집 - 요구 사항 요약 - 모호하거나 충돌하는 내용 식별 - 구현 계획과 파일 목록 제안 - 사람이 검토한 뒤 코드 수정 진행 - 이 구조에서 LLM은 단순히 코드를 생성하는 도구가 아니라 워크플로를 실행하는 엔진입니다. - 한 번 구축한 워크플로는 티켓의 내용이 달라져도 동일한 패턴으로 적용할 수 있어 확장성이 높습니다. ## 연결된 개발 컨텍스트와 Noah MCP - LY Corporation의 Noah MCP는 Jira, Confluence, Slack, GitHub 같은 내부 도구를 연결합니다. - AI 에이전트가 사람이 복사해 붙여넣은 정보가 아니라 실제 업무 시스템에 존재하는 컨텍스트를 직접 읽고 추론할 수 있게 합니다. - 이를 통해 개발자는 각 시스템을 수동으로 방문하고 정보를 노트에 조합하는 작업을 줄일 수 있습니다. - 핵심은 AI를 별도의 도구로 사용하는 것이 아니라 기존 업무 흐름 안에 배치하는 것입니다. ## 구현 전 요구 사항 통합 예시 기능은 검색·필터·정렬과 역할 기반 필터 표시가 있는 목록 페이지입니다. 기존 방식에서는 개발자가 Jira, Figma, Confluence, Slack, 코드베이스를 직접 확인한 뒤 계획을 작성합니다. 워크플로 기반 방식에서는 에이전트에게 다음을 요청합니다. - Jira 티켓 분석 - 관련 Confluence 문서 검색 - Slack의 최근 의사결정 확인 - 유사한 코드 구현 탐색 - 코드 수정 없이 다음 결과 반환 - 요구 사항 요약 - 프런트엔드 영향 범위 - 관련 파일 - 구현 체크리스트 - 테스트 체크리스트 - 미해결 질문 에이전트가 도출한 계획에는 다음과 같은 구체적인 정보가 포함됩니다. - `FeatureListPage.tsx`, `FeatureList.tsx` 등 신규 파일 - 기존 `useTableFilters`, `useUrlState` 훅의 재사용 - `GET /api/<feature>`의 기존 페이지네이션 API 활용 - 역할별 필터 표시 - viewer: 검색, 상태 필터, 날짜 범위 - editor: owner 필터 추가 - admin: 내부 전용 플래그 추가 - 필터·정렬·페이지 상태를 URL 파라미터와 동기화 - 로딩, 빈 결과, 검색 결과 없음 상태 구현 ## 숨겨진 요구 사항과 재작업 방지 - Slack 논의에서 필터 상태를 `localStorage`가 아니라 URL에 저장해야 한다는 결정이 발견됩니다. - URL 공유가 가능해지고 - 새로고침 후에도 상태가 유지되며 - 다른 사용자가 동일한 화면을 재현할 수 있습니다. - 코드베이스 검색을 통해 이미 존재하는 훅을 재사용할 수 있습니다. - 불필요한 중복 구현 방지 - 기존 동작과의 일관성 유지 - 개발 시간 단축 - 구현 전에 다음과 같은 미해결 사항도 드러납니다. - 필터·정렬 상태를 URL에 저장할지 여부 - 빈 상태에서 “필터 초기화” 버튼을 제공할지 여부 - 이런 문제를 PR 리뷰 단계가 아니라 구현 전에 발견하면 재작업 가능성을 줄일 수 있습니다. ## 코딩 이후의 폐쇄 루프 검증 워크플로는 코드 생성에서 끝나지 않고 검증 단계까지 포함해야 합니다. - 구현 후 원래 계획과 실제 변경 사항을 대조합니다. - 자동 검증 항목을 실행합니다. - 타입 검사 - 린트 - 관련 단위 테스트 - 스모크 테스트 또는 로컬 검증 흐름 - 에이전트는 다음 결과를 보고합니다. - 통과한 검사 - 실패 후 수정한 문제 - 자동화하지 못한 검증 - UI 상태별 스크린샷이나 확인 메모 - PR 전 남은 위험 요소 - 이 폐쇄 루프를 통해 계획, 구현, 검증이 하나의 연속된 개발 사이클이 됩니다. ## 실용적인 적용 방향 프런트엔드 팀은 먼저 Jira·문서·메신저·코드 검색을 묶은 “구현 전 분석 워크플로”부터 도입하는 것이 좋습니다. 이후 구현 계획 승인, 코드 수정, 자동 테스트, PR 전 검증을 단계적으로 연결하면 단순한 코드 생성보다 재작업 감소와 품질 향상이라는 더 큰 효과를 얻을 수 있습니다.

원문 읽기(새 탭에서 열림)
line4분 읽기큐레이션 요약

ODW #8: Slack MCP로 사고 대응과 FAQ 생성 작업 속도를 높이는 실습형 사내 워크숍 후기

Slack에 축적된 문의와 사고 대응 정보는 중요하지만, 문서화가 늦어지거나 담당자별 품질 차이로 지식 자산화가 어려웠다. 이 글은 사내 인증 기반 Slack MCP와 Confluence·Jira MCP를 결합해 FAQ, 사고 상황 요약, 인시던트 리포트를 자동 생성하는 워크숍 사례를 소개한다. 핵심은 기술 설명보다 실제 업무를 직접 자동화해 보고, 검증된 프롬프트를 스킬로 만들어 조직 전체에서 재사용하는 데 있다. ## Slack 정보의 구조화 격차 - Slack에는 사고 대응, 문의, 프로젝트 논의 등 실시간 업무 정보가 축적된다. - 그러나 문서화가 본업에 밀리거나 담당자에 따라 기록 품질이 달라진다. - 그 결과 중요한 정보가 Slack 스레드에 묻혀 재검색과 재활용이 어려워진다. - FAQ, 사고 보고서, 진행 상황 보고서 형태로 Confluence나 Jira에 정리할 필요가 있다. ## Slack MCP 도입과 워크숍 목표 - 사내 Slack MCP는 사내 인증과 연동되어 개인 토큰이나 복잡한 OAuth 설정 없이 Slack 정보에 접근할 수 있다. - 새로운 도구의 도입을 막는 요인은 다음과 같다. - 업무 중 별도로 학습할 시간 부족 - 설정과 활용에 대한 심리적 부담 - 사내 정보 확산의 지연 - 워크숍은 Slack MCP가 공개된 직후 빠르게 열어 참가자의 관심을 실습으로 연결했다. - 목표는 깊은 기술 지식 전달보다 참가자가 당일부터 업무에 활용할 수 있게 만드는 것이었다. ## Slack MCP의 주요 기능과 확장성 - Slack MCP는 다음 기능을 제공한다. - 메시지와 스레드 조회 - 메시지 게시 및 액션 실행 - 채널과 멤버 조회 - 메시지 검색 - Confluence MCP와 결합하면 프로젝트 보고서나 FAQ를 자동 생성하고 게시할 수 있다. - Jira MCP와 결합하면 Slack 논의를 바탕으로 작업 티켓을 만들 수 있다. - 워크숍에서는 먼저 AI에게 Slack 채널에 “Hello”를 게시하게 하여 MCP의 동작을 직접 체험하게 했다. ## 문의 대응 내용을 FAQ로 변환 - Slack 문의 채널의 대화를 검색해 FAQ 형식의 마크다운으로 변환했다. - 기존 Confluence FAQ와 대조해 이미 문서화된 내용은 제외했다. - 생성된 내용을 Confluence 하위 페이지로 게시하고, 증상·해결책·원인 구조의 표로 정리했다. - 활용 흐름은 다음과 같다. - 문의 채널과 Confluence 페이지 지정 - ‘문의’를 포함한 최신 스레드 검색 - 기존 FAQ와 중복 여부 확인 - 신규 문의만 FAQ 파일로 생성 - Confluence에 게시 - 이를 통해 반복 문의를 지식 베이스로 축적하고 담당자별 답변 품질 차이를 줄일 수 있다. ## 사고 상황 요약과 인시던트 리포트 생성 ### 빠른 상황 파악 - “시스템 장애 내용 및 상황을 정리해줘”와 같은 자연어 지시로 Slack 스레드를 검색한다. - AI는 해결 상태, 고객 영향, 담당자별 조치, 장애 타임라인을 요약한다. - 예를 들어 장애 감지 시각, 원인 파악 시각, 대응 완료 시각을 한눈에 정리할 수 있다. - 매니저가 중간에 합류하거나 담당자에게 직접 묻기 전에 전체 상황을 파악할 수 있어 의사 결정이 빨라진다. ### 인시던트 리포트 자동 작성 - 사전에 정한 형식에 따라 발생 시각, 감지 시각, 장애 기간, 원인, 영향 범위, 대응 내용을 자동 구조화한다. - 데이터베이스 커넥션 풀 고갈이나 설정 변경 누락 같은 원인과 사용자 수, 영향 기능, 데이터 손실 여부 등을 보고서에 포함할 수 있다. - 사고 대응 중에는 현황 요약을, 대응 완료 후에는 공식 리포트를 생성하는 식으로 목적에 맞게 활용한다. ## 정확도와 리뷰를 높이는 방법 - Slack의 모든 정보를 그대로 사용하지 말고 분석 범위를 먼저 좁혀야 한다. - 기존 Confluence 문서와 중복 제거 - 특정 리액션이 달린 메시지만 선택 - 특정 채널이나 기간, 키워드로 검색 범위 제한 - AI가 생성한 결과를 그대로 공개해서는 안 된다. - 개인정보 포함 여부 확인 - 원본 스레드 출처 표시 - 원래 발언을 과도하게 해석하지 않았는지 검토 - 실제 실습에서도 원본 스레드의 의도와 FAQ 내용이 미묘하게 달라지는 사례가 있어 사람의 리뷰가 필요함을 확인했다. - “증상·해결책·원인 세 칼럼의 표로 작성”처럼 출력 형식을 구체적으로 지정하면 팀 문서 표준에 맞는 결과를 얻기 쉽다. ## 재사용 가능한 스킬 설계 - 반복 작업은 스킬로 저장해 프롬프트를 매번 다시 작성하지 않도록 했다. - 워크숍에서 사용한 스킬은 다음 네 가지다. - `slack-to-faq`: Slack 스레드에서 FAQ 생성 - `faq-to-confluence`: FAQ를 Confluence에 게시 - `slack-incident-status`: 사고 상황 요약 - `slack-incident-report`: 인시던트 리포트 생성 - 스킬 제작 과정은 다음과 같다. - 수동으로 여러 프롬프트를 실험 - 효과적인 지시와 출력 형식 기록 - 재사용 가능한 스킬로 정의 - 팀에 공유하고 피드백을 반영해 개선 - 이를 통해 워크숍 참가자가 같은 절차를 재현하고, 팀 전체가 일관된 품질의 결과를 얻을 수 있다. ## 워크숍 운영에서 얻은 교훈 - 신기술이 등장해 관심이 높은 시점에 빠르게 교육을 제공하면 학습 참여를 높일 수 있다. - “Hello” 게시처럼 단순한 성공 경험부터 시작한 뒤 FAQ 생성과 사고 대응으로 난도를 높이는 단계적 구성이 효과적이다. - 일반적인 기능 소개보다 문의 대응과 장애 대응처럼 실제로 시간이 많이 드는 업무를 주제로 삼아야 활용 가능성을 쉽게 체감할 수 있다. - 기술 자체보다 참가자가 직접 손을 움직여 자신의 업무에 적용해 보는 경험이 현장 정착에 중요하다. 실무에서는 Slack MCP를 전사적으로 한꺼번에 도입하기보다, 반복 문의나 인시던트 보고처럼 효과를 측정하기 쉬운 업무부터 시작하는 것이 좋다. 원본 출처와 사람의 검토 절차를 반드시 포함하고, 검증된 작업 흐름은 스킬로 표준화해 점진적으로 확산하는 방식이 적절하다.

원문 읽기(새 탭에서 열림)
line4분 읽기큐레이션 요약

도쿄에서 후쿠오카까지, 현장에서 답을 찾다 - CS InquiryChat 도입기

타사 채팅 솔루션의 종료를 계기로 데마에칸은 자체 메시징 플랫폼인 InquiryChat으로 전환했다. 이 프로젝트는 연간 라이선스 비용을 0원으로 줄였을 뿐 아니라, 상담 재활성화 비율을 약 20% 낮추고 보안·운영 유연성·사용자 경험을 개선했다. 성공적인 전환의 핵심은 단순한 기능 복제가 아니라, 현장 관찰과 사용자 테스트를 통해 실제 업무 맥락을 파악하고 이해관계자 간 합의를 이끌어낸 데 있었다. ## 자체 솔루션 전환의 배경과 목표 - 기존 타사 채팅 서비스의 종료가 예정되면서 후속 솔루션 도입과 자체 개발을 비교 검토했다. - InquiryChat을 선택한 이유는 다음과 같다. - 라이선스 비용을 제거할 수 있음 - 데마에칸의 운영 프로세스에 맞춘 유연한 커스터마이징 가능 - 내부 담당자를 통한 실시간 연동과 운영 지원 가능 - 고객 정보를 보안 문제 없이 활용 가능 - 실시간 분석·리포팅 제공 - 기존 서비스에는 다음과 같은 개선 과제가 있었다. - 상담원이 사용자가 전송하지 않은 메시지를 미리 볼 수 있는 보안 취약점 - 사용자가 이탈하면 세션이 유지되지 않아 상담을 처음부터 반복해야 하는 문제 - 다른 플랫폼과의 통합 및 사용자 정의가 제한적임 - 안정적으로 사용하던 도구를 교체하는 만큼, 상담원 교육과 업무 프로세스 변화, 서비스 중단 없는 전환이 필요했다. ## 문서 중심 요구 사항의 한계 - 초기 요구 사항은 기존 기능을 단순히 나열한 목록에 가까웠다. - 기능이 실제로 사용되는지, 현장 업무에 필요한지, InquiryChat에서 그대로 제공할 수 있는지 판단하기 어려웠다. - 요구 사항이 협업 부서를 거쳐 전달되면서 실제 상담원과 매니저의 업무 맥락이 희석됐다. - 기능을 다음 세 가지로 재분류해 우선순위를 정리했다. - 기본 제공 기능 - 커스터마이징 또는 추가 검토가 필요한 기능 - 신규 개발이 필요한 기능 ## 후쿠오카 콜센터 현장 조사 - 실제 사용자인 상담원과 매니저를 이해하기 위해 후쿠오카의 두 콜센터를 직접 방문했다. - 피크 시간대 업무를 모니터링한 뒤 여러 상담원과 매니저를 인터뷰해 공통 요구 사항을 도출했다. - 현장 조사로 불필요한 기능과 필수 기능을 구분할 수 있었다. - 매니저에게 지원을 요청하는 메시지 기능은 실제로 손짓이 더 빨라 거의 사용되지 않음 - 사무실에서 소리를 켤 수 없어 채팅 단절 음성 경고 기능은 실효성이 낮음 - 상담 내용을 CS 솔루션에 연동하는 기능은 상담 기록과 공유에 필수적이므로 우선순위를 높여 구현 - 직접 관찰한 근거를 바탕으로 협업 부서와 기능 우선순위를 설득할 수 있었다. ## 복잡한 협업 구조를 관리한 PM 전략 - 한국과 일본의 여러 부서, 외주 콜센터가 참여하는 구조에서 공통된 목표와 기준을 만드는 데 집중했다. - Jira 대시보드를 설계해 개발 진행 상황을 실시간으로 시각화하고 지표 기반 의사 결정을 가능하게 했다. - 파편화된 요구 사항을 하나의 마스터 사양서로 통합해 단일 기준을 마련했다. - 기획 의도가 실제 구현에 반영됐는지 확인하기 위해 기획·개발 단계의 내부 QA를 주도했다. - 출시 직후 현장에서 활용할 수 있도록 상세 운영 가이드도 제작했다. ## FGT를 통한 실제 사용자 경험 검증 - 화상 회의와 문서만으로는 세밀한 사용 경험을 검증하기 어렵다고 판단해 FGT를 진행했다. - 사용자와 상담원 역할을 나누고, 고객 문의 시작부터 문제 해결까지의 전체 시나리오를 직접 수행했다. - FGT 과정은 배경 설명, 수행 과제, 실습, 설문, Q&A 등으로 구성됐다. - 백엔드 연동에 집중하던 개발자도 실제 앱 사용 흐름을 경험하면서 문제를 QA 전에 발견하고 수정할 수 있었다. - 주요 피드백과 개선 사항은 다음과 같다. - 역할과 현재 상태를 더 직관적으로 표시할 필요 - 링크에 날짜뿐 아니라 시간도 표시 - Android 푸시 안정화 - 키패드와 채팅 입력창이 겹치는 문제 개선 - 푸시 알림 제목 변경 - 일부 대화 로그가 CS 솔루션에 누락되는 문제 해결 ## 보안과 상담 효율 사이의 균형 - 기존 상담원이 선호하던 ‘입력 중 메시지 미리보기’는 고객이 전송하지 않은 데이터까지 상담원이 볼 수 있다는 보안·정보 주권 문제를 안고 있었다. - 상담원에게는 고객 답변을 미리 파악해 평균 처리 시간(AHT)을 줄이는 유용한 기능이었다. - 단순히 기능을 삭제하면 상담 효율이 떨어질 수 있어, 대안으로 ‘입력 중 표시기’를 제안했다. - 상담원은 고객이 메시지를 작성 중인지 알 수 있지만, 실제 입력 내용은 볼 수 없도록 설계해 편의성과 개인정보 보호를 절충했다. - 이 과정은 기술 내재화가 기존 기능을 그대로 복제하는 것이 아니라, 운영 효율과 보안 원칙을 재검토하는 과정임을 보여준다. ## 실용적인 시사점 자체 솔루션 전환에서는 요구 사항 문서보다 실제 사용 현장 관찰이 우선되어야 한다. 또한 기능을 그대로 옮기기보다 보안, 업무 효율, 사용자 경험을 함께 평가하고, FGT 같은 실사용 검증을 통해 출시 전에 문제를 발견하는 것이 효과적이다.

원문 읽기(새 탭에서 열림)
line4분 읽기큐레이션 요약

ODW #7: 세 가지 방법으로 토큰 소비량 40% 절감! ADK를 이용한 컨텍스트 엔지니어링

LY Corporation의 워크숍은 AI 에이전트의 비용 증가와 응답 정확도 저하를 해결하기 위해 컨텍스트 엔지니어링을 소개한다. 핵심은 LLM에 전달하는 프롬프트, 도구 정의, 대화 이력, 외부 데이터를 무조건 많이 제공하는 것이 아니라 작업에 필요한 고품질 정보만 적절한 형태로 선별하는 것이다. ADK의 구조화 스키마, AgentTool, MCP 도구 필터링을 활용하면 토큰 사용량을 줄이면서도 장시간 실행 에이전트의 정확도를 개선할 수 있다. ## 사내 AI 활용 확대에 따른 문제 - Claude Code, Cline, ADK 등 AI 도구의 사용자가 늘면서 토큰 소비량이 급증했다. - 프롬프트에 명시한 지시를 AI가 무시하거나 중요한 정보를 누락하는 문제가 발생했다. - 대화가 길어질수록 AI가 이전 맥락에 묻혀 엉뚱한 답변을 생성하기도 했다. - 주요 원인은 LLM에 전달되는 컨텍스트를 체계적으로 관리하지 않았기 때문이다. - 토큰 증가 요인에는 다음이 포함된다. - AI 사용 인구 증가 - 원하는 결과를 얻기 위한 반복 작업 - 싱글 에이전트에서 멀티 에이전트로의 확장 - 단발성 작업에서 장시간 실행 작업으로의 변화 - MCP 도구 정의 자체가 차지하는 토큰 - 컨텍스트 최적화 기법의 확산 부족 ## 컨텍스트 부패와 토큰 관리 - LLM 사용 비용은 입력과 출력에 사용된 총 토큰 수를 기준으로 산정된다. - 장시간 실행되는 에이전트에서는 대화 이력과 중간 결과가 계속 축적된다. - 현재 작업과 관계없는 정보가 컨텍스트에 남으면 중요한 신호가 노이즈에 묻힌다. - 이로 인해 컨텍스트 윈도 압박, 관련성 저하, 응답 정확도 하락이 발생한다. - 해결책은 필요한 정보만 추려 LLM에 전달하는 것이다. ## 컨텍스트 엔지니어링의 개념과 원칙 컨텍스트 엔지니어링은 에이전트가 사용하는 모든 문맥 정보를 설계하고 최적화하는 방법이다. - 관리 대상은 세 가지로 나뉜다. - **정적 컨텍스트**: 시스템 프롬프트, 도구 정의 - **동적 컨텍스트**: 사용자 메시지, 대화 이력, RAG 데이터 - **장기 컨텍스트**: 장시간 실행 중 축적되는 정보와 세션 상태 - 핵심 원칙은 “고품질 신호를 가진 최소한의 토큰 집합”을 찾는 것이다. - 정보를 너무 적게 주면 AI가 추측에 의존한다. - 정보를 지나치게 많이 주면 비용이 증가하고 핵심 정보가 묻힌다. - 따라서 작업에 필요한 수준으로 구체적이면서도 불필요한 정보는 제거해야 한다. - 프롬프트 엔지니어링이 지시문 작성에 초점을 둔다면, 컨텍스트 엔지니어링은 프롬프트뿐 아니라 도구, 데이터, 이력, 상태까지 포함해 전체 입력 환경을 최적화한다. ## ADK를 활용하는 이유 Google의 오픈소스 AI 에이전트 프레임워크인 ADK는 컨텍스트 엔지니어링을 팀 단위로 적용하기에 적합하다. - 개인의 CLI 숙련도에 의존하지 않고 팀의 지식을 에이전트 설계에 반영할 수 있다. - UI, API 서버, 평가 기능, 멀티 에이전트 구성을 제공한다. - 에이전트를 조합하고 도구처럼 호출할 수 있어 컨텍스트를 분리하기 쉽다. - 컨텍스트 엔지니어링을 위한 9개 핵심 컴포넌트를 조합해 사용할 수 있다. ## 주요 ADK 컴포넌트 실습에서는 다음 세 가지 기능을 중심으로 설명한다. - **Structuring Data** - 입력과 출력을 특정 JSON 스키마로 강제한다. - 에이전트 간 데이터 전달 형식을 명확히 한다. - 불필요한 자연어 설명을 줄여 토큰 사용량을 절감한다. - **AgentTool** - 다른 에이전트를 함수나 도구처럼 호출한다. - 하위 에이전트의 내부 도구와 중간 컨텍스트를 호출자에게 노출하지 않는다. - 최종 결과만 반환해 상위 에이전트의 컨텍스트 누적을 막는다. - **MCP Toolset의 `tool_filter`** - MCP 서버가 제공하는 도구 중 필요한 도구만 선택한다. - 예를 들어 Jira 티켓 검색에는 `jira_search`, 상세 조회에는 `jira_get_issue`만 허용할 수 있다. - 불필요한 도구 정의를 제거해 토큰 비용과 LLM의 판단 부담을 줄인다. ## Jira 주간 보고서 에이전트: v1의 문제 v1은 하나의 에이전트가 Jira 티켓 검색, 개별 티켓 상세 조회, 분석, 보고서 작성을 모두 수행하는 구조다. - 단일 에이전트에 Jira 관련 도구를 모두 제공한다. - 티켓마다 상세 정보를 가져와 같은 컨텍스트에 계속 축적한다. - 티켓 수가 증가할수록 컨텍스트가 커지고 컨텍스트 부패가 발생한다. - 여러 도구의 정의와 중간 결과가 함께 전달되어 토큰 사용량이 커진다. - 장시간 작업에서 중요한 티켓 정보와 불필요한 이전 정보가 섞일 가능성이 높다. ## Jira 주간 보고서 에이전트: v2의 개선 v2는 역할을 분리한 2-에이전트 구조로 변경했다. - **루트 에이전트** - Jira 티켓 목록을 검색한다. - 개별 티켓 분석 에이전트를 호출한다. - 각 분석 결과를 Markdown 표 형태의 주간 보고서로 집계한다. - **개별 티켓 분석 에이전트** - 하나의 Jira 티켓만 담당한다. - `issue_key`를 입력으로 받고 `report`를 구조화된 출력으로 반환한다. - Jira 상세 조회 도구인 `jira_get_issue`만 사용할 수 있다. - 사실만 포함하고 추측은 금지하도록 지시된다. - `AgentTool`을 통해 하위 에이전트의 내부 처리 과정은 루트 에이전트에 노출하지 않는다. - `input_schema`와 `output_schema`로 에이전트 간 데이터 형식을 제한한다. - `tool_filter`로 각 에이전트가 실제로 필요한 MCP 도구만 사용하게 한다. - 결과적으로 티켓별 상세 분석 컨텍스트가 루트 에이전트에 불필요하게 누적되는 것을 줄인다. AI 에이전트를 설계할 때는 프롬프트를 길게 작성하는 것보다 어떤 정보를 언제, 어떤 형식으로 전달할지 먼저 설계하는 것이 중요하다. 특히 작업을 하위 에이전트로 분리하고, 입력·출력 스키마와 도구 필터를 적용하면 비용과 정확도를 함께 개선할 수 있다.

원문 읽기(새 탭에서 열림)
line4분 읽기큐레이션 요약

AI는 QA를 대체하지 않았다, 대신 확장했다

생성형 AI는 QA를 대체하기보다 분산된 품질 정보를 구조화하고 QA의 사고 범위와 영향력을 확장한다. LINE Album QA는 AI를 단순한 문서 작성 도구가 아니라 Jira, Slack, 테스트 도구, 사용자 리뷰와 연결된 품질 워크플로로 재설계했다. 그 결과 AI는 반복적인 수집·분석·초안 작성을 담당하고, QA 엔지니어는 리스크 판단과 최종 의사 결정에 집중하게 됐다. ## QA의 본질은 테스트 실행이 아닌 품질 설계 - QA 엔지니어는 기획, 개발, 테스트, 릴리스 전 과정에서 품질 관점을 제공한다. - 기획 단계에서는 잠재 리스크를 식별하고, 개발 단계에서는 변경 사항의 영향 범위를 분석한다. - 릴리스 이후에는 사용자 리뷰와 운영 데이터를 제품 개선으로 연결한다. - 따라서 QA는 단순한 테스트 수행자가 아니라 제품 생명 주기를 연결하는 **품질 설계자(quality architect)**에 가깝다. - 생산성을 결정하는 핵심 요소는 테스트 속도보다 다음 정보를 얼마나 빠르게 구조화하고 맥락화하는가에 있다. - 기획·기술 문서 - Slack 논의와 의사 결정 - Jira 이슈와 작업 티켓 - 자동화 테스트 스크립트와 실행 로그 - 다국어 사용자 리뷰와 피드백 ## AI를 대화 도구에서 품질 워크플로로 전환 - 초기에는 AI를 문서 요약, 테스트 케이스 초안 작성, 버그 리포트 정리 등에 활용했다. - 그러나 사람이 정보를 수집해 AI에 입력해야 했기 때문에 개인 생산성 향상 이상의 효과에는 한계가 있었다. - LINE Album QA는 Jira 이슈 생성, PR 병합, 테스트 실행, 사용자 리뷰 수집 같은 품질 이벤트에 AI가 자동으로 반응하도록 운영 체계를 구축했다. - 현재 30개 이상의 워크플로가 운영되며, AI는 정보를 분석하고 구조화하는 품질 시스템의 일부로 작동한다. - QA 엔지니어는 정리 작업보다 결과를 기반으로 리스크를 판단하고 필요한 검증을 수행하는 데 집중한다. ## 스케줄링 기반 자동화 - 정해진 시간에 반복 실행하며 정기적인 품질 데이터를 수집·요약한다. - 주요 활용 사례: - App Store·Google Play 리뷰의 이슈 분류 및 요약 - API 자동화 테스트 결과 분석 및 Slack 공유 - UI 자동화 테스트 결과 리포트 생성 - 주간 QA 활동과 주요 이슈 보고서 작성 - QA가 여러 시스템에서 데이터를 직접 모으는 시간을 줄이고, 구조화된 결과를 바탕으로 판단할 수 있게 한다. ## 웹훅 기반 이벤트 트리거 - 품질 관련 이벤트가 발생하는 즉시 분석을 시작한다. - 주요 활용 사례: - PR 병합 후 코드 변경 내용과 잠재 영향 범위 요약 - Slack 논의 스레드 종료 후 의사 결정 회의록 생성 - 자동화 테스트 결과 업로드 후 실행 통계 분석 및 시각화 - 중요한 품질 신호를 정기 보고까지 기다리지 않고 빠르게 인지할 수 있다. ## 자동화된 QA 업무 흐름 - UI 자동화 테스트는 MagicPod으로 Android·iOS 테스트를 실행하고, 결과를 Jira와 Slack에 공유한다. - 테스트 실패 시 AI가 플레이키 테스트 여부와 실패 원인을 분석한다. - Pytest 기반 API 테스트도 동일하게 실행 결과를 Jira와 Slack에 자동 반영한다. - 데일리 스크럼 전에는 테스트 현황, 미해결 이슈, QA 확인 필요 항목, Jira 멘션을 자동으로 정리한다. - 앱 리뷰는 긍정·부정 여부를 분류하고 일본어·한국어로 번역·요약한 뒤 일별·월별로 공유한다. - QA 엔지니어는 집중 업무 시간에 자동 수집된 정보를 활용해 품질 계획과 테스트 전략을 수립한다. - AI가 데이터를 수집·분석하는 동안 QA는 최종 판단, 수동·자동 테스트, 워크플로 개선을 담당한다. ## AI와 테스트 케이스 설계 - 2026년 기준 전체 테스트 케이스의 약 90%는 AI가 초안을 생성한다. - 단순히 요구 사항만 입력하면 일반적인 정상 흐름과 예외 케이스는 만들 수 있지만, 제품의 실제 맥락과 과거 결함을 반영하기 어렵다. - 이를 보완하기 위해 다음 정보를 AI의 입력 맥락으로 연결했다. - 기능 명세와 개발 티켓 - 변경 배경 - 과거 Jira 이슈 - 테스트 이력 - 반복적으로 발생한 결함 패턴 - 오케스트레이터 에이전트와 5개 서브 에이전트가 역할을 나누어 테스트 설계를 수행한다. - **Plan-Analyzer**: 기획 문서, 기능 설명, 이미지에서 기본 흐름 분석 - **Dev-Analyzer**: 개발 티켓과 구현 정보 분석 - **TestCase-Generator**: 정상·예외·경계값·플랫폼 차이·우선순위를 반영한 테스트 생성 - **TestCase-Validator**: 요구 사항 커버리지, 추적 가능성, Given/When/Then 형식, 플랫폼 커버리지 검증 - **Quality-Inspector**: 이전 피드백과 품질 평가를 반영해 다음 실행의 개선점 축적 - 과거에 실제로 발생한 결함 패턴까지 참고해 명세에 없는 유사 결함 시나리오도 확장한다. - 검증 결과가 부족하면 생성 단계로 피드백을 보내는 반복 루프를 통해 실행 가능한 테스트 케이스로 다듬는다. ## 실용적인 결론 AI 도입의 핵심은 테스트 케이스를 많이 생성하는 데 있지 않고, 기획·개발·운영·사용자 피드백을 연결해 품질 판단에 필요한 맥락을 자동으로 제공하는 데 있다. 효과적인 QA 자동화를 위해서는 AI를 개별 도구로 사용하기보다 품질 이벤트를 감지하고 분석·공유하는 워크플로로 통합해야 하며, 최종 리스크 판단과 의사 결정은 QA가 담당하는 구조가 바람직하다.

원문 읽기(새 탭에서 열림)
gitlab4분 읽기큐레이션 요약

Atlassian이 여러분의 데이터를 학습에 사용합니다: GitLab으로 거부하세요

Atlassian은 2026년 8월 17일부터 Jira, Confluence 등 클라우드 제품의 메타데이터와 인앱 콘텐츠를 AI 서비스 학습에 기본적으로 활용할 예정이다. Free·Standard·Premium 고객은 메타데이터 수집을 끌 수 없고, Enterprise 고객만 옵트아웃할 수 있어 데이터 거버넌스와 규제 준수에 큰 부담이 생긴다. 글은 이러한 옵트아웃 기본 정책과 달리, GitLab은 요금제와 관계없이 고객 데이터를 수집하거나 AI 학습에 사용하지 않는 접근을 취한다고 설명한다. ## Atlassian의 데이터 수집 정책 변경 - 수집 대상은 크게 두 가지다. - **메타데이터**: 스토리 포인트, 스프린트 날짜, SLA 값, 작업 분류, Teamwork Graph 및 연결된 외부 앱의 운영 신호 - **인앱 콘텐츠**: Confluence 페이지, Jira 이슈 제목·설명·댓글 등 사용자가 작성한 내용 - Atlassian은 학습 전에 데이터를 비식별화하고 집계한다고 설명한다. - 수집 데이터는 최대 7년 보관될 수 있다. - 옵트아웃하면 인앱 데이터는 30일 이내 삭제되고, 관련 모델은 90일 이내 재학습된다고 안내한다. - 고객 관리 암호화 키, Government Cloud, Isolated Cloud, HIPAA 적용 고객은 수집 대상에서 제외된다. ## 요금제에 따른 옵트아웃 문제 - 모든 클라우드 고객에게 데이터 수집이 기본 활성화된다. - Free, Standard, Premium 고객은 메타데이터 수집을 비활성화할 수 없다. - Enterprise 고객만 옵트아웃할 수 있으며, 최소 801명의 사용자가 필요하고 별도 가격이 적용된다. - 결과적으로 데이터 보호가 기술 설정이 아니라 고비용 Enterprise 요금제로의 업그레이드 여부에 달려 있다. - Atlassian이 과거에 밝혔던 “고객 데이터를 AI 서비스 학습이나 개선에 사용하지 않는다”는 입장과도 달라졌다. ## 비식별 메타데이터도 민감할 수 있는 이유 - 스토리 포인트, 스프린트 속도, SLA 지표는 개별적으로는 민감하지 않아 보일 수 있다. - 그러나 장기간 축적하면 다음 정보를 추론할 수 있다. - 조직의 프로젝트 구조 - 팀별 생산성과 성과 패턴 - 릴리스 및 업무 처리 주기 - 운영 방식과 병목 구간 - 데이터가 비식별화되더라도 여러 신호를 결합하면 조직의 운영 특성을 재구성할 수 있으므로, 비식별화가 곧 비민감성을 의미하지는 않는다. ## Atlassian 생태계에서 커지는 데이터 범위 - Jira와 Confluence는 스프린트 계획, 버그 추적, 릴리스 관리, 보안 티켓, 사고 보고서, 내부 문서의 시스템 오브 레코드로 사용된다. - Bitbucket과 Bamboo까지 함께 사용하면 다음 정보도 데이터 흐름에 포함될 수 있다. - 소스 코드 관련 메타데이터 - CI/CD 구성 - 프로젝트 계획과 기술 문서 - Teamwork Graph 커넥터를 통해 Slack, Figma, Google Drive, Salesforce, ServiceNow 같은 외부 서비스의 관계·활동 신호도 연결될 수 있다. - 따라서 보안·컴플라이언스 팀은 Atlassian 제품 내부뿐 아니라 연결된 제3자 서비스까지 포함해 데이터 흐름을 검토해야 한다. - Data Center·Server에서 Atlassian Cloud로 이전하려는 조직은 클라우드 전환과 AI 학습 데이터 제공 문제를 함께 판단해야 한다. ## 옵트아웃 기본 정책의 거버넌스 공백 - 약관 변경만으로 데이터 처리 방식이 바뀌면 고객이 직접 변경 사항을 발견하고 위험을 평가해야 한다. - 다음 항목이 기존 계약 및 내부 정책과 일치하는지 확인해야 한다. - 데이터 처리 계약(DPA) - “메타데이터”의 정의 - 제3자 앱에서 유입되는 데이터 범위 - 보관 기간과 삭제 절차 - AI 모델 재학습 및 삭제 방식 - 조직의 법무·보안팀이 민감하다고 판단하는 정보가 Atlassian의 “비민감 메타데이터” 정의와 다를 수 있다. ## 규제 산업이 재평가해야 할 사항 - 금융 서비스 기업은 SR 11-7, DORA 등에 따라 외부 기술 제공업체의 데이터 처리와 통제를 문서화하고 감사 가능하게 관리해야 한다. - 공공 부문은 NIST 800-53과 FISMA에 따라 민감 데이터의 이동과 접근을 통제해야 한다. - 의료 분야에서는 HIPAA에 따른 제3자 데이터 처리 검토가 필요하다. - EU AI Act 적용 조직은 미국식 옵트아웃보다 유럽 규제 환경의 옵트인 동의 기대와 충돌할 가능성을 검토해야 한다. - 기존에 Atlassian의 데이터 처리 방식을 평가했다면, “고객 데이터를 학습에 사용하지 않는다”에서 “기본적으로 사용한다”로의 변경은 공급업체 위험평가와 관련 문서의 갱신 사유가 된다. ## GitLab의 대안적 접근 - GitLab은 고객 데이터에 대해 다음 원칙을 제시한다. - 고객 데이터 수집 없음 - 고객 데이터로 AI 모델 학습 없음 - 요금제와 관계없이 동일한 데이터 보호 원칙 적용 - 핵심 차이는 데이터 보호를 Enterprise 같은 특정 고가 요금제의 기능으로 제한하지 않는다는 점이다. - 글은 CTO와 CISO가 AI 도입을 규제기관, 이사회, 고객에게 설명할 수 있어야 하며, 이를 위해 명확하고 조건 없는 데이터 처리 약속이 필요하다고 주장한다. ## 실용적인 대응 - 2026년 8월 17일 이전에 Atlassian 데이터 흐름과 연결 앱 목록을 재검토한다. - Jira·Confluence의 콘텐츠뿐 아니라 Teamwork Graph가 가져오는 외부 서비스 메타데이터도 목록화한다. - DPA, 개인정보 처리방침, 보안 정책, 규제 준수 문서를 변경된 정책과 대조한다. - Enterprise 업그레이드, 예외 환경 사용, 플랫폼 이전 등 가능한 대응책의 비용과 위험을 비교한다. - AI 기능을 도입할 때는 옵트아웃 가능 여부보다 처음부터 고객 데이터를 학습에 사용하지 않는 공급업체 정책을 우선 검토하는 것이 권장된다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

업무용 에이전트 도구 설계 방법 | 피그마 블로그

Gemini Enterprise는 사용자가 AI를 관리하는 대신 업무 목표에 집중하도록 설계된 에이전틱 업무 도구다. 복잡한 멀티 에이전트 작업을 단순하게 보이게 하면서도, 사용자가 언제든 개입하고 결과를 검토할 수 있도록 투명성과 책임성을 강화했다. 개인용 챗봇을 넘어 공유 프로젝트와 AI 대시보드를 통해 팀의 지식과 업무 흐름을 통합하는 것을 목표로 한다. ## 소비자용 Gemini와 기업용 경험의 연결 - 브랜드 일관성을 위해 반짝이 아이콘, 그라디언트, 둥근 형태, 의도적인 모션 등 공통된 시각 언어를 사용한다. - 프롬프트 입력창은 소비자용 Gemini와 유사하게 유지하되, 기업 환경에서는 외부 서비스 연결 기능을 더 강조한다. - Google Workspace, Jira, Notion 등 업무 도구와 연결해 AI가 업무에 필요한 맥락을 충분히 확보하도록 한다. - 기업용 AI는 단일 질문에 답하는 도구가 아니라 여러 도구와 데이터 소스를 조율하는 오케스트레이션 플랫폼으로 확장된다. ## 대화형 인터페이스를 넘어선 AI Inbox - 복잡한 업무에서는 단순한 채팅 기록만으로 여러 에이전트의 진행 상황을 파악하기 어렵다. - AI Inbox는 에이전트가 수행 중인 작업, 완료한 작업, 사용자의 개입이 필요한 작업을 한눈에 보여주는 실시간 대시보드다. - 예를 들어 다음 날 마감인 시장 분석이 완료되어 검토 대기 중인지 즉시 확인할 수 있다. - 시각적 워크플로는 질문과 답변이 반복되는 채팅보다 팀 체크인에 가까운 방식으로 장기 실행 작업을 관리하게 한다. ## 개인용 챗봇에서 공유 프로젝트로 - Gemini Enterprise는 개인별 채팅 스레드 대신 지속적으로 유지되는 공유 프로젝트 공간을 제공한다. - AI는 프로젝트의 또 다른 팀원처럼 다음과 같은 작업을 수행한다. - 업무 실행 - 논의 내용 요약 - 프로젝트 파일 검색 - 문서 작성 및 편집 - 모든 팀원이 같은 공간에서 AI의 요청과 결과를 확인할 수 있다. - 각 요청을 어느 팀원이 보냈는지 표시해 AI의 행동 맥락과 책임 소재를 명확히 한다. ## 팀 사일로를 줄이는 단일 정보 기반 - 한 팀원이 기술 명세서를 업로드하면 다른 팀원이 파일을 직접 찾지 않고도 AI를 통해 내용을 확인할 수 있다. - 프로젝트 안에 대화, 파일, AI 결과물이 함께 축적되어 팀 내 지식 격차를 줄인다. - AI가 부서별로 흩어진 정보를 연결해 조직의 단일 정보 원천 역할을 하도록 설계했다. - 이 때문에 AI는 개인 생산성 도구를 넘어 팀 전체의 지능을 증폭하는 도구로 발전한다. ## 협업 방식에 맞춘 다양한 작업 모드 - 팀원들은 공유 프로젝트에서 AI와 함께 그룹 채팅을 진행할 수 있다. - Canvas Mode에서는 AI가 작성한 문서를 생성하고 직접 수정할 수 있다. - AI의 결과물을 일회성 답변으로 소비하지 않고, 팀이 검토·편집·재사용하는 협업 산출물로 다룬다. - AI가 프로젝트 공간에 계속 존재하기 때문에 기존 대화의 맥락과 업무 진행 상황을 유지할 수 있다. ## 신뢰와 사용자 개입의 균형 - 사용자가 AI의 내부 동작을 계속 관리하지 않아도 목표 달성에 집중할 수 있도록 경험을 단순화한다. - 동시에 민감한 정보와 사업상 중요한 의사결정이 다뤄지는 만큼, 사용자가 결과를 검토하고 개입할 수 있어야 한다. - 진행 상태, 완료 여부, 검토 필요 여부를 명확히 보여주는 것이 신뢰 형성의 핵심이다. - 기업용 에이전트는 자동화 수준뿐 아니라 투명성, 추적 가능성, 책임성을 함께 제공해야 한다. 실무적으로는 에이전트를 단순한 챗봇으로 도입하기보다, 업무 도구 연결·장기 작업 상태·팀 공유 공간·사용자 승인 절차를 함께 설계하는 것이 중요하다. ખાસ히 중요한 업무일수록 AI의 자율성보다 진행 상황과 개입 지점을 명확히 보여주는 UX가 우선되어야 한다.

원문 읽기(새 탭에서 열림)
line원문

ODW #2: ADK로 싱글/멀티 에이전트를 개발해 사내 시스템과 통합 (새 탭에서 열림)

LY Corporation은 사내 AI 활용의 개인차를 극복하고 업무 생산성을 높이기 위해 'ADK(Agent Development Kit)'를 활용한 싱글 및 멀티 에이전트 개발 워크숍을 진행했습니다. 이 워크숍은 개인 중심의 AI 도구 활용에서 벗어나, 팀 단위로 최적화된 AI 에이전트를 구축하고 MCP(Model Context Protocol)를 통해 사내 시스템과 통합하는 실무 지식을 공유하는 데 중점을 두었습니다. 결과적으로 복잡한 업무를 자동화하는 멀티 에이전트 시스템을 직접 구현함으로써 지식 사일로 현상을 해소하고 조직 차원의 기술 상향 평준화를 목표로 하고 있습니다. **사내 AI 활용의 한계와 워크숍의 필요성** * **지식의 사일로화:** 개인별로 로컬 AI 도구(Cline, Claude Code 등)를 사용하면서 활용 능력에 따른 생산성 격차가 발생하고, 유사한 문제에 대해 각자 프롬프트를 최적화하는 중복 작업이 빈번해졌습니다. * **싱글 에이전트의 한계:** 단일 LLM 기반 에이전트만으로는 복잡한 비즈니스 로직이나 전문적인 대응에 한계가 있으며, 이를 해결할 수 있는 멀티 에이전트 개념에 대한 이해가 부족한 상황이었습니다. * **정보 접근의 어려움:** Jira, Confluence 등 사내 시스템에 파편화된 정보를 검색하고 요약하는 데 많은 시간이 소요되어, 이를 자동화할 수 있는 중앙 집중형 에이전트 호스팅의 필요성이 대두되었습니다. **에이전트 개발 도구: ADK와 MCP** * **ADK (Agent Development Kit):** 에이전트의 동작을 정의하고 멀티 에이전트 시스템을 구현하기 위한 오픈소스 프레임워크입니다. Python 등을 활용해 함수를 정의하면 에이전트가 이를 도구(Tool)로 인식하여 실행할 수 있게 해줍니다. * **MCP (Model Context Protocol):** LLM을 Jira, Confluence와 같은 외부 시스템과 연결하는 표준 프로토콜입니다. 이를 통해 에이전트가 사내 문서나 업무 이력을 능동적으로 탐색하고 활용할 수 있는 환경을 제공합니다. * **컨텍스트 관리:** 너무 많은 도구를 에이전트 하나에 부여하면 정확도가 떨어지므로, 멀티 에이전트 구조를 통해 역할별로 컨텍스트를 분리하여 성능을 최적화합니다. **멀티 에이전트를 활용한 '프로젝트 추적기' 구현** * **순차적 에이전트(Sequential Agent) 구조:** 복잡한 프로젝트 관리 업무를 해결하기 위해 4개의 특화된 에이전트를 순차적으로 연결하는 파이프라인을 구성했습니다. * **단계별 역할 분담:** * 1단계: 진행 중인 작업 분석(Jira 데이터 수집) * 2단계: 할 일(Todo) 목록 분석 및 우선순위 파악 * 3단계: 수집된 정보를 종합하여 마크다운 형식의 리포트 생성 * 4단계: 생성된 리포트를 지정된 언어로 번역 * **실무 적용 효과:** 사용자가 일일이 데이터를 찾고 정리할 필요 없이, 멀티 에이전트 시스템이 사내 시스템에 접속하여 분석부터 번역까지 완료된 종합 보고서를 즉시 제공합니다. 단순히 AI 도구를 도입하는 것을 넘어, 팀의 고유한 도메인 지식과 사내 시스템을 결합한 '팀 전용 에이전트'를 구축하는 것이 중요합니다. ADK와 같은 프레임워크를 활용해 멀티 에이전트 환경을 구축하고 이를 호스팅하여 공유한다면, 개인의 프롬프트 엔지니어링 역량에 의존하지 않고 조직 전체의 업무 효율을 상향 평준화할 수 있습니다.

line원문

SRE 팀의 반복 작업을 10분의 1로 줄인 SRE 봇 개발기 (새 탭에서 열림)

LINE Home DevOps 팀은 인프라 전환과 서비스 확대로 급증한 운영 문의 및 반복적인 배포 요청 문제를 해결하기 위해 Slack 기반의 통합 자동화 도구인 'SRE 봇'을 구축했습니다. 기존에 수동으로 수행하던 Jira 티켓 생성, 컨플루언스 체크리스트 복사, 배포 매뉴얼 검색 등의 프로세스를 자동화하여 업무 시간을 획기적으로 단축하고 휴먼 에러를 방지했습니다. 이를 통해 팀은 단순 반복 업무에서 벗어나 서비스 안정화와 인프라 고도화라는 본연의 업무에 집중할 수 있는 환경을 마련했습니다. ### 수동 운영 프로세스의 한계와 비효율성 * **복잡한 워크플로와 컨텍스트 스위칭:** 배포 요청 한 건을 처리하기 위해 Slack, Confluence, Jira 등 여러 플랫폼을 오가며 정보를 복사-붙여넣기해야 했으며, 이 과정에서 1건당 약 1시간의 시간이 소요되었습니다. * **휴먼 에러의 빈번한 발생:** 수동 작업 특성상 릴리스 버전 설정 오류, 필수 체크리스트 항목 누락, Epic 링크 연결 누락 등 실수가 잦았고, 긴급 상황일수록 이러한 문제는 더욱 심화되었습니다. * **가시성 부족과 정량화의 어려움:** Slack 멘션으로 들어오는 요청은 휘발성이 강해 진행 상황 추적이 어려웠으며, 팀의 업무량을 정량적으로 파악하여 성과로 증명하기 힘든 구조였습니다. ### 사용자 편의와 시스템 안정성을 고려한 기술적 설계 * **Slack 워크플로 기반 UI:** 사용자가 직접 명령어를 입력하는 방식 대신 Slack 워크플로 양식을 채택하여 필수 항목 누락을 방지하고 사용자의 진입 장벽을 낮췄습니다. * **백그라운드 비동기 처리:** Slack API의 응답 제한 시간(3초) 내에 외부 시스템(Jira, Confluence)과의 복잡한 연동을 마칠 수 없으므로, 즉시 응답 후 실제 작업은 백그라운드에서 수행하는 비동기 방식을 선택했습니다. * **Redis를 활용한 상태 관리:** Slack 스레드와 Jira 티켓 간의 매핑 정보를 Redis에 저장(TTL 30일 설정)하여 100ms 미만의 빠른 조회 성능을 확보하고, 트랜잭션을 통해 여러 SRE가 동시에 작업할 때 발생할 수 있는 동시성 문제를 해결했습니다. ### 헥사고날 아키텍처를 통한 유연한 확장성 확보 * **포트와 어댑터 패턴 적용:** Slack, Jira, Redis 등 외부 시스템과의 결합도를 낮추기 위해 헥사고날 아키텍처를 도입했습니다. * **비즈니스 로직 보호:** 인터페이스를 통해 외부 환경을 격리함으로써 Jira API 버전 업그레이드나 Slack SDK 변경 등 외부 변화가 발생하더라도 내부의 핵심 비즈니스 로직을 수정할 필요가 없도록 설계했습니다. * **테스트 및 유지보수 용이성:** 각 레이어가 명확히 분리되어 있어 기능 추가 시 영향 범위를 최소화할 수 있으며, 테스트 코드 작성이 수월해져 안정적인 코드베이스 유지가 가능해졌습니다. ### 도입 후 시나리오별 변화 및 성과 * **배포 요청 처리 시간 단축:** 기존 30분 이상 걸리던 배포 요청 처리가 SRE 봇 도입 후 1분 이내로 단축되었습니다. 봇이 Fix Version 생성, 티켓 연결, 매뉴얼 검색을 10초 만에 자동 수행하기 때문입니다. * **긴급 대응 및 가시성 개선:** 긴급 요청 시 즉시 우선순위가 높게 설정된 티켓이 생성되고 채널에 알림이 공유됩니다. SRE는 이모지 클릭만으로 본인에게 티켓을 할당하고 상태를 업데이트할 수 있어 실시간 추적이 용이해졌습니다. * **정기적인 업무 정량화:** 모든 요청이 정형화된 Jira 티켓으로 자동 기록됨에 따라, 팀원당 투입 시간과 처리 건수를 명확히 데이터화하여 운영 성과를 증명할 수 있게 되었습니다. 단순 반복적인 운영 업무로 인해 팀의 에너지가 고갈되고 있다면, 기술적인 자동화 레이어를 구축하여 'Zero Manual Work'를 지향하는 것이 장기적인 팀 생산성 향상의 핵심입니다. Slack과 같은 협업 툴을 Single Point of Truth로 설정하고 외부 시스템을 유연하게 연결하는 아키텍처를 고민해 보시기 바랍니다.

gitlab원문

GitLab Duo 에이전 (새 탭에서 열림)

GitLab Duo Agent Platform이 MCP(Model Context Protocol)를 지원함에 따라, 이제 개발자들은 Jira와 같은 외부 도구를 AI 개발 환경에 직접 연결하여 사용할 수 있게 되었습니다. 이를 통해 IDE를 벗어나지 않고도 자연어 대화만으로 Jira 이슈를 조회, 생성 및 업데이트하며 프로젝트 관리와 코드 작성을 통합할 수 있습니다. 결과적으로 도구 간의 빈번한 맥락 전환(Context Switching)을 줄여 개발 생산성을 극대화하고 워크플로우를 단순화할 수 있는 강력한 환경을 제공합니다. ### MCP 연동 아키텍처 및 보안 설정 * GitLab Duo Agent Platform은 MCP 클라이언트 역할을 수행하며, Atlassian MCP 서버와 통신하여 Jira 데이터에 접근합니다. * 보안 인증을 위해 Atlassian 개발자 콘솔에서 OAuth 2.0 애플리케이션을 생성해야 하며, `read:jira-work`, `write:jira-work`, `read:jira-user`와 같은 구체적인 API 권한(Scope) 설정이 필요합니다. * 인증 과정에서 콜백 URL(`https://gitlab.com/oauth/callback`)을 등록하고 발급된 Client ID와 Secret을 안전하게 관리해야 합니다. ### GitLab Duo MCP 클라이언트 구성 및 검증 * 프로젝트의 `.gitlab/duo/mcp.json` 경로에 MCP 서버 설정 파일을 생성합니다. 이 파일에는 서버 URL과 앞서 발급받은 OAuth 인증 정보가 포함됩니다. * GitLab 그룹 설정의 'GitLab Duo' 메뉴에서 외부 MCP 도구 허용 옵션(`Allow external MCP tools`)을 활성화해야 정상적으로 작동합니다. * VS Code 내 'GitLab: Show MCP Dashboard' 기능을 통해 연결 상태를 모니터링할 수 있으며, `jira_get_issue`, `jira_create_issue` 등 사용 가능한 도구 목록과 실시간 서버 로그를 확인할 수 있습니다. ### 실무 적용을 위한 주요 활용 사례 * **기획 및 관리 보조:** "할당되지 않은 이슈 목록 보여줘", "우선순위가 높은 이슈 2개를 요약하고 나에게 할당해줘"와 같은 프롬프트를 통해 스프린트 계획을 IDE 내에서 즉시 처리할 수 있습니다. * **코드 맥락 기반 이슈 생성:** 코드 리뷰 중 버그를 발견했을 때, 별도의 브라우저 실행 없이 현재 코드의 맥락을 포함하여 Jira 티켓을 즉시 생성하고 관련 브랜치와 연결할 수 있습니다. * **워크플로우 자동화:** 자연어 요청을 통해 Jira의 복잡한 필드를 자동으로 채우거나, 코드 분석 결과에 따라 관련 블로커(Blocker)를 검색하는 등 지능적인 협업이 가능해집니다. 개발팀은 MCP를 활용해 Jira뿐만 아니라 MCP 규격을 지원하는 다양한 외부 도구를 GitLab Duo에 통합함으로써 커스텀 AI 에이전트 환경을 구축할 수 있습니다. 툴 간 전환 비용을 줄이고 개발 집중도를 높이고 싶다면, 가이드에 따라 `.gitlab/duo/mcp.json` 설정을 완료하고 첫 번째 MCP 워크플로우를 시작해 보시기 바랍니다.

spotify원문

Spotify 앱을 출시하는 방법: 내부 (새 탭에서 열림)

스포티파이는 Jira 중심의 복잡하고 분절된 릴리스 관리 프로세스를 개선하기 위해 자체 개발 포털인 Backstage 기반의 '릴리스 매니저 대시보드(Release Manager Dashboard)'를 구축했습니다. 이 도구는 10개 이상의 시스템에서 데이터를 통합하여 릴리스 매니저의 인지 부하를 줄이고, 안드로이드, iOS, 데스크톱 등 각 플랫폼의 릴리스 상태를 한눈에 파악할 수 있게 합니다. 결과적으로 스포티파이는 데이터 중심의 빠른 의사결정 체계를 갖추게 되었으며, 릴리스 과정에서 발생할 수 있는 휴먼 에러를 최소화했습니다. ### Jira 중심 프로세스의 한계와 새로운 도구의 탄생 * 기존에는 모든 릴리스 정보가 Jira 티켓에 흩어져 있어, 릴리스 매니저가 수많은 탭을 오가며 상태를 확인해야 하는 컨텍스트 스위칭 문제가 심각했습니다. * 새로운 대시보드는 컨텍스트 스위칭 최소화, 인지 부하 감소, 빠르고 정확한 의사결정 지원을 목표로 설계되었습니다. * 이를 통해 모바일 릴리스 프로세스에 대한 기본 지식만 있다면 누구나 직관적으로 상황을 이해할 수 있는 환경을 조성했습니다. ### 통합된 데이터와 트랙 중심의 관리 * 플랫폼(Android, iOS, Desktop)과 버전의 조합을 '트랙(Track)'으로 정의하고, 각 트랙을 독립적이면서도 통합적으로 관리합니다. * **트랙별 필수 데이터:** 릴리스 상태(State), 릴리스 차단 버그(Blocking Bugs), 회귀 테스트 통과 여부(Sign-off), 최신 릴리스 후보(RC) 빌드 및 앱스토어 업로드 상태 등을 포함합니다. * **품질 및 사용량 지표:** Crash 발생률, ANR(응답 없는 앱), 곡당 CPU 예외 사항, DAU(일일 활성 사용자 수) 등 실시간 품질 지표를 함께 모니터링합니다. * **미할당 버그 관리:** 특정 버전에 할당되지 않았거나 우선순위가 없는 버그들을 별도로 표시하여, 릴리스를 방해할 수 있는 잠재적 요소를 사전에 분류하고 담당 팀을 지정합니다. ### Backstage 기반의 에코시스템과 직관적인 UI * 스포티파이의 내부 개발자 포털인 Backstage의 플러그인(React, TypeScript 기반)으로 개발되어 기존 개발 도구들과의 UI/데이터 일관성을 유지합니다. * **신호등 시스템:** 상태를 초록색(준비 완료), 노란색(대기/경고), 빨간색(오류/즉각 조치 필요)으로 시각화하여 즉각적인 상황 판단을 돕습니다. * 상세 정보가 필요한 경우 클릭 한 번으로 앱 빌드나 크래시 상세 리포트 등 관련 플러그인으로 바로 연결되는 드릴다운(Drill-down) 구조를 갖췄습니다. ### 백엔드 아키텍처 및 성능 최적화 * 약 10개의 기존 시스템으로부터 데이터를 수집하고 통합하는 API 게이트웨이 역할을 수행하는 백엔드 서비스를 구축했습니다. * 초기 버전은 매번 대규모 쿼리를 실행하여 속도가 느리고 비용이 높았으나, 5분 단위의 데이터 사전 집계(Pre-aggregation)와 캐싱 기술을 도입해 최적화했습니다. * 이를 통해 대시보드 로딩 시간을 8초로 단축하고, 운영 비용을 획기적으로 낮추면서도 높은 신뢰성을 확보했습니다. ### 단계별 릴리스 모니터링 상세 * **Production(운영):** 이미 배포된 버전의 크래시 지표와 지난 24시간 동안의 DAU 추이를 모니터링하여 배포 후 예기치 못한 문제를 감시합니다. * **Current(현재):** 배포 대기 중인 버전의 상태를 집중 관리합니다. ITGC(IT 일반 통제) 테스트 통과 여부와 데이터 손실 임계치 준수 여부 등을 확인하여 최종 배포 가능 여부를 결정합니다. * **Upcoming(차기):** 다음 릴리스 버전을 미리 준비하며, 해당 단계에서 불필요한 섹션은 비활성화하여 현재 집중해야 할 정보와 구분합니다. 복잡한 마이크로서비스 환경이나 멀티 플랫폼 앱을 운영하는 조직이라면, 흩어진 릴리스 데이터를 하나로 모으는 전용 대시보드 구축이 필수적입니다. 특히 Backstage와 같은 내부 개발 포털을 활용해 도구 간 데이터 일관성을 확보하고 시각적인 상태 지표(초록/노랑/빨강)를 도입하면, 릴리스 관리의 효율성을 극대화하고 배포 안정성을 크게 높일 수 있습니다.

toss원문

토스플레이스 사일로 QA로 일한다는 것 (새 탭에서 열림)

토스플레이스의 QA 팀은 기능 조직으로서의 전문성을 유지함과 동시에 제품 개발 단위인 '사일로(Silo)'에 겸직 형태로 참여하여 제품의 초기 기획 단계부터 배포까지 전 과정을 함께합니다. 이러한 구조적 변화를 통해 QA는 단순한 검수자가 아닌 제품의 히스토리를 깊이 이해하고 리스크를 선제적으로 관리하는 전략적 파트너로 자리 잡았습니다. 결과적으로 품질 관리가 배포를 지연시킨다는 편견을 깨고, 빠른 배포와 높은 품질을 동시에 달성하며 팀 전체의 신뢰를 얻는 성과를 거두었습니다. **사일로 겸직 구조를 통한 품질 관리의 내재화** * QA 매니저는 제품 초기 셋업 단계부터 참여하여 OKR 설계 및 요구사항 정의 과정에서 발생할 수 있는 잠재적 리스크를 사전에 식별합니다. * 제품의 제작 의도와 히스토리를 명확히 파악함으로써 보다 정교한 테스트 범위 산정과 테스트 케이스 설계가 가능해집니다. * 사일로 내부에서 작은 단위의 프로세스 실험을 자유롭게 수행하고, 성과가 검증된 방식은 팀 전체로 확산하는 유연한 운영 방식을 채택하고 있습니다. **협업 효율을 높이는 디자인 및 스펙 리뷰 체계** * '스펙 리뷰 → QnA 세션 → 변경 사항 정리'로 이어지는 흐름을 도입하여 개발 및 QA 과정에서 발생하는 이해관계자 간의 정보 간극을 최소화했습니다. * 디자인 툴(데우스)과 사내 메신저 스레드를 활용해 산재된 변경 내용을 한곳에 모아 관리함으로써 투명성을 높였습니다. * 개발 착수 전 모든 직군이 동일한 이해도를 가질 수 있도록 디자인 픽스 시점에 별도의 리뷰 미팅을 진행합니다. **라이브 모니터링과 품질 책임의 공유** * 릴리즈 이후 QA 혼자 검증하는 한계를 극복하기 위해 모든 팀원이 함께 확인해야 할 '주요 체크리스트'를 도입했습니다. * 개발 외 직군도 직접 제품 상태를 점검하게 함으로써 품질은 QA만의 책임이 아닌 팀 전체의 책임이라는 문화를 형성했습니다. * 이를 통해 최종 스펙을 재검증하고 실환경에서 발생할 수 있는 문제를 조기에 발견하는 환경을 구축했습니다. **개발 효율을 극대화하는 Sanity 테스트 및 백로그 관리** * QA 시작 기준을 명확히 하기 위해 개발 시작 전 'Sanity 테스트' 기준을 수립하고, 정상 시나리오(Happy Case)에 대한 검증을 기본 원칙으로 세웠습니다. * 사내 메신저의 'Send to Notion' 기능을 활용해 대화 중 나오는 아이디어나 작은 이슈들이 누락되지 않도록 즉시 백로그 데이터베이스에 기록합니다. * 이슈의 우선순위를 사용자 경험과 배포 긴급도에 따라 분류하여, 효율적인 리소스 배분과 체계적인 이슈 추적을 실천하고 있습니다. **커뮤니케이션 중심의 도구 최적화 (Jira에서 리스트/캔버스로)** * 소통 채널의 파편화를 막기 위해 기존의 Jira 중심 업무 방식에서 사내 메신저 기반의 '리스트/캔버스' 기능으로 전환을 시도했습니다. * 담당자 지정 및 템플릿 커스터마이징을 통해 이슈 관리와 소통을 한곳에 통합하여 맥락 공유에 드는 리소스를 대폭 줄였습니다. * 도구 자체의 기능보다는 팀의 실제 소통 방식에 가장 적합한 도구를 선택하는 유연함을 발휘하여 업무 속도를 높였습니다. 토스플레이스의 사례는 QA가 제품의 끝단이 아닌 시작점부터 결합될 때 조직의 생산성이 어떻게 극대화될 수 있는지를 잘 보여줍니다. 품질 관리 프로세스를 고정된 틀에 가두지 않고 각 팀의 특성에 맞게 유연하게 설계하고 개선해 나가는 '자율성'과 '실험 정신'은 제품의 신뢰도를 높이고자 하는 모든 IT 조직에 실질적인 영감을 제공합니다.

line원문

3년 차 앱 개발자가 일하는 순서를 공유합니다 (새 탭에서 열림)

효율적인 협업과 코드 리뷰를 위해 개발 프로세스를 세분화하고 작업 단위를 최소화하는 것이 핵심입니다. 기획 시뮬레이션부터 PoC(Proof of Concept), 그리고 리뷰어를 배려한 PR(Pull Request) 작성까지 이어지는 체계적인 워크플로우를 통해 작업의 예측 가능성을 높이고 팀 내 신뢰를 구축할 수 있습니다. 궁극적으로 작고 명확한 단위로 일하는 습관은 본인의 히스토리 관리와 팀의 전체 생산성 향상에 기여합니다. ### 기획 리뷰와 동작 시뮬레이션 * 기획서의 목적과 작동 방식을 명확히 이해하고, 실제 코드를 작성하듯 데이터 흐름과 화면 전환, 예외 상황(Edge Case)을 머릿속으로 시뮬레이션합니다. * 이 과정에서 사용자 경험을 위한 개선 아이디어나 의문점이 생기면 기획자와 즉시 소통하여 요구 사항을 확정합니다. * 복잡한 기능은 다이어그램이나 화살표를 활용해 전체적인 구조와 데이터 흐름을 시각화하여 큰 그림을 먼저 그립니다. ### 협업 효율을 높이는 작업 가시화 * 그려둔 작업 흐름을 바탕으로 Jira 에픽(Epic)과 하위 이슈들을 생성하여 전체 작업을 눈에 보이게 쪼갭니다. * 중요도가 높거나 여러 명이 관여하는 작업의 경우, 티켓을 확정하기 전 동료들에게 개발 방향 콘셉트를 공유하여 피드백을 받습니다. * 사전 공유 단계를 거치면 추후 리뷰 단계에서 발생할 수 있는 대규모 수정을 미연에 방지하고 불필요한 논쟁을 줄일 수 있습니다. ### PoC를 통한 규모 검토와 셀프 피드백 * 본격적인 개발 전 프로토타이핑(PoC)을 진행하며 예상치 못한 문제나 누락된 시나리오가 없는지 점검합니다. * PoC 단계의 코드 양을 확인하여(저자 기준 400줄), 변경 사항이 너무 많다면 주제별로 티켓을 분리하거나 하위 작업(Sub-task)으로 세분화합니다. * "내가 이 PR을 리뷰한다면 부담스럽지 않을까?"라는 질문을 스스로 던지며 리뷰어가 이해하기 쉬운 적정 규모로 작업을 조정합니다. ### 리뷰어 중심의 구현 및 PR 작성 * 의미 있는 단위로 커밋을 쪼개고, 인터페이스 정의 후 구현체를 작성하는 등 논리적인 순서로 코드를 쌓아 올립니다. * PR 작성 시에는 목적, 원인, 영향 범위, 테스트 방법 등을 상세히 기록하며, 필요시 동작 영상을 첨부하여 리뷰어의 이해를 돕습니다. * 작고 명확한 PR은 문제가 발생했을 때 원복(Revert)이 쉽고, 리뷰어에게 '읽기 편한 코드'라는 신뢰를 주는 효과가 있습니다. 이러한 워크플로우를 정착시키면 개발 기간 산정의 정확도를 높일 수 있습니다. 특히 Jira의 시간 기록 기능을 활용해 '최초 추정 시간'과 '실제 소요 시간'을 비교하고 기록하는 습관을 들이면, 본인의 개발 속도를 객관적으로 파악하고 더욱 정교한 일정 관리가 가능해집니다. 환경에 맞춰 이 프로세스를 유연하게 적용해 보시길 권장합니다.

figma3분 읽기큐레이션 요약

듀오링고 메소드:

Duolingo Math 팀은 디자인과 엔지니어링을 분리해 순차적으로 넘기는 전통적인 핸드오프 대신, 처음부터 함께 아이디어를 만들고 프로토타입을 반복 검증하는 방식을 택한다. 디자이너·엔지니어·PM이 실시간으로 협업하며 실제 작동하는 경험을 바탕으로 결정하기 때문에, 새로운 제품에서도 빠르게 방향을 찾고 완성도를 높일 수 있다. 핵심은 완벽한 설계를 먼저 확정하는 것이 아니라, 만들고 보여주고 수정하는 과정을 팀 전체의 공동 작업으로 만드는 데 있다. ## 선형적인 핸드오프의 한계 - 디자인에서 엔지니어링으로 작업을 한 번에 넘기는 방식은 제품 개발이 실제로 진행되는 방식과 맞지 않는다. - 특히 Duolingo Math처럼 새로운 학습 모듈과 게임을 처음부터 만들어야 하는 팀은 기존 템플릿이나 검증된 청사진을 활용하기 어렵다. - 상호작용과 애니메이션이 많은 기능은 문서나 정적인 화면만으로 구현 난이도와 사용자 경험을 정확히 판단하기 어렵다. - 따라서 디자인과 엔지니어링이 초기 단계부터 지속적으로 연결되어야 한다. ## 초기 단계부터 함께 아이디어 구상 - 디자이너가 혼자 작업을 시작하지 않고, 디자이너·엔지니어·제품 관리자가 공유된 FigJam 파일에서 함께 아이디어를 낸다. - 방향이 정해지면 디자이너가 Figma에서 화면과 동작, 모션을 구체화한다. - 엔지니어도 이 단계에 적극 참여해 복잡한 상호작용과 애니메이션을 미리 검토한다. - 구현하기 어려운 부분은 Figma 댓글 등으로 조기에 지적해 불필요한 설계 수정을 줄인다. - Jira를 Figma와 직접 연결해 도구 간 맥락 전환을 줄이고, 디자인과 개발 작업의 흐름을 유지한다. ## 빠른 프로토타이핑과 반복 실험 - 디자인 시안에 합의한 뒤 엔지니어가 Duolingo 디자인 시스템의 컴포넌트를 활용해 초기 프로토타입을 빠르게 만든다. - 디자이너와 엔지니어가 작동하는 프로토타입을 만든 후 팀 회의에서 직접 테스트하고 피드백을 받는다. - Slack 채널에서 디자이너는 Figma 파일을, 엔지니어는 구현된 프로토타입을 공유하며 질문과 의견을 주고받는다. - 각 기능마다 다음 순환을 반복한다. - 프로토타입 제작 - 팀 테스트 - 피드백 수집 - 수정 및 재검증 - Duolingo의 “말로 설명하기보다 직접 보여준다(show don’t tell)”는 원칙에 따라, 아이디어의 타당성을 논의만 하지 않고 실제 경험으로 확인한다. - 프로토타입은 설계를 미리 완성하기 위한 결과물이 아니라, 제품이 실제로 어떻게 느껴지는지 확인하고 핵심 결정을 내리기 위한 도구다. ## 함께 다듬고 출시하기 - 지속적인 협업을 통해 개발 중에도 빠르게 의사결정을 내리고 기능을 다듬을 수 있다. - 속도가 중요할 때는 애니메이션을 단순화하는 등 기능을 핵심 경험 위주로 축소한다. - 교육용 게임의 시장 적합성을 확인할 때도 처음부터 완성도 높은 게임 두 개를 만드는 대신, 단순한 디자인과 최소한의 메커니즘을 가진 게임부터 빠르게 제작했다. - 어떤 기능을 우선할지 미리 정한 뒤, 일곱 가지 프로토타입을 반복적으로 제작하며 사용자에게 어떤 경험이 반응을 얻는지 확인했다. - 이 방식은 대규모 기능을 장기간 개발한 뒤 실패하는 위험을 낮추고, 초기 학습을 제품 방향에 빠르게 반영하게 한다. ## 실무에 적용할 때의 시사점 - 디자인 완료 후 개발을 시작하기보다, 초기 기획부터 디자이너와 엔지니어를 함께 참여시킨다. - 정적 시안보다 작동하는 작은 프로토타입을 우선 제작한다. - 기능별로 짧은 제작·테스트·수정 주기를 운영한다. - 속도와 학습이 중요한 초기 단계에서는 부가 기능보다 핵심 사용자 경험에 집중한다. - 협업 도구를 연결하고 공유 채널을 마련해 작업 맥락과 피드백을 실시간으로 유지한다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

컴포넌트 스프린트의

워싱턴 포스트는 디자인과 개발이 분리된 채 진행되던 컴포넌트 제작의 문제를 해결하기 위해 약 10일간의 ‘컴포넌트 스프린트’를 도입했다. 디자이너와 개발자가 처음부터 한 쌍으로 참여하고, 관련 팀의 의견을 단계별로 반영해 기술적 제약과 실제 사용 맥락을 함께 고려한다. 이 방식은 디자인 시스템 컴포넌트를 더 빠르고 일관되게 제작하면서도, 팀 전체의 공동 소유 의식을 높이는 것이 핵심이다. ## 디자인 주도·개발 주도 방식의 한계 - 초기 WPDS(The Washington Post Design System)는 컴포넌트 성격에 따라 제작 주체가 달랐다. - `select`, `radio`, `checkbox`처럼 시각적 설계가 중심인 요소는 디자인 주도로 제작했다. - `carousel`, `input search`처럼 기술적 복잡성이 큰 요소는 개발 주도로 제작했다. - 한쪽 팀이 주도하면 다른 팀의 전문 지식이 늦게 반영되어 일정 지연과 타협이 발생했다. - 개발자는 디자인 단계에서 기술적 한계를 뒤늦게 지적하거나, 구현보다 세부적인 시각 요소에 집중하도록 압박받을 수 있었다. - 디자이너는 자신의 사용 사례가 충분히 고려되지 않거나, 이미 존재하는 컴포넌트를 알지 못해 별도 솔루션을 만들기도 했다. - 그 결과 디자인 시스템에는 잦은 오버라이드와 즉석에서 판단해야 하는 기능·변형 요청이 누적됐다. ## 컴포넌트 스프린트의 운영 원칙 - 모든 컴포넌트마다 스프린트를 시작하며, 일반적으로 약 10일 동안 진행한다. - 디자이너와 개발자가 처음부터 끝까지 프로세스를 이끄는 담당자로 짝을 이룬다. - 핵심 담당자 외에도 관련 팀의 의견을 수집해 폐쇄적인 순차 작업을 개방적이고 협력적인 과정으로 바꾼다. - 프로세스는 대체로 다음 단계로 구성된다. - 킥오프 - 콘셉트 정의 - 디자인과 구현 - 개선 및 다듬기 - 문서화 - 모든 참여자가 초기에 요구사항과 기술적 제약을 공유하므로, 후반부의 재작업과 오해를 줄일 수 있다. ## 킥오프: 영향도와 노력으로 우선순위 정하기 - 매주 30분 회의에서 Jira의 후보 컴포넌트 티켓을 검토한다. - 각 아이디어를 예상 영향도와 필요한 노력의 관점에서 비교해 우선순위를 정한다. - 아이디어 보드는 단순한 목록이 아니라 다음 정보를 축적하는 협업 공간으로 활용한다. - 이해관계자의 비동기 피드백 - Slack에서 논의된 관련 정보 - 비슷한 아이디어의 묶음 - 사업 목표와의 연관성 - 시각화된 영향도-노력 매트릭스에서는 원의 크기로 투표 수나 인기도를 표현하고, 색상으로 연관된 사업 목표를 구분한다. - 우선순위가 결정되면 디자인 시스템 팀에서 디자이너와 개발자를 각각 배정한다. - 두 담당자를 초기 단계부터 정함으로써 프로세스 전반의 지속적인 커뮤니케이션을 보장한다. ## 콘셉트 정의: 범위와 목표 합의하기 - 스프린트 시작 시 전체 팀과 함께 약 2시간의 회의를 진행한다. - FigJam에서 다음 내용을 공동으로 정리한다. - 컴포넌트의 목표 - 필수 요구사항 - 작업 범위 - 기술적 요구사항 - 검토가 필요한 가정과 쟁점 - 회의 마지막 15분은 결과 검토에 사용한다. - 기술 담당자와 비기술 담당자가 같은 공간에서 의견을 남기므로, 서로 다른 관점의 기대치를 조기에 맞출 수 있다. - 이 단계에서는 구체적인 디자인 세부사항보다 문제의 범위, 사용 목적, 구현 조건을 먼저 합의한다. - FigJam을 활용하면 특정 직군이 논의를 독점하지 않고, 참여자 모두가 요구사항을 명확히 할 수 있다. ## 실용적인 적용 방향 컴포넌트 제작을 한 팀에 일괄 위임하기보다, 디자이너와 개발자를 초기부터 공동 책임자로 배치하는 것이 효과적이다. 또한 영향도·노력 기반 우선순위 보드와 공개적인 요구사항 문서를 운영하면 불필요한 컴포넌트 중복과 후반 재작업을 줄일 수 있다.

원문 읽기(새 탭에서 열림)