Files
2nd/10_Wiki/Topics/AI_and_ML/Axify.md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
10_Wiki/Topics 대규모 정리:
- 오류 캡처/미완성 stub 문서 227개 제거
- 교차폴더 중복 43클러스터 병합 (63파일 → redirect)
- 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건
- 카테고리 MOC 6개 신규 생성
- Graph 섹션 미해결 related-keyword 링크 10,058건 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:52:15 +09:00

7.7 KiB
Raw Blame History

id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id title category status canonical_id aliases duplicate_of source_trust_level confidence_score verification_status tags raw_sources last_reinforced github_commit tech_stack
wiki-2026-0508-axify Axify (Engineering Productivity Platform) 10_Wiki/Topics verified self
Axify
DORA dashboard
value stream mapping
engineering metrics
AI impact measurement
none B 0.85 applied
dora
devops-metrics
engineering-productivity
value-stream
ai-impact
axify
observability
2026-05-10 pending
language framework
SaaS Axify Platform

Axify

📌 한 줄 통찰

"매 engineering productivity 의 데이터화". 매 DORA + value stream + AI 도입 의 measure. 매 vanity metric (사용량) 의 X — 매 actual outcome (lead time, deploy freq) 의 track. 매 modern engineering leader 의 dashboard.

📖 핵심

매 product

  • 매 SaaS platform.
  • 매 engineering leader 의 target.
  • 매 DORA + VSM + AI impact.

DORA Metrics (4 key)

  1. Deployment Frequency: 매 production 의 deploy 빈도.
  2. Lead Time for Changes: 매 commit → prod 의 시간.
  3. Mean Time to Recover (MTTR): 매 incident 의 회복.
  4. Change Failure Rate: 매 deploy 후 의 incident 비율.

→ 매 Google "Accelerate" 책 의 5-year research.

DORA tier

Tier Deploy freq Lead time MTTR CFR
Elite On-demand <1 hr <1 hr 0-15%
High weekly-monthly 1 day-1 week <1 day 16-30%
Medium monthly 1 week-1 month <1 day 16-30%
Low <monthly 1-6 months >1 week 16-30%

Value Stream Mapping (VSM)

  • 매 idea → prod 의 entire flow.
  • 매 wait time vs work time.
  • 매 bottleneck identify.
  • 매 Kanban / Lean 의 origin.

Axify Intelligence

  • 매 LLM-powered analyst.
  • 매 generic LLM 가 X — 매 org 의 repo / pipeline / incident 의 학습.
  • 매 metric 변동 의 cause analysis.
  • 매 chatbot 의 query.

AI Impact 측정 (vs vanity metric)

Vanity (X) Real (✓)
매 PR 의 # 매 PR cycle time
매 AI 의 사용량 매 first review time
매 suggestion 의 # 매 acceptance rate
매 line 의 generated 매 deploy frequency
매 활성 user 매 lead time

매 integration

  • VCS: GitHub, GitLab, Bitbucket, Azure DevOps.
  • CI/CD: Jenkins, CircleCI, GitHub Actions.
  • Issue: Jira, Linear.
  • Chat: Slack, MS Teams.

매 case study

  • BDC: 매 51% deploy speed 향상.
  • Newforma: 매 22× deploy 의 frequency.

매 alternative

  • LinearB: similar.
  • Faros AI: data layer.
  • Code Climate Velocity: similar.
  • Sleuth: incident-focused.
  • Pluralsight Flow: open-source-friendly.

💻 패턴

DORA collection (custom)

from datetime import datetime, timedelta
from github import Github

g = Github('token')
repo = g.get_repo('org/repo')

def deployment_frequency(weeks=4):
    cutoff = datetime.now() - timedelta(weeks=weeks)
    deploys = [d for d in repo.get_deployments() 
               if d.created_at > cutoff and d.environment == 'production']
    return len(deploys) / weeks  # 매 deploys per week

def lead_time(weeks=4):
    cutoff = datetime.now() - timedelta(weeks=weeks)
    deploys = [d for d in repo.get_deployments() 
               if d.created_at > cutoff and d.environment == 'production']
    
    lead_times = []
    for d in deploys:
        commit = repo.get_commit(d.sha)
        lead_times.append((d.created_at - commit.commit.author.date).total_seconds() / 3600)
    
    return median(lead_times)  # hours

