Files
sam-manage/resources/views/academy/it-planning.blade.php
김보곤 92a11e139c feat: [academy] IT기획 백과사전 추가
- 5개 섹션: 개요, 기획 프로세스, 산출물, 도구, 방법론
- 방화셔터와 동일한 백과사전 UI 패턴 (블루 테마)
- AI 이미지 생성 프롬프트 문서 포함
2026-02-23 09:05:17 +09:00

1316 lines
97 KiB
PHP

@extends('layouts.app')
@section('title', 'IT기획 백과사전')
@push('styles')
<style>
/* 이미지 기본 스타일 */
.academy-img-hover {
transition: box-shadow 0.2s ease;
}
.academy-img-hover:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.academy-img-wrap {
overflow: hidden;
border-radius: 0.75rem;
}
/* hover 프리뷰 오버레이 */
#hover-preview {
display: none;
position: fixed;
inset: 0;
z-index: 45;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(3px);
pointer-events: none;
}
#hover-preview.is-active {
display: flex;
pointer-events: none;
}
#hover-preview img {
max-height: 80vh;
max-width: 85vw;
border-radius: 0.75rem;
box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);
opacity: 0;
transform: scale(0.3);
transition: opacity 0.25s ease, transform 0.25s ease;
}
#hover-preview.is-active img {
opacity: 1;
transform: scale(1);
}
#hover-preview .hover-caption {
position: absolute;
bottom: 2rem;
left: 50%;
transform: translateX(-50%);
color: rgba(255,255,255,0.85);
font-size: 0.8rem;
background: rgba(0,0,0,0.5);
padding: 0.4rem 1rem;
border-radius: 2rem;
white-space: nowrap;
opacity: 0;
transition: opacity 0.3s ease 0.15s;
}
#hover-preview.is-active .hover-caption {
opacity: 1;
}
/* 클릭 라이트박스 */
#lightbox {
display: none;
position: fixed;
inset: 0;
z-index: 50;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.9);
backdrop-filter: blur(4px);
}
#lightbox.is-open {
display: flex;
}
#lightbox img {
max-height: 90vh;
max-width: 90vw;
border-radius: 0.5rem;
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
}
</style>
@endpush
@section('content')
<div class="max-w-6xl mx-auto">
<!-- 히어로 배너 -->
<div class="rounded-2xl overflow-hidden mb-8 shadow-lg" style="background: linear-gradient(135deg, #1e3a5f 0%, #0f172a 100%);">
<div class="flex items-center" style="flex-wrap: wrap;">
<div style="flex: 1 1 300px; padding: 2rem 2.5rem;">
<div class="flex items-center gap-2 text-sm mb-2" style="color: #93c5fd;">
<span>아카데미</span>
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /></svg>
<span style="color: #ffffff;">IT기획</span>
</div>
<h1 class="text-3xl font-bold mb-2" style="color: #ffffff;">IT기획 백과사전</h1>
<p class="text-sm" style="color: #cbd5e1;">IT 기획의 정의부터 프로세스, 산출물, 도구, 방법론까지 체계적 학습 자료</p>
</div>
<div class="shrink-0" style="width: 240px; padding: 1.5rem;">
<div class="overflow-hidden rounded-xl">
<img src="{{ asset('images/academy/it-planning/1.png') }}" alt="IT 기획자가 화이트보드에서 설계하는 모습"
class="w-full rounded-xl cursor-pointer academy-img-hover"
onclick="openLightbox(this)">
</div>
</div>
</div>
</div>
<div class="flex gap-8">
<!-- 좌측 고정 목차 (TOC) -->
<nav class="hidden lg:block shrink-0" style="width: 220px;">
<div class="sticky top-24">
<div class="bg-blue-50 border border-blue-200 rounded-xl p-5">
<h2 class="font-semibold text-blue-800 mb-3 flex items-center gap-2 text-sm">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 10h16M4 14h16M4 18h16" /></svg>
목차
</h2>
<div class="space-y-0.5 text-xs">
<a href="#overview" class="block text-blue-700 hover:text-blue-900 py-1 font-medium">1. 개요</a>
<a href="#overview-definition" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">IT 기획이란?</a>
<a href="#overview-types" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">기획자의 종류</a>
<a href="#overview-skills" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">필요 역량</a>
<a href="#overview-daily" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">기획자의 하루</a>
<a href="#process" class="block text-blue-700 hover:text-blue-900 py-1 font-medium mt-2">2. 기획 프로세스</a>
<a href="#process-flow" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">전체 흐름도</a>
<a href="#process-requirements" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">요구사항 수집</a>
<a href="#process-research" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">시장 조사</a>
<a href="#process-scope" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">범위 설정</a>
<a href="#process-priority" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">우선순위 결정</a>
<a href="#deliverables" class="block text-blue-700 hover:text-blue-900 py-1 font-medium mt-2">3. 기획 산출물</a>
<a href="#deliverables-prd" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">요구사항 정의서</a>
<a href="#deliverables-ia" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">정보 구조도</a>
<a href="#deliverables-wireframe" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">화면 설계서</a>
<a href="#deliverables-flow" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">플로우차트</a>
<a href="#deliverables-usecase" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">유스케이스</a>
<a href="#deliverables-spec" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">기능 명세서</a>
<a href="#deliverables-erd" class="block text-blue-600 hover:text-blue-800 py-0.5 pl-3">데이터 모델</a>
<a href="#tools" class="block text-blue-700 hover:text-blue-900 py-1 font-medium mt-2">4. 기획 도구</a>
<a href="#methodology" class="block text-blue-700 hover:text-blue-900 py-1 font-medium mt-2">5. 기획 방법론</a>
</div>
</div>
</div>
</nav>
<!-- 우측 콘텐츠 -->
<div class="flex-1 min-w-0 space-y-10">
<!-- 모바일 목차 -->
<div class="lg:hidden bg-blue-50 border border-blue-200 rounded-xl p-4 mb-6">
<details>
<summary class="font-semibold text-blue-800 text-sm cursor-pointer flex items-center gap-2">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 10h16M4 14h16M4 18h16" /></svg>
목차 보기
</summary>
<nav class="mt-3 space-y-1 text-sm">
<a href="#overview" class="block text-blue-700 hover:text-blue-900 py-1">1. 개요</a>
<a href="#process" class="block text-blue-700 hover:text-blue-900 py-1">2. 기획 프로세스</a>
<a href="#deliverables" class="block text-blue-700 hover:text-blue-900 py-1">3. 기획 산출물</a>
<a href="#tools" class="block text-blue-700 hover:text-blue-900 py-1">4. 기획 도구</a>
<a href="#methodology" class="block text-blue-700 hover:text-blue-900 py-1">5. 기획 방법론</a>
</nav>
</details>
</div>
{{-- ============================================================ --}}
{{-- 1. 개요 --}}
{{-- ============================================================ --}}
<section id="overview" class="scroll-mt-20">
<div class="bg-white rounded-xl shadow-sm border border-gray-100 p-6">
<h2 class="text-xl font-bold text-gray-800 mb-6 flex items-center gap-3">
<span class="w-8 h-8 bg-blue-500 text-white rounded-lg flex items-center justify-center text-sm font-bold">1</span>
개요
</h2>
<!-- 1-1. IT 기획이란? -->
<div id="overview-definition" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
IT 기획이란?
</h3>
<div class="bg-blue-50 rounded-lg p-5 border border-blue-100 mb-4">
<p class="text-sm text-blue-900 leading-relaxed">
<strong>IT 기획(IT Planning)</strong>이란 비즈니스 목표를 달성하기 위해 IT 서비스와 제품을 <strong>구상, 설계, 구체화</strong>하는 과정이다. 사용자의 문제를 정의하고, 해결책을 설계하며, 개발팀이 구현할 있는 명확한 산출물을 만들어내는 것이 핵심이다.
</p>
</div>
<div class="flex flex-col lg:flex-row gap-5 items-start mb-4">
<div class="shrink-0 bg-gray-50 rounded-xl p-3 border academy-img-wrap" style="width: 240px;">
<img src="{{ asset('images/academy/it-planning/2.png') }}" alt="기획자 역할 다이어그램"
class="w-full rounded-lg cursor-pointer academy-img-hover"
onclick="openLightbox(this)">
<p class="text-xs text-gray-400 mt-2 text-center">기획자의 역할과 위치</p>
</div>
<div class="flex-1 min-w-0 text-sm text-gray-700 space-y-2">
<p>기획자는 <strong>비즈니스 </strong> <strong>개발 </strong> 사이에서 <strong>번역자 역할</strong> 수행한다. 경영진의 비전을 구체적인 기능 요구사항으로 변환하고, 사용자 경험을 설계하여 개발팀에 전달한다.</p>
<p>단순히 문서를 작성하는 것이 아니라, 프로젝트의 방향을 결정하고 이해관계자들의 의견을 조율하며, 제한된 자원 안에서 최적의 결과물을 이끌어내는 <strong>의사결정 허브</strong>이다.</p>
<div class="mt-3 bg-amber-50 rounded-lg p-3 border border-amber-100">
<p class="text-xs text-amber-800">
<strong>핵심 역할:</strong> "무엇을(What) 만들 것인가" "왜(Why) 만들어야 하는가" 정의한다. "어떻게(How) 만들 것인가" 개발팀의 영역이다.
</p>
</div>
</div>
</div>
</div>
<!-- 1-2. 기획자의 종류 -->
<div id="overview-types" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
기획자의 종류
</h3>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">서비스 기획자 (Service Planner)</h4>
<ul class="text-xs text-gray-600 space-y-1">
<li>- 서비스 전체의 사용자 경험 설계</li>
<li>- 화면 설계서, 스토리보드 작성</li>
<li>- 사용자 리서치 데이터 분석</li>
<li>- 국내 IT 업계에서 가장 보편적인 직함</li>
</ul>
</div>
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">프로덕트 매니저 (Product Manager)</h4>
<ul class="text-xs text-gray-600 space-y-1">
<li>- 제품 전략 로드맵 수립</li>
<li>- 비즈니스 목표와 사용자 니즈 균형</li>
<li>- 데이터 기반 의사결정 (A/B 테스트 )</li>
<li>- 글로벌 IT 기업에서 주로 사용하는 직함</li>
</ul>
</div>
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">UX 기획자 (UX Planner/Designer)</h4>
<ul class="text-xs text-gray-600 space-y-1">
<li>- 사용자 중심 설계 (User-Centered Design)</li>
<li>- 와이어프레임, 프로토타입 제작</li>
<li>- 사용성 테스트 개선</li>
<li>- 정보 구조(IA) 설계</li>
</ul>
</div>
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">프로젝트 매니저 (Project Manager)</h4>
<ul class="text-xs text-gray-600 space-y-1">
<li>- 프로젝트 일정, 범위, 리소스 관리</li>
<li>- 이해관계자 커뮤니케이션</li>
<li>- 리스크 관리 이슈 해결</li>
<li>- 기획보다는 관리(Management) 초점</li>
</ul>
</div>
</div>
</div>
<!-- 1-3. 필요 역량 -->
<div id="overview-skills" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
기획자에게 필요한 역량
</h3>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="bg-blue-50 rounded-lg p-4 border border-blue-100">
<h4 class="font-semibold text-blue-800 mb-2 text-sm flex items-center gap-2">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" /></svg>
논리적 사고력
</h4>
<p class="text-xs text-gray-600">복잡한 문제를 구조화하고, 원인과 결과를 분석하며, 체계적인 해결책을 도출하는 능력. MECE(Mutually Exclusive, Collectively Exhaustive) 원칙으로 빈틈 없이 분류한다.</p>
</div>
<div class="bg-blue-50 rounded-lg p-4 border border-blue-100">
<h4 class="font-semibold text-blue-800 mb-2 text-sm flex items-center gap-2">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z" /></svg>
커뮤니케이션
</h4>
<p class="text-xs text-gray-600">개발자, 디자이너, 경영진, 고객 다양한 이해관계자와 효과적으로 소통하는 능력. 기술 용어를 비즈니스 언어로, 비즈니스 요구를 기술 요구사항으로 변환한다.</p>
</div>
<div class="bg-blue-50 rounded-lg p-4 border border-blue-100">
<h4 class="font-semibold text-blue-800 mb-2 text-sm flex items-center gap-2">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" /></svg>
기술 이해력
</h4>
<p class="text-xs text-gray-600">프론트엔드/백엔드, API, 데이터베이스 기술 구조를 이해하여 현실적인 기획을 수립하는 능력. 코딩을 직접 하진 않지만, 기술적 제약과 가능성을 판단한다.</p>
</div>
<div class="bg-blue-50 rounded-lg p-4 border border-blue-100">
<h4 class="font-semibold text-blue-800 mb-2 text-sm flex items-center gap-2">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z" /></svg>
데이터 분석력
</h4>
<p class="text-xs text-gray-600">사용자 행동 데이터, 시장 트렌드, 경쟁사 분석 등을 통해 근거 있는 의사결정을 내리는 능력. 감이 아닌 숫자로 설득한다.</p>
</div>
</div>
</div>
<!-- 1-4. 기획자의 하루 -->
<div id="overview-daily" class="scroll-mt-20 mb-4">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
기획자의 하루
</h3>
<div class="bg-gray-50 rounded-lg p-5 border">
<div class="space-y-3 text-sm text-gray-700">
<div class="flex items-start gap-3">
<span class="shrink-0 bg-blue-100 text-blue-700 px-2 py-0.5 rounded text-xs font-medium" style="min-width: 70px; text-align: center;">09:00</span>
<span><strong>데일리 스탠드업</strong> 어제 진행 사항 공유, 오늘 계획 발표, 블로커 확인</span>
</div>
<div class="flex items-start gap-3">
<span class="shrink-0 bg-blue-100 text-blue-700 px-2 py-0.5 rounded text-xs font-medium" style="min-width: 70px; text-align: center;">09:30</span>
<span><strong>메일/슬랙 확인</strong> 이해관계자 요청사항 검토, 긴급 이슈 대응</span>
</div>
<div class="flex items-start gap-3">
<span class="shrink-0 bg-blue-100 text-blue-700 px-2 py-0.5 rounded text-xs font-medium" style="min-width: 70px; text-align: center;">10:00</span>
<span><strong>기획 작업</strong> 화면 설계서 작성, PRD 업데이트, 와이어프레임 수정</span>
</div>
<div class="flex items-start gap-3">
<span class="shrink-0 bg-blue-100 text-blue-700 px-2 py-0.5 rounded text-xs font-medium" style="min-width: 70px; text-align: center;">11:00</span>
<span><strong>개발팀 미팅</strong> 기획 리뷰, 기술적 피드백 수렴, QA 이슈 논의</span>
</div>
<div class="flex items-start gap-3">
<span class="shrink-0 bg-blue-100 text-blue-700 px-2 py-0.5 rounded text-xs font-medium" style="min-width: 70px; text-align: center;">13:00</span>
<span><strong>데이터 분석</strong> GA/Mixpanel에서 사용자 행동 데이터 확인, 지표 리포트 작성</span>
</div>
<div class="flex items-start gap-3">
<span class="shrink-0 bg-blue-100 text-blue-700 px-2 py-0.5 rounded text-xs font-medium" style="min-width: 70px; text-align: center;">14:00</span>
<span><strong>이해관계자 미팅</strong> 경영진 보고, 유관부서 협의, 요구사항 조율</span>
</div>
<div class="flex items-start gap-3">
<span class="shrink-0 bg-blue-100 text-blue-700 px-2 py-0.5 rounded text-xs font-medium" style="min-width: 70px; text-align: center;">15:00</span>
<span><strong>디자이너 협업</strong> 목업 리뷰, UI 피드백, 디자인 시스템 논의</span>
</div>
<div class="flex items-start gap-3">
<span class="shrink-0 bg-blue-100 text-blue-700 px-2 py-0.5 rounded text-xs font-medium" style="min-width: 70px; text-align: center;">16:00</span>
<span><strong>문서 정리</strong> JIRA 티켓 업데이트, 회의록 정리, 백로그 관리</span>
</div>
<div class="flex items-start gap-3">
<span class="shrink-0 bg-blue-100 text-blue-700 px-2 py-0.5 rounded text-xs font-medium" style="min-width: 70px; text-align: center;">17:00</span>
<span><strong>스프린트 리뷰/회고</strong> ( 1) 완성된 기능 데모, 개선점 도출</span>
</div>
</div>
</div>
</div>
</div>
</section>
{{-- ============================================================ --}}
{{-- 2. 기획 프로세스 --}}
{{-- ============================================================ --}}
<section id="process" class="scroll-mt-20">
<div class="bg-white rounded-xl shadow-sm border border-gray-100 p-6">
<h2 class="text-xl font-bold text-gray-800 mb-6 flex items-center gap-3">
<span class="w-8 h-8 bg-blue-500 text-white rounded-lg flex items-center justify-center text-sm font-bold">2</span>
기획 프로세스
</h2>
<!-- 2-1. 전체 프로세스 흐름도 -->
<div id="process-flow" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
전체 프로세스 흐름도
</h3>
<div class="mb-5 bg-gray-50 rounded-xl p-4 border flex justify-center academy-img-wrap">
<img src="{{ asset('images/academy/it-planning/3.png') }}" alt="IT 기획 전체 프로세스 흐름도"
class="rounded-lg cursor-pointer academy-img-hover"
style="max-height: 320px; width: auto;"
onclick="openLightbox(this)">
</div>
<p class="text-xs text-gray-400 mb-4 text-center">IT 기획 전체 프로세스 흐름도</p>
<div class="bg-blue-50 rounded-lg p-4 border border-blue-100">
<div class="flex flex-wrap items-center justify-center gap-2 text-sm">
<span class="bg-blue-500 text-white px-3 py-1 rounded-full text-xs font-medium">요구사항 수집</span>
<svg class="w-4 h-4 text-blue-400 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /></svg>
<span class="bg-blue-500 text-white px-3 py-1 rounded-full text-xs font-medium">분석</span>
<svg class="w-4 h-4 text-blue-400 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /></svg>
<span class="bg-blue-500 text-white px-3 py-1 rounded-full text-xs font-medium">설계</span>
<svg class="w-4 h-4 text-blue-400 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /></svg>
<span class="bg-blue-500 text-white px-3 py-1 rounded-full text-xs font-medium">개발</span>
<svg class="w-4 h-4 text-blue-400 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /></svg>
<span class="bg-blue-500 text-white px-3 py-1 rounded-full text-xs font-medium">테스트</span>
<svg class="w-4 h-4 text-blue-400 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /></svg>
<span class="bg-blue-500 text-white px-3 py-1 rounded-full text-xs font-medium">배포</span>
</div>
<p class="text-xs text-blue-700 text-center mt-3"> 단계는 반복적(Iterative)으로 수행되며, 피드백에 따라 이전 단계로 돌아갈 있다.</p>
</div>
</div>
<!-- 2-2. 요구사항 수집 분석 -->
<div id="process-requirements" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
요구사항 수집 분석
</h3>
<div class="flex flex-col lg:flex-row gap-5 items-start mb-4">
<div class="shrink-0 bg-gray-50 rounded-xl p-3 border academy-img-wrap" style="width: 240px;">
<img src="{{ asset('images/academy/it-planning/4.png') }}" alt="이해관계자 인터뷰 장면"
class="w-full rounded-lg cursor-pointer academy-img-hover"
onclick="openLightbox(this)">
<p class="text-xs text-gray-400 mt-2 text-center">이해관계자 인터뷰</p>
</div>
<div class="flex-1 min-w-0 text-sm text-gray-700 space-y-3">
<p>요구사항 수집은 기획의 <strong> 단추</strong>이다. 단계에서 방향이 잘못되면 이후 모든 작업이 무의미해진다.</p>
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">수집 방법</h4>
<ul class="text-xs text-gray-600 space-y-1">
<li><strong>이해관계자 인터뷰</strong> 경영진, 실무자, 고객의 니즈를 1:1 면담으로 파악</li>
<li><strong>사용자 리서치</strong> 설문조사, 포커스 그룹, 사용성 테스트, 현장 관찰</li>
<li><strong>데이터 분석</strong> 기존 서비스의 로그, 이탈률, 전환율 정량 데이터 분석</li>
<li><strong>벤치마킹</strong> 경쟁사/유사 서비스의 기능과 UI 패턴 분석</li>
<li><strong>VOC(Voice of Customer)</strong> 고객센터 문의, 리뷰, SNS 피드백 수집</li>
</ul>
</div>
<div class="bg-amber-50 rounded-lg p-3 border border-amber-100">
<p class="text-xs text-amber-800">
<strong>주의:</strong> "고객이 원하는 것" "고객에게 필요한 것" 다를 있다. 헨리 포드의 명언 "사람들에게 무엇을 원하냐고 물었다면, 더 빠른 말이라고 답했을 것이다."
</p>
</div>
</div>
</div>
</div>
<!-- 2-3. 시장 조사 경쟁 분석 -->
<div id="process-research" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
시장 조사 경쟁 분석
</h3>
<div class="text-sm text-gray-700 space-y-3">
<p>시장과 경쟁사를 분석하여 서비스의 <strong>차별화 포인트</strong> <strong>시장 기회</strong> 발견한다.</p>
<div class="overflow-x-auto">
<table class="w-full text-sm border-collapse">
<thead>
<tr class="border-b-2 border-gray-200 bg-gray-50">
<th class="text-left py-2 px-3 font-medium text-gray-600">분석 유형</th>
<th class="text-left py-2 px-3 font-medium text-gray-600">설명</th>
<th class="text-left py-2 px-3 font-medium text-gray-600">활용 도구</th>
</tr>
</thead>
<tbody class="text-xs text-gray-700">
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">SWOT 분석</td>
<td class="py-2 px-3">강점/약점/기회/위협 파악</td>
<td class="py-2 px-3">Miro, FigJam</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">경쟁사 분석</td>
<td class="py-2 px-3">경쟁 서비스의 기능, UX, 가격 비교</td>
<td class="py-2 px-3">스프레드시트, Notion</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">시장 규모 분석</td>
<td class="py-2 px-3">TAM/SAM/SOM 산출</td>
<td class="py-2 px-3">리서치 보고서</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">사용자 세그먼트</td>
<td class="py-2 px-3">페르소나 정의, 고객 여정 맵핑</td>
<td class="py-2 px-3">Figma, Miro</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- 2-4. 서비스 정의 범위 설정 -->
<div id="process-scope" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
서비스 정의 범위 설정 (스코프 관리)
</h3>
<div class="text-sm text-gray-700 space-y-3">
<p>수집된 요구사항을 바탕으로 <strong>"무엇을 만들 것인가"</strong> 범위를 명확히 정의한다. 범위가 불분명하면 <strong>스코프 크리프(Scope Creep)</strong> 기능이 끝없이 추가되는 현상 발생한다.</p>
<div class="grid grid-cols-1 md:grid-cols-3 gap-3">
<div class="bg-green-50 rounded-lg p-3 border border-green-100 text-center">
<p class="text-xs font-semibold text-green-700 mb-1">In-Scope</p>
<p class="text-xs text-gray-600">이번 버전에 포함할 기능</p>
</div>
<div class="bg-yellow-50 rounded-lg p-3 border border-yellow-100 text-center">
<p class="text-xs font-semibold text-yellow-700 mb-1">Out-of-Scope</p>
<p class="text-xs text-gray-600">다음 버전으로 미루는 기능</p>
</div>
<div class="bg-red-50 rounded-lg p-3 border border-red-100 text-center">
<p class="text-xs font-semibold text-red-700 mb-1">Not Doing</p>
<p class="text-xs text-gray-600">하지 않기로 결정한 기능</p>
</div>
</div>
</div>
</div>
<!-- 2-5. 우선순위 결정 -->
<div id="process-priority" class="scroll-mt-20 mb-4">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
우선순위 결정
</h3>
<div class="text-sm text-gray-700 space-y-3">
<p>제한된 시간과 리소스 안에서 <strong>무엇을 먼저 것인가</strong> 결정하는 것은 기획자의 핵심 역량이다.</p>
<div class="space-y-3">
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">MoSCoW 방법</h4>
<div class="grid grid-cols-2 md:grid-cols-4 gap-2 text-xs">
<div class="bg-red-50 rounded p-2 border border-red-100 text-center">
<p class="font-bold text-red-700">Must Have</p>
<p class="text-gray-600 mt-1">반드시 필요</p>
</div>
<div class="bg-orange-50 rounded p-2 border border-orange-100 text-center">
<p class="font-bold text-orange-700">Should Have</p>
<p class="text-gray-600 mt-1">있으면 좋음</p>
</div>
<div class="bg-yellow-50 rounded p-2 border border-yellow-100 text-center">
<p class="font-bold text-yellow-700">Could Have</p>
<p class="text-gray-600 mt-1">가능하면</p>
</div>
<div class="bg-gray-100 rounded p-2 border text-center">
<p class="font-bold text-gray-600">Won't Have</p>
<p class="text-gray-500 mt-1">이번엔 안 함</p>
</div>
</div>
</div>
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">RICE 스코어</h4>
<div class="bg-white rounded p-3 border text-xs text-gray-600">
<p class="font-mono text-center text-blue-700 font-bold mb-2">RICE = (Reach x Impact x Confidence) / Effort</p>
<ul class="space-y-1">
<li><strong>Reach</strong> — 영향 받는 사용자 수 (분기당)</li>
<li><strong>Impact</strong> — 사용자당 임팩트 (0.25 ~ 3)</li>
<li><strong>Confidence</strong> — 확신도 (50% ~ 100%)</li>
<li><strong>Effort</strong> — 소요 공수 (인/월)</li>
</ul>
</div>
</div>
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">Kano 모델</h4>
<ul class="text-xs text-gray-600 space-y-1">
<li><strong>기본 품질(Must-be)</strong> — 없으면 불만, 있어도 당연시 (예: 로그인 기능)</li>
<li><strong>성능 품질(One-dimensional)</strong> — 좋을수록 만족도 비례 증가 (예: 검색 속도)</li>
<li><strong>매력 품질(Attractive)</strong> — 없어도 불만 없지만, 있으면 감동 (예: AI 추천)</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
{{-- ============================================================ --}}
{{-- 3. 기획 산출물 --}}
{{-- ============================================================ --}}
<section id="deliverables" class="scroll-mt-20">
<div class="bg-white rounded-xl shadow-sm border border-gray-100 p-6">
<h2 class="text-xl font-bold text-gray-800 mb-6 flex items-center gap-3">
<span class="w-8 h-8 bg-blue-500 text-white rounded-lg flex items-center justify-center text-sm font-bold">3</span>
기획 산출물
</h2>
<!-- 3-1. 요구사항 정의서 (PRD) -->
<div id="deliverables-prd" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
요구사항 정의서 (PRD)
</h3>
<div class="bg-blue-50 rounded-lg p-5 border border-blue-100 mb-4">
<p class="text-sm text-blue-900 leading-relaxed">
<strong>PRD(Product Requirements Document)</strong>는 제품이 "무엇을 해야 하는가"를 정의하는 문서이다. 모든 이해관계자가 동일한 이해를 갖도록 하는 <strong>단일 진실 소스(Single Source of Truth)</strong> 역할을 한다.
</p>
</div>
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-3 text-sm">PRD에 포함되는 항목</h4>
<div class="grid grid-cols-1 md:grid-cols-2 gap-2 text-xs text-gray-600">
<div class="flex items-start gap-2"><span class="text-blue-500 shrink-0">1.</span> 프로젝트 개요 및 배경</div>
<div class="flex items-start gap-2"><span class="text-blue-500 shrink-0">2.</span> 목표 및 핵심 지표(KPI)</div>
<div class="flex items-start gap-2"><span class="text-blue-500 shrink-0">3.</span> 타깃 사용자 및 페르소나</div>
<div class="flex items-start gap-2"><span class="text-blue-500 shrink-0">4.</span> 기능 요구사항 (상세 명세)</div>
<div class="flex items-start gap-2"><span class="text-blue-500 shrink-0">5.</span> 비기능 요구사항 (성능, 보안)</div>
<div class="flex items-start gap-2"><span class="text-blue-500 shrink-0">6.</span> 제약 조건 및 가정</div>
<div class="flex items-start gap-2"><span class="text-blue-500 shrink-0">7.</span> 릴리즈 일정</div>
<div class="flex items-start gap-2"><span class="text-blue-500 shrink-0">8.</span> 성공 기준 / 수용 기준</div>
</div>
</div>
</div>
<!-- 3-2. 정보 구조도 (IA) -->
<div id="deliverables-ia" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
정보 구조도 (IA, Information Architecture)
</h3>
<div class="flex flex-col lg:flex-row gap-5 items-start mb-4">
<div class="shrink-0 bg-gray-50 rounded-xl p-3 border academy-img-wrap" style="width: 240px;">
<img src="{{ asset('images/academy/it-planning/6.png') }}" alt="정보 구조도(IA) 트리 다이어그램"
class="w-full rounded-lg cursor-pointer academy-img-hover"
onclick="openLightbox(this)">
<p class="text-xs text-gray-400 mt-2 text-center">IA 트리 다이어그램 예시</p>
</div>
<div class="flex-1 min-w-0 text-sm text-gray-700 space-y-2">
<p><strong>정보 구조도(IA)</strong>는 서비스의 전체 메뉴 체계와 콘텐츠 계층을 시각화한 문서이다. 사이트맵과 유사하지만 더 상세한 레벨의 구조를 포함한다.</p>
<div class="bg-gray-50 rounded-lg p-3 border text-xs">
<p class="font-semibold text-gray-700 mb-2">IA 작성 원칙</p>
<ul class="space-y-1 text-gray-600">
<li>- <strong>사용자 멘탈 모델</strong>에 맞는 분류 체계</li>
<li>- 깊이(Depth)보다 <strong>폭(Breadth)</strong>을 우선 — 3~4단계 이내</li>
<li>- 각 메뉴명은 <strong>명확하고 예측 가능</strong>하게</li>
<li>- 카드소팅(Card Sorting) 기법으로 검증</li>
</ul>
</div>
</div>
</div>
</div>
<!-- 3-3. 화면 설계서 / 스토리보드 -->
<div id="deliverables-wireframe" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
화면 설계서 / 스토리보드
</h3>
<div class="mb-5 bg-gray-50 rounded-xl p-4 border flex justify-center academy-img-wrap">
<img src="{{ asset('images/academy/it-planning/5.png') }}" alt="와이어프레임에서 프로토타입까지"
class="rounded-lg cursor-pointer academy-img-hover"
style="max-height: 320px; width: auto;"
onclick="openLightbox(this)">
</div>
<p class="text-xs text-gray-400 mb-4 text-center">Wireframe → Mockup → Prototype 진행 과정</p>
<div class="overflow-x-auto">
<table class="w-full text-sm border-collapse">
<thead>
<tr class="border-b-2 border-gray-200 bg-gray-50">
<th class="text-left py-2 px-3 font-medium text-gray-600">단계</th>
<th class="text-left py-2 px-3 font-medium text-gray-600">산출물</th>
<th class="text-left py-2 px-3 font-medium text-gray-600">특징</th>
<th class="text-left py-2 px-3 font-medium text-gray-600">목적</th>
</tr>
</thead>
<tbody class="text-xs text-gray-700">
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">1단계</td>
<td class="py-2 px-3"><strong>Wireframe</strong></td>
<td class="py-2 px-3">흑백, 레이아웃 중심</td>
<td class="py-2 px-3">구조와 기능 배치 검증</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">2단계</td>
<td class="py-2 px-3"><strong>Mockup</strong></td>
<td class="py-2 px-3">컬러, 폰트, 이미지 포함</td>
<td class="py-2 px-3">시각적 디자인 확정</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">3단계</td>
<td class="py-2 px-3"><strong>Prototype</strong></td>
<td class="py-2 px-3">클릭, 전환 인터랙션 포함</td>
<td class="py-2 px-3">사용자 흐름 테스트</td>
</tr>
</tbody>
</table>
</div>
<div class="mt-3 bg-amber-50 rounded-lg p-3 border border-amber-100">
<p class="text-xs text-amber-800">
<strong>실무 팁:</strong> 모든 화면을 다 만들 필요 없다. 핵심 흐름(Critical Path)에 해당하는 화면만 먼저 설계하고, 나머지는 개발 진행과 병행하여 보완한다.
</p>
</div>
</div>
<!-- 3-4. 플로우차트 / 유저 플로우 -->
<div id="deliverables-flow" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
플로우차트 / 유저 플로우
</h3>
<div class="flex flex-col lg:flex-row gap-5 items-start mb-4">
<div class="flex-1 min-w-0 text-sm text-gray-700 space-y-2">
<p><strong>유저 플로우</strong>는 사용자가 특정 목표를 달성하기까지의 단계별 경로를 시각화한 다이어그램이다.</p>
<div class="grid grid-cols-1 md:grid-cols-2 gap-3">
<div class="bg-gray-50 rounded-lg p-3 border">
<h4 class="font-semibold text-gray-800 mb-1 text-xs">유저 플로우 (User Flow)</h4>
<p class="text-xs text-gray-600">사용자 관점의 화면 전환 흐름. 어떤 화면에서 어떤 행동을 하면 어디로 이동하는지를 표현.</p>
</div>
<div class="bg-gray-50 rounded-lg p-3 border">
<h4 class="font-semibold text-gray-800 mb-1 text-xs">플로우차트 (Flowchart)</h4>
<p class="text-xs text-gray-600">시스템 로직 관점. 조건 분기(if/else), 반복, 예외 처리를 포함한 비즈니스 로직 흐름.</p>
</div>
</div>
</div>
<div class="shrink-0 bg-gray-50 rounded-xl p-3 border academy-img-wrap" style="width: 240px;">
<img src="{{ asset('images/academy/it-planning/7.png') }}" alt="유저 플로우 다이어그램"
class="w-full rounded-lg cursor-pointer academy-img-hover"
onclick="openLightbox(this)">
<p class="text-xs text-gray-400 mt-2 text-center">유저 플로우 다이어그램 예시</p>
</div>
</div>
</div>
<!-- 3-5. 유스케이스 / 유저 스토리 -->
<div id="deliverables-usecase" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
유스케이스 / 유저 스토리
</h3>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">유스케이스 (Use Case)</h4>
<div class="text-xs text-gray-600 space-y-2">
<p>시스템과 사용자 간의 상호작용을 상세히 기술한다.</p>
<div class="bg-white rounded p-3 border font-mono text-xs">
<p><strong>UC-001:</strong> 회원가입</p>
<p><strong>액터:</strong> 비회원 사용자</p>
<p><strong>사전조건:</strong> 회원가입 페이지 접근</p>
<p><strong>주요흐름:</strong></p>
<p class="pl-2">1. 이메일 입력</p>
<p class="pl-2">2. 비밀번호 설정</p>
<p class="pl-2">3. 약관 동의</p>
<p class="pl-2">4. 가입 완료</p>
<p><strong>대안흐름:</strong> 소셜 로그인</p>
<p><strong>예외흐름:</strong> 중복 이메일</p>
</div>
</div>
</div>
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">유저 스토리 (User Story)</h4>
<div class="text-xs text-gray-600 space-y-2">
<p>사용자 관점에서 기능을 한 문장으로 표현한다.</p>
<div class="bg-white rounded p-3 border">
<p class="font-mono text-blue-700 mb-2">"[사용자 유형]으로서, [기능]을 원한다. 왜냐하면 [가치] 때문이다."</p>
<div class="space-y-2 mt-3">
<div class="bg-blue-50 rounded p-2">
<p class="text-xs">"<strong>신규 사용자</strong>로서, <strong>소셜 로그인</strong>을 원한다. 왜냐하면 <strong>빠르게 서비스를 체험</strong>하고 싶기 때문이다."</p>
</div>
<div class="bg-blue-50 rounded p-2">
<p class="text-xs">"<strong>관리자</strong>로서, <strong>사용자 목록 필터</strong>를 원한다. 왜냐하면 <strong>특정 조건의 사용자를 빠르게 찾고 싶기</strong> 때문이다."</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 3-6. 기능 명세서 -->
<div id="deliverables-spec" class="scroll-mt-20 mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
기능 명세서 (Functional Specification)
</h3>
<div class="text-sm text-gray-700 space-y-3">
<p>기능 명세서는 각 기능이 <strong>"어떻게 동작해야 하는가"</strong>를 개발자가 구현할 수 있을 만큼 구체적으로 기술한 문서이다.</p>
<div class="overflow-x-auto">
<table class="w-full text-sm border-collapse">
<thead>
<tr class="border-b-2 border-gray-200 bg-gray-50">
<th class="text-left py-2 px-3 font-medium text-gray-600">항목</th>
<th class="text-left py-2 px-3 font-medium text-gray-600">예시</th>
</tr>
</thead>
<tbody class="text-xs text-gray-700">
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">기능 ID</td>
<td class="py-2 px-3">FN-LOGIN-001</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">기능명</td>
<td class="py-2 px-3">이메일 로그인</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">입력값</td>
<td class="py-2 px-3">이메일(필수), 비밀번호(필수)</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">검증 규칙</td>
<td class="py-2 px-3">이메일 형식, 비밀번호 8자 이상</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">성공 시</td>
<td class="py-2 px-3">대시보드로 리다이렉트, 세션 생성</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">실패 시</td>
<td class="py-2 px-3">에러 메시지 표시, 5회 실패 시 잠금</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- 3-7. 데이터 모델 / ERD -->
<div id="deliverables-erd" class="scroll-mt-20 mb-4">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
데이터 모델 / ERD
</h3>
<div class="text-sm text-gray-700 space-y-3">
<p><strong>ERD(Entity-Relationship Diagram)</strong>는 데이터베이스의 테이블(엔티티)과 관계를 시각화한 다이어그램이다. 기획자가 직접 작성하기보다 개발자와 <strong>협업하여 도출</strong>하는 경우가 많다.</p>
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">기획자가 알아야 할 ERD 기초</h4>
<ul class="text-xs text-gray-600 space-y-1">
<li><strong>엔티티(Entity)</strong> — 테이블, 데이터의 단위 (예: 회원, 주문, 상품)</li>
<li><strong>속성(Attribute)</strong> — 컬럼, 엔티티의 세부 정보 (예: 이름, 이메일, 가격)</li>
<li><strong>관계(Relationship)</strong> — 엔티티 간의 연결 (1:1, 1:N, N:M)</li>
<li><strong>PK(Primary Key)</strong> — 각 레코드를 유일하게 식별하는 키</li>
<li><strong>FK(Foreign Key)</strong> — 다른 테이블과의 관계를 나타내는 키</li>
</ul>
</div>
<div class="bg-amber-50 rounded-lg p-3 border border-amber-100">
<p class="text-xs text-amber-800">
<strong>기획자의 역할:</strong> ERD를 직접 그리지 않더라도, 화면에 필요한 데이터가 무엇인지(어떤 정보를 저장하고, 조회하고, 수정하는지)를 명확히 정의하면 개발자가 적절한 DB 구조를 설계할 수 있다.
</p>
</div>
</div>
</div>
</div>
</section>
{{-- ============================================================ --}}
{{-- 4. 기획 도구 --}}
{{-- ============================================================ --}}
<section id="tools" class="scroll-mt-20">
<div class="bg-white rounded-xl shadow-sm border border-gray-100 p-6">
<h2 class="text-xl font-bold text-gray-800 mb-6 flex items-center gap-3">
<span class="w-8 h-8 bg-blue-500 text-white rounded-lg flex items-center justify-center text-sm font-bold">4</span>
기획 도구
</h2>
<div class="flex flex-col lg:flex-row gap-5 items-start mb-6">
<div class="shrink-0 bg-gray-50 rounded-xl p-3 border academy-img-wrap" style="width: 240px;">
<img src="{{ asset('images/academy/it-planning/8.png') }}" alt="Figma UI 디자인 작업 화면"
class="w-full rounded-lg cursor-pointer academy-img-hover"
onclick="openLightbox(this)">
<p class="text-xs text-gray-400 mt-2 text-center">Figma 작업 화면</p>
</div>
<div class="flex-1 min-w-0 text-sm text-gray-700">
<p class="mb-4">IT 기획자가 업무에 사용하는 도구는 크게 6가지 카테고리로 나눌 수 있다. 도구 자체보다 <strong>어떤 목적으로 사용하는가</strong>가 더 중요하다.</p>
</div>
</div>
<div class="space-y-4">
<!-- 문서 작성 -->
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-3 text-sm flex items-center gap-2">
<svg class="w-4 h-4 text-blue-500" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" /></svg>
문서 작성
</h4>
<div class="grid grid-cols-1 md:grid-cols-3 gap-3 text-xs">
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Notion</p>
<p class="text-gray-500 mt-1">올인원 워크스페이스. 문서, DB, 칸반, 위키를 하나로 통합. 스타트업에서 가장 인기.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Confluence</p>
<p class="text-gray-500 mt-1">Atlassian 생태계. Jira와 연동이 강점. 대기업/중견기업에서 주로 사용.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Google Docs</p>
<p class="text-gray-500 mt-1">실시간 협업 편집. 접근성이 좋고 무료. 빠른 초안 작성에 적합.</p>
</div>
</div>
</div>
<!-- 화면 설계 -->
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-3 text-sm flex items-center gap-2">
<svg class="w-4 h-4 text-blue-500" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z" /></svg>
화면 설계
</h4>
<div class="grid grid-cols-1 md:grid-cols-3 gap-3 text-xs">
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Figma</p>
<p class="text-gray-500 mt-1">브라우저 기반 디자인 도구. 실시간 협업, 프로토타이핑, 디자인 시스템 관리. 업계 표준.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Sketch</p>
<p class="text-gray-500 mt-1">macOS 전용. 가볍고 빠름. 플러그인 생태계 풍부. Figma에 점유율 추월당한 상태.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Adobe XD</p>
<p class="text-gray-500 mt-1">Adobe 생태계 연동. Photoshop/Illustrator 사용자에게 친숙. 2024년 서비스 종료 예정.</p>
</div>
</div>
</div>
<!-- 프로젝트 관리 -->
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-3 text-sm flex items-center gap-2">
<svg class="w-4 h-4 text-blue-500" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" /></svg>
프로젝트 관리
</h4>
<div class="grid grid-cols-2 md:grid-cols-4 gap-3 text-xs">
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Jira</p>
<p class="text-gray-500 mt-1">스프린트/칸반 보드. 이슈 트래킹의 표준.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Trello</p>
<p class="text-gray-500 mt-1">직관적 칸반 보드. 소규모 팀에 적합.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Asana</p>
<p class="text-gray-500 mt-1">타임라인/리스트/보드 뷰. 마케팅팀에 인기.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Linear</p>
<p class="text-gray-500 mt-1">빠르고 깔끔한 UI. 개발팀 중심. 최근 급부상.</p>
</div>
</div>
</div>
<!-- 다이어그램 -->
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-3 text-sm flex items-center gap-2">
<svg class="w-4 h-4 text-blue-500" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01" /></svg>
다이어그램
</h4>
<div class="grid grid-cols-1 md:grid-cols-3 gap-3 text-xs">
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Miro</p>
<p class="text-gray-500 mt-1">무한 화이트보드. 브레인스토밍, 마인드맵, 워크숍에 최적.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Draw.io</p>
<p class="text-gray-500 mt-1">무료 오픈소스 다이어그램. ERD, 플로우차트, 시스템 구성도.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Lucidchart</p>
<p class="text-gray-500 mt-1">전문 다이어그램 도구. 실시간 협업, 템플릿 풍부.</p>
</div>
</div>
</div>
<!-- 프로토타이핑 -->
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-3 text-sm flex items-center gap-2">
<svg class="w-4 h-4 text-blue-500" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122" /></svg>
프로토타이핑
</h4>
<div class="grid grid-cols-1 md:grid-cols-3 gap-3 text-xs">
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Figma Prototype</p>
<p class="text-gray-500 mt-1">디자인과 프로토타입을 하나의 도구에서. 트랜지션, 인터랙션 설정.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">InVision</p>
<p class="text-gray-500 mt-1">이미지 기반 프로토타이핑. 간단한 클릭 흐름 테스트.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Framer</p>
<p class="text-gray-500 mt-1">코드 수준 인터랙션. 실제 웹사이트처럼 동작하는 프로토타입.</p>
</div>
</div>
</div>
<!-- 데이터 분석 -->
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-3 text-sm flex items-center gap-2">
<svg class="w-4 h-4 text-blue-500" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z" /></svg>
데이터 분석
</h4>
<div class="grid grid-cols-1 md:grid-cols-3 gap-3 text-xs">
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Google Analytics</p>
<p class="text-gray-500 mt-1">웹 트래픽 분석의 표준. 페이지뷰, 이탈률, 전환율 추적.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Mixpanel</p>
<p class="text-gray-500 mt-1">이벤트 기반 분석. 퍼널, 리텐션, A/B 테스트. 제품 분석에 강점.</p>
</div>
<div class="bg-white rounded p-3 border">
<p class="font-semibold text-gray-800">Amplitude</p>
<p class="text-gray-500 mt-1">사용자 행동 분석. 코호트 분석, 경로 분석. 데이터 기반 PM에 필수.</p>
</div>
</div>
</div>
</div>
</div>
</section>
{{-- ============================================================ --}}
{{-- 5. 기획 방법론 --}}
{{-- ============================================================ --}}
<section id="methodology" class="scroll-mt-20">
<div class="bg-white rounded-xl shadow-sm border border-gray-100 p-6">
<h2 class="text-xl font-bold text-gray-800 mb-6 flex items-center gap-3">
<span class="w-8 h-8 bg-blue-500 text-white rounded-lg flex items-center justify-center text-sm font-bold">5</span>
기획 방법론
</h2>
<!-- 5-1. 워터폴 -->
<div class="mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
워터폴 (Waterfall)
</h3>
<div class="flex flex-col lg:flex-row gap-5 items-start">
<div class="flex-1 min-w-0 text-sm text-gray-700 space-y-3">
<p>전통적인 <strong>순차적(Sequential) 개발 방법론</strong>. 각 단계가 완료된 후 다음 단계로 넘어가며, 이전 단계로 돌아가기 어렵다.</p>
<div class="bg-blue-50 rounded-lg p-3 border border-blue-100">
<div class="flex flex-wrap items-center gap-1 text-xs justify-center">
<span class="bg-blue-200 text-blue-800 px-2 py-0.5 rounded">요구분석</span>
<span class="text-blue-400">→</span>
<span class="bg-blue-200 text-blue-800 px-2 py-0.5 rounded">설계</span>
<span class="text-blue-400">→</span>
<span class="bg-blue-200 text-blue-800 px-2 py-0.5 rounded">개발</span>
<span class="text-blue-400">→</span>
<span class="bg-blue-200 text-blue-800 px-2 py-0.5 rounded">테스트</span>
<span class="text-blue-400">→</span>
<span class="bg-blue-200 text-blue-800 px-2 py-0.5 rounded">배포</span>
<span class="text-blue-400">→</span>
<span class="bg-blue-200 text-blue-800 px-2 py-0.5 rounded">유지보수</span>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-3">
<div class="bg-green-50 rounded p-3 border border-green-100">
<p class="text-xs font-semibold text-green-700 mb-1">장점</p>
<ul class="text-xs text-gray-600 space-y-0.5">
<li>- 명확한 단계와 산출물</li>
<li>- 관리와 추적이 용이</li>
<li>- 문서화가 철저</li>
</ul>
</div>
<div class="bg-red-50 rounded p-3 border border-red-100">
<p class="text-xs font-semibold text-red-700 mb-1">단점</p>
<ul class="text-xs text-gray-600 space-y-0.5">
<li>- 변경 대응이 어려움</li>
<li>- 완성까지 결과물 확인 불가</li>
<li>- 긴 개발 주기</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- 5-2. 애자일 -->
<div class="mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
애자일 (Agile)
</h3>
<div class="flex flex-col lg:flex-row gap-5 items-start">
<div class="flex-1 min-w-0 text-sm text-gray-700 space-y-3">
<p><strong>반복(Iterative)</strong>과 <strong>점진적(Incremental)</strong> 개발을 핵심으로 하는 방법론. 2~4주 단위의 스프린트로 작은 단위의 기능을 지속적으로 배포한다.</p>
<div class="mb-5 bg-gray-50 rounded-xl p-4 border flex justify-center academy-img-wrap">
<img src="{{ asset('images/academy/it-planning/9.png') }}" alt="스크럼 보드와 스프린트 미팅"
class="rounded-lg cursor-pointer academy-img-hover"
style="max-height: 280px; width: auto;"
onclick="openLightbox(this)">
</div>
<p class="text-xs text-gray-400 mb-2 text-center">스크럼 보드와 스프린트 미팅</p>
<div class="grid grid-cols-1 md:grid-cols-2 gap-3">
<div class="bg-gray-50 rounded-lg p-3 border">
<h4 class="font-semibold text-gray-800 mb-1 text-xs">스크럼 (Scrum)</h4>
<ul class="text-xs text-gray-600 space-y-0.5">
<li>- 2~4주 스프린트 주기</li>
<li>- 데일리 스탠드업 (15분)</li>
<li>- 스프린트 리뷰 & 회고</li>
<li>- PO, SM, Dev Team 역할 분리</li>
</ul>
</div>
<div class="bg-gray-50 rounded-lg p-3 border">
<h4 class="font-semibold text-gray-800 mb-1 text-xs">칸반 (Kanban)</h4>
<ul class="text-xs text-gray-600 space-y-0.5">
<li>- 스프린트 없이 지속적 흐름</li>
<li>- WIP(Work In Progress) 제한</li>
<li>- 시각적 보드로 병목 파악</li>
<li>- 운영/유지보수에 적합</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- 5-3. 린 스타트업 -->
<div class="mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
린 스타트업 (Lean Startup)
</h3>
<div class="text-sm text-gray-700 space-y-3">
<p>에릭 리스(Eric Ries)가 제안한 방법론. <strong>가설 → 실험 → 학습</strong>의 반복 사이클로 낭비를 최소화하고 빠르게 시장 검증한다.</p>
<div class="bg-blue-50 rounded-lg p-4 border border-blue-100">
<div class="flex flex-wrap items-center gap-2 justify-center text-xs">
<div class="bg-blue-500 text-white px-3 py-2 rounded-lg text-center">
<p class="font-bold">Build</p>
<p class="opacity-80">MVP 개발</p>
</div>
<svg class="w-5 h-5 text-blue-400 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /></svg>
<div class="bg-blue-500 text-white px-3 py-2 rounded-lg text-center">
<p class="font-bold">Measure</p>
<p class="opacity-80">데이터 측정</p>
</div>
<svg class="w-5 h-5 text-blue-400 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /></svg>
<div class="bg-blue-500 text-white px-3 py-2 rounded-lg text-center">
<p class="font-bold">Learn</p>
<p class="opacity-80">학습/피벗</p>
</div>
</div>
</div>
<div class="bg-gray-50 rounded-lg p-4 border">
<h4 class="font-semibold text-gray-800 mb-2 text-sm">핵심 개념</h4>
<ul class="text-xs text-gray-600 space-y-1">
<li><strong>MVP(Minimum Viable Product)</strong> — 핵심 기능만 포함한 최소 제품. 빠르게 시장에 출시하여 피드백 수집.</li>
<li><strong>Pivot</strong> — 가설이 틀렸을 때 방향을 전환하는 것. 실패가 아니라 학습의 결과.</li>
<li><strong>Validated Learning</strong> — 데이터를 통해 검증된 학습. 감이 아닌 증거 기반 의사결정.</li>
</ul>
</div>
</div>
</div>
<!-- 5-4. 디자인 씽킹 -->
<div class="mb-8">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
디자인 씽킹 (Design Thinking)
</h3>
<div class="flex flex-col lg:flex-row gap-5 items-start">
<div class="flex-1 min-w-0 text-sm text-gray-700 space-y-3">
<p>스탠포드 d.school에서 체계화한 <strong>인간 중심(Human-Centered)</strong> 문제 해결 방법론. 사용자에 대한 깊은 <strong>공감</strong>에서 출발한다.</p>
<div class="mb-5 bg-gray-50 rounded-xl p-4 border flex justify-center academy-img-wrap">
<img src="{{ asset('images/academy/it-planning/10.png') }}" alt="디자인 씽킹 5단계"
class="rounded-lg cursor-pointer academy-img-hover"
style="max-height: 280px; width: auto;"
onclick="openLightbox(this)">
</div>
<p class="text-xs text-gray-400 mb-2 text-center">디자인 씽킹 5단계 프로세스</p>
<div class="grid grid-cols-1 md:grid-cols-5 gap-2 text-xs">
<div class="bg-purple-50 rounded-lg p-3 border border-purple-100 text-center">
<p class="font-bold text-purple-700 text-sm mb-1">1</p>
<p class="font-semibold text-gray-800">공감</p>
<p class="text-gray-500 mt-1">Empathize</p>
</div>
<div class="bg-pink-50 rounded-lg p-3 border border-pink-100 text-center">
<p class="font-bold text-pink-700 text-sm mb-1">2</p>
<p class="font-semibold text-gray-800">정의</p>
<p class="text-gray-500 mt-1">Define</p>
</div>
<div class="bg-orange-50 rounded-lg p-3 border border-orange-100 text-center">
<p class="font-bold text-orange-700 text-sm mb-1">3</p>
<p class="font-semibold text-gray-800">아이디어</p>
<p class="text-gray-500 mt-1">Ideate</p>
</div>
<div class="bg-green-50 rounded-lg p-3 border border-green-100 text-center">
<p class="font-bold text-green-700 text-sm mb-1">4</p>
<p class="font-semibold text-gray-800">프로토타입</p>
<p class="text-gray-500 mt-1">Prototype</p>
</div>
<div class="bg-blue-50 rounded-lg p-3 border border-blue-100 text-center">
<p class="font-bold text-blue-700 text-sm mb-1">5</p>
<p class="font-semibold text-gray-800">테스트</p>
<p class="text-gray-500 mt-1">Test</p>
</div>
</div>
</div>
</div>
</div>
<!-- 5-5. 실무 적용 사례 -->
<div class="mb-4">
<h3 class="text-lg font-semibold text-gray-800 mb-3 flex items-center gap-2">
<span class="w-2 h-2 bg-blue-400 rounded-full"></span>
실무 적용 사례
</h3>
<div class="flex flex-col lg:flex-row gap-5 items-start mb-4">
<div class="flex-1 min-w-0">
<div class="mb-5 bg-gray-50 rounded-xl p-4 border flex justify-center academy-img-wrap">
<img src="{{ asset('images/academy/it-planning/11.png') }}" alt="기획자-개발자-디자이너 협업"
class="rounded-lg cursor-pointer academy-img-hover"
style="max-height: 280px; width: auto;"
onclick="openLightbox(this)">
</div>
<p class="text-xs text-gray-400 mb-4 text-center">기획자-개발자-디자이너 협업 장면</p>
</div>
</div>
<div class="text-sm text-gray-700 space-y-3">
<p>실무에서는 하나의 방법론만 고수하기보다 <strong>상황에 맞게 혼합(Hybrid)</strong>하여 사용한다.</p>
<div class="overflow-x-auto">
<table class="w-full text-sm border-collapse">
<thead>
<tr class="border-b-2 border-gray-200 bg-gray-50">
<th class="text-left py-2 px-3 font-medium text-gray-600">상황</th>
<th class="text-left py-2 px-3 font-medium text-gray-600">추천 방법론</th>
<th class="text-left py-2 px-3 font-medium text-gray-600">이유</th>
</tr>
</thead>
<tbody class="text-xs text-gray-700">
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">신규 서비스 런칭</td>
<td class="py-2 px-3">린 스타트업 + 디자인 씽킹</td>
<td class="py-2 px-3">시장 불확실성 높음, 빠른 검증 필요</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">기존 서비스 개선</td>
<td class="py-2 px-3">애자일 (스크럼)</td>
<td class="py-2 px-3">점진적 개선, 정기 배포 주기</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">대규모 SI 프로젝트</td>
<td class="py-2 px-3">워터폴 + 애자일 혼합</td>
<td class="py-2 px-3">계약/산출물 필수, 단계별 검수</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">운영/유지보수</td>
<td class="py-2 px-3">칸반</td>
<td class="py-2 px-3">비정형 업무, 우선순위 수시 변경</td>
</tr>
<tr class="border-b border-gray-100">
<td class="py-2 px-3 font-medium">UX 개선 프로젝트</td>
<td class="py-2 px-3">디자인 씽킹 + 애자일</td>
<td class="py-2 px-3">사용자 공감에서 출발, 반복 검증</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- 데이터 분석 이미지 -->
<div class="mt-6 mb-4 bg-gray-50 rounded-xl p-4 border flex justify-center academy-img-wrap">
<img src="{{ asset('images/academy/it-planning/12.png') }}" alt="데이터 분석 대시보드"
class="rounded-lg cursor-pointer academy-img-hover"
style="max-height: 280px; width: auto;"
onclick="openLightbox(this)">
</div>
<p class="text-xs text-gray-400 text-center">데이터 기반 의사결정 — 분석 대시보드</p>
<div class="mt-6 bg-blue-50 rounded-lg p-5 border border-blue-100">
<h4 class="font-semibold text-blue-800 mb-2 text-sm">핵심 정리</h4>
<p class="text-xs text-blue-700 leading-relaxed">
IT 기획은 단순한 문서 작성이 아니라, <strong>비즈니스 가치를 기술적 솔루션으로 전환</strong>하는 과정이다. 좋은 기획자는 사용자를 깊이 이해하고, 데이터로 의사결정하며, 팀과 효과적으로 소통한다. 어떤 방법론을 사용하든 핵심은 <strong>"사용자에게 가치를 전달하는 것"</strong>이다.
</p>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
<!-- hover 프리뷰 오버레이 -->
<div id="hover-preview">
<img id="hover-preview-img" src="" alt="">
<span class="hover-caption" id="hover-preview-caption"></span>
</div>
<!-- 클릭 라이트박스 -->
<div id="lightbox" onclick="closeLightbox()">
<button onclick="closeLightbox()" style="position:absolute; top:1rem; right:1rem; background:none; border:none; cursor:pointer; color:rgba(255,255,255,0.8); padding:0.5rem;">
<svg style="width:2rem; height:2rem;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" /></svg>
</button>
<img id="lightbox-img" onclick="event.stopPropagation()">
</div>
<script>
(function() {
var preview = document.getElementById('hover-preview');
var previewImg = document.getElementById('hover-preview-img');
var previewCaption = document.getElementById('hover-preview-caption');
var hoverTimer = null;
var isPreviewActive = false;
var HOVER_DELAY = 350;
document.querySelectorAll('.academy-img-hover').forEach(function(img) {
img.addEventListener('mouseenter', function() {
var el = this;
hoverTimer = setTimeout(function() {
showPreview(el);
}, HOVER_DELAY);
});
img.addEventListener('mouseleave', function() {
clearTimeout(hoverTimer);
if (isPreviewActive) {
hidePreview();
}
});
});
function showPreview(el) {
previewImg.src = el.src;
previewImg.alt = el.alt || '';
var caption = el.alt || '';
var nextP = el.parentElement && el.parentElement.querySelector('p');
if (nextP) caption = nextP.textContent;
previewCaption.textContent = caption;
preview.classList.add('is-active');
isPreviewActive = true;
}
function hidePreview() {
preview.classList.remove('is-active');
isPreviewActive = false;
}
window.openLightbox = function(el) {
var lb = document.getElementById('lightbox');
var img = document.getElementById('lightbox-img');
img.src = el.src;
img.alt = el.alt;
lb.classList.add('is-open');
document.body.style.overflow = 'hidden';
hidePreview();
};
window.closeLightbox = function() {
var lb = document.getElementById('lightbox');
lb.classList.remove('is-open');
document.body.style.overflow = '';
};
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape') {
if (isPreviewActive) hidePreview();
closeLightbox();
}
});
})();
</script>
@endsection