def mttr(weeks=4):
    cutoff = datetime.now() - timedelta(weeks=weeks)
    incidents = fetch_incidents(cutoff)  # 매 PagerDuty / Sentry / etc.
    return median(i.resolved_at - i.started_at for i in incidents).total_seconds() / 3600

def change_failure_rate(weeks=4):
    deploys = count_deploys(weeks)
    incidents = count_incidents(weeks, related_to_deploy=True)
    return incidents / deploys

Value Stream visualization

def value_stream_data(repo, weeks=4):
    cutoff = datetime.now() - timedelta(weeks=weeks)
    stages = {
        'idea_to_first_commit': [],
        'first_commit_to_pr': [],
        'pr_to_review': [],
        'review_to_merge': [],
        'merge_to_deploy': [],
    }
    
    for ticket in fetch_tickets(cutoff):
        commits = ticket.linked_commits()
        prs = ticket.linked_prs()
        deploys = ticket.linked_deploys()
        
        if commits and ticket.created_at:
            stages['idea_to_first_commit'].append(commits[0].time - ticket.created_at)
        # ... etc
    
    return {stage: median(times) for stage, times in stages.items()}

AI Impact measurement

def ai_review_impact(before_date, after_date):
    """매 AI 의 도입 전 / 후 의 metric 비교."""
    metrics = ['lead_time', 'pr_cycle_time', 'first_review_time', 
               'deploy_frequency', 'change_failure_rate']
    
    return {
        m: {
            'before': calculate(m, ref_date=before_date, window=4),
            'after': calculate(m, ref_date=after_date, window=4),
        }
        for m in metrics
    }

# 매 statistical significance check
def is_significant(before_samples, after_samples, alpha=0.05):
    from scipy import stats
    _, p = stats.ttest_ind(before_samples, after_samples)
    return p < alpha

Slack notification (DORA)

import slack_sdk

def post_weekly_dora():
    metrics = {
        'deploy_freq': deployment_frequency(),
        'lead_time_hours': lead_time(),
        'mttr_hours': mttr(),
        'cfr_pct': change_failure_rate() * 100,
    }
    
    text = f"""*Weekly DORA*
:rocket: Deploys: {metrics['deploy_freq']:.1f}/week
:stopwatch: Lead time: {metrics['lead_time_hours']:.1f}h
:wrench: MTTR: {metrics['mttr_hours']:.1f}h
:fire: CFR: {metrics['cfr_pct']:.1f}%"""
    
    slack_client.chat_postMessage(channel='#engineering', text=text)

Outcome > vanity check

def is_real_improvement(metric_before, metric_after, vanity_metric_change):
    """매 vanity 의 increase 가 매 real metric 의 improve?"""
    real_improvement = metric_after['lead_time'] < metric_before['lead_time']
    if vanity_metric_change > 0 and not real_improvement:
        return 'WARN: vanity-only — 매 사용량 ↑ 가, 매 lead time 의 변화 X'
    return 'OK' if real_improvement else 'NEUTRAL'

🤔 결정 기준

상황 Tool
Modern team Axify / LinearB
Open-source / DIY Custom DORA script
Incident-focused Sleuth
Data warehouse Faros AI
Manual GitHub Insights
Free tier Pluralsight Flow

기본값: DORA + VSM + AI impact 의 monthly review.

🔗 Graph

🤖 LLM 활용

언제: 매 engineering metrics 의 design. 매 AI tool 도입 의 ROI 의 measure. 매 productivity dashboard. 언제 X: 매 individual surveillance (toxic). 매 single metric goal (Goodhart).

안티패턴

  • Vanity metric 만: 매 사용량 ↑ 가, 매 outcome X.
  • Individual measure: 매 surveillance.
  • Single metric goal: 매 game.
  • No baseline: 매 before-after 비교 X.
  • Real-time alert 의 noise: 매 fatigue.
  • No statistical sig: 매 noise 의 trend mistake.

🧪 검증 / 중복

🕓 Changelog

날짜 변경
2026-04-18 Auto-mapped
2026-05-08 Phase 1
2026-05-10 Manual cleanup — DORA + VSM + AI impact + 매 GitHub API DORA collection code