جلسهٔ Sprint Retrospective می‌تواند تخته‌ای پر از یادداشت، رأی و Action Item تولید کند و با این حال هیچ یادگیری قابل‌بررسی نسازد. تعداد برگه‌ها، مشارکت ظاهری یا قول «اسپرینت بعد بهتر می‌شویم» نشان نمی‌دهد تیم چه چیزی را مشاهده کرده، کدام تفسیر هنوز Hypothesis است، چه تغییر کوچکی را آزمایش می‌کند، پیامد جانبی را چگونه می‌سنجد و در چه تاریخی دربارهٔ Adopt، Adapt یا Stop تصمیم می‌گیرد.

این راهنما رترواسپکتیو را به «جلسهٔ QA» یا کارخانهٔ اقدام تبدیل نمی‌کند. یک Contract عملی می‌سازد که در آن Scrum Team، Sprint گذشته را با Baseline درست بازرسی می‌کند، Observation را از Cause جدا نگه می‌دارد، یک Hypothesis ابطال‌پذیر می‌سازد و Improvement را مانند Experiment محدود و برگشت‌پذیر دنبال می‌کند. نتیجه، وعدهٔ کیفیت نیست؛ یک حلقهٔ یادگیری با Evidence، Guardrail، Review date و Decision روشن است.

مسیر کوتاه: Retro قابل‌آزمون در هفت گام

گامپرسشخروجی حداقلی
Baselineدقیقاً کدام Sprint و سیاست‌ها را بازرسی می‌کنیم؟Sprint/Goal/Backlog/DoD/Workflow/Cutoff
Observeچه اتفاقی، کجا و چه زمانی دیده شد؟Observation با Source
Interpretچه توضیح‌های رقیبی داریم؟Hypothesis + Falsifier
Chooseکدام اهرم در اختیار تیم است؟Option/Constraint/Authority
Experimentچه تغییر کوچک و برگشت‌پذیری را امتحان می‌کنیم؟Prediction + Owner + Window
Measureچه Signal و Guardrailی را با چه تعریف می‌سنجیم؟Baseline/Measure/Guardrail
Reviewچه زمانی Adopt، Adapt یا Stop می‌کنیم؟Evidence + Decision + Follow-up

اگر وقت کم است، یک Observation معتبر، یک Hypothesis صریح و یک Experiment قابل‌بازگشت از ده‌ها شکایت و سه اقدام مبهم ارزشمندتر است. محدودکردن Work in Progress به خودِ بهبودها نیز ضروری است؛ تیمی که هر Sprint پنج تغییر هم‌زمان می‌دهد، بعداً نمی‌داند کدام تغییر چه اثری داشته است.

خط مبنای رسمی Scrum: Retrospective دقیقاً برای چیست؟

در راهنمای رسمی Scrum، هدف Sprint Retrospective برنامه‌ریزی راه‌هایی برای افزایش کیفیت و اثربخشی است. Scrum Team بررسی می‌کند Sprint گذشته از نظر افراد، تعامل‌ها، فرایندها، ابزارها و Definition of Done چگونه پیش رفت؛ فرض‌هایی را که تیم را گمراه کرده‌اند بررسی می‌کند؛ تغییرهای سودمند را شناسایی می‌کند و اثرگذارترین بهبودها را در اولین فرصت پی می‌گیرد. این بهبودها حتی می‌توانند به Sprint Backlog بعدی افزوده شوند.

  • Retrospective آخرین رویداد Sprint است و برای Sprint یک‌ماهه حداکثر سه ساعت Timebox دارد؛ برای Sprint کوتاه‌تر معمولاً کوتاه‌تر است.
  • اعضای Scrum Team عبارت‌اند از Product Owner، Scrum Master و Developers؛ Scrum درون تیم نقش فرعی Tester یا QA تعریف نمی‌کند.
  • سه سؤال «چه خوب بود/چه بد بود/چه کنیم» قانون Scrum نیست؛ Start–Stop–Continue، Sailboat و Mad–Sad–Glad نیز Technique اختیاری‌اند.
  • Scrum تعداد Action Item، رأی‌گیری، حضور مدیر، ابزار تخته یا هدف پوشش تست تعیین نمی‌کند.
  • راهنما وعده نمی‌دهد که برگزاری Retro خودبه‌خود کیفیت محصول، رضایت مشتری یا عملکرد تیم را بالا می‌برد.

Retrospective چیست و چه چیزی نیست؟

Artifact/رویدادموضوع بازرسیخروجیRetro نیست چون…
Sprint ReviewOutcome و Increment در محیط تغییرکردهFeedback و Product Backlog adaptationروی محصول و آیندهٔ آن متمرکز است
Daily Scrumپیشرفت به Sprint GoalPlan روز بعد/Sprint Backlog adaptationحلقهٔ روزانهٔ جریان کار است
Defect TriageFinding/Defect مشخصDisposition/Priority/Ownerصف نقص را اداره می‌کند
RCA/Postmortemرخداد یا Failure مهممدل علّی و اقدام سیستمیتحقیق عمیق مستقل می‌خواهد
Performance reviewکار فردارزیابی شغلیریسک بین‌فردی و اختیار متفاوت دارد
Sprint Retrospectiveنحوهٔ کار Scrum Team در Sprintبهبود/Experiment قابل‌پیگیرینه دادگاه، نه گزارش QA و نه Release gate

مرور محصول و Retro مکمل‌اند اما «What در برابر How» تنها یک میان‌بر آموزشی است. Retro می‌تواند دربارهٔ DoD و شیوهٔ ساخت Increment بحث کند و Review می‌تواند تغییر محیط و روش استفاده را آشکار کند. مرز عملی این است: Sprint Review Outcome و جهت محصول را با ذی‌نفعان بازرسی می‌کند؛ Retro نحوهٔ کار خود Scrum Team را برای افزایش کیفیت و اثربخشی بازرسی می‌کند.

مالکیت محتوایی این راهنما: Retrospective Experiment Contract

Current Sprint Baseline
  -> Observation Registry
  -> Pattern / Tension / Bright Spot
  -> Competing Hypotheses
  -> Bounded Improvement Option
  -> Experiment + Prediction
  -> Measure + Guardrail + Stop Rule
  -> Review Evidence
  -> Adopt | Adapt | Stop | Escalate
  -> Learning Record / Next Sprint Backlog

این حلقه عمداً «Problem→Solution→Owner» نیست. ابتدا واقعیت از تفسیر جدا می‌شود؛ سپس توضیح‌ها به‌عنوان فرضیه رقابت می‌کنند؛ در پایان یک تغییر کوچک برای تولید Evidence انتخاب می‌شود. Owner مسئول هماهنگی Experiment است، نه مقصرِ مسئله و نه تنها فرد مسئول کیفیت.

Contract خط مبنا: Retro کدام Sprint را می‌بیند؟

فیلدنمونهچرا لازم است؟
Retro/Sprint IDRETRO-17 / S17جلوگیری از ترکیب Sprintها
Sprint GoalSG-17فهم Context تصمیم‌ها
Sprint Backlog snapshotSB-D4Scope و Plan واقعی
DoD/WorkflowDOD-v4 / FLOW-v2معنای Done و Signal
Increment/Build/EnvironmentINC-B17 / B17 / ENV7اتصال Observation فنی
Facts cutoff2026-08-12T13:30:00Zمرز تازگی داده
Participant scopeSCRUM-TEAM-ST17شفافیت دیدگاه‌های حاضر/غایب
Prior experimentE0/decision pendingبستن حلقهٔ قبلی
retroBaseline:
  retroId: RETRO-17
  sprintId: S17
  sprintGoal: SG-17
  sprintBacklogSnapshot: SB-D4
  definitionOfDone: DOD-v4
  workflowPolicy: FLOW-v2
  increment: INC-B17-DONE
  build: B17
  environment: ENV7
  factsCutoff: 2026-08-12T13:30:00Z
  participantScope: SCRUM-TEAM-ST17

Observation، Interpretation و Judgment را مخلوط نکنید

عبارتنوعبازنویسی امن‌تر
«تستر دیر شروع کرد.»نسبت‌دهی فردی/تفسیر۳ از ۸ آیتم بیش از ۴ ساعت در ready-for-verify ماندند.
«محیط تست همیشه خراب است.»تعمیمENV7 در Runهای R4 و R7 پاسخ health-check نامعتبر داد.
«علت باگ، Unit Test کم بود.»ادعای علّیFailure F12 رخ داد؛ رابطهٔ آن با Test portfolio هنوز Hypothesis است.
«Pairing جواب داد.»نتیجه بدون Baselineدر Window آزمایشی، Age طبق تعریف v2 تغییر کرد؛ Alternative explanationها باقی‌اند.
«تیم مسئولیت‌پذیر نیست.»برچسب هویتیبرای ۲ Action قبلی Owner/Review date ثبت نشده بود.

Observation باید تا حد امکان Subject، Source، زمان، Context و limitation داشته باشد. این سخت‌گیری به معنی حذف تجربهٔ انسانی نیست. یک تجربه یا احساس نیز داده است، اما نوع Source آن باید «self-report» یا «participant observation» باشد؛ نه اینکه بدون بررسی به واقعیت عمومی یا علت قطعی تبدیل شود.

Observation Registry: قالبی برای واقعیت، تجربه و محدودیت

observation:
  id: O1
  type: workflow-signal | event | self-report | bright-spot
  subject: ready-for-verify items in S17
  source: FLOW-S17 | participant-p3
  observedAt: 2026-08-12T09:10:00Z
  context: FLOW-v2, 8 eligible items
  statement: 3 items aged more than 4 team-hours
  limitation: small window; shared-stage outage overlaps
  interpretation: none
  privacyClass: team-aggregate
  • Observationهای تکراری را با `duplicateOf` وصل کنید؛ تعداد رأی یا تکرار، صحت Cause را اثبات نمی‌کند.
  • Bright Spot را نیز ثبت کنید: رفتاری که در Context مشخص نتیجهٔ مطلوب داشت، نه فقط مشکل.
  • Unknown و Missing Perspective را آشکار کنید؛ سکوت افراد به معنی موافقت نیست.
  • دادهٔ فردی را فقط وقتی ضروری، مجاز و کمینه است وارد کنید؛ Signal تیمی را به رتبه‌بندی افراد تبدیل نکنید.

Timeline برای ترتیب رویداد است، نه اثبات علت

یک Timeline سبک می‌تواند تغییر Requirement، آماده‌شدن Data، Failure محیط، Handoff و Evidence را کنار هم بگذارد. تقدم زمانی شرط لازم برخی روابط علّی است، اما کافی نیست. اگر قطعی محیط قبل از تأخیر رخ داده، هنوز باید توضیح‌های دیگری مانند Scope change، WIP، Dependency یا تعریف مبهم Finish بررسی شوند.

InstantEventSourceKnownUnknown
08:00ZP2 ready-for-verifyFLOW-S17State transitionدلیل صف
08:20ZStage access deniedENV-E12Access failureدامنهٔ اثر
12:30ZFirst accepted EvidenceEV-P2-B17Age=۴.5h طبق v2Counterfactual بدون outage

Signal بدون Definition فقط عدد است

عبارت‌هایی مانند «زمان تست زیاد شد»، «باگ بالا رفت» یا «پوشش کم است» Population، Unit، Window و Policy ندارند. برای هر Signal بنویسید چه چیزی وارد مخرج می‌شود، Start/Finish چیست، داده از کدام Snapshot آمده، Missing و Outlier چگونه رفتار می‌کنند و آیا تعریف در طول Experiment ثابت مانده است.

signalDefinition:
  id: SIG-READY-AGE-v2
  name: ready-to-verify age
  population: items entering ready-for-verify in S17
  start: FLOW-v2 transition timestamp
  finish: first accepted evidence for same item/build
  unit: team-hour
  statistic: median + raw distribution
  exclusions: cancelled items, declared data errors
  missing: reported, never silently dropped
  purpose: inspect flow; not individual performance

امنیت روانی: شرط مفید یادگیری، نه شعار یا تضمین

پژوهش کلاسیک Amy Edmondson، امنیت روانی تیم را باور مشترک به امن‌بودن ریسک‌پذیری بین‌فردی تعریف و در مطالعه‌ای چندروشی روی ۵۱ تیم تولیدی، ارتباط آن را با رفتار یادگیری گزارش کرد. این مطالعهٔ اولیهٔ Psychological Safety and Learning Behavior پشتوانه‌ای برای توجه به Speak-up و بحث خطاست؛ اما اثبات نمی‌کند یک تمرین، Prime Directive، تختهٔ ناشناس یا حذف مدیر در هر سازمانی امنیت می‌سازد یا کیفیت نرم‌افزار را تضمین می‌کند.

نشانهٔ عملیکنترلچیزی که اثبات نمی‌کند
امکان مخالفت با Cause غالبRound مستقل و Hypothesis رقیبنبود ترس پنهان
امکان Pass کردناجبارنکردن به افشای تجربهرضایت یا موافقت
جداسازی داده از ارزیابی فردAggregate/role-safe viewsنبود سوءاستفادهٔ آینده
پذیرش اصلاح FacilitatorCorrection logبی‌طرفی کامل
مسیر خارج از RetroConfidential escalationحل‌شدن تعارض قدرت

Prime Directive و Blameless چه محدودیتی دارند؟

یک افتتاحیهٔ همدلانه می‌تواند Tone جلسه را بهتر کند، ولی جای Accountability، تحقیق یا محافظت سازمانی را نمی‌گیرد. Blameless یعنی تمرکز بر شرایط و رفتارهای قابل‌تغییر، نه حذف مسئولیت تصمیم یا نادیده‌گرفتن تخلف. اگر موضوع آزار، تلافی، امنیت، حریم خصوصی، تقلب یا تعارض حقوقی است، Retro عمومی محل حل کامل آن نیست؛ مسیر مجاز و محرمانهٔ سازمان لازم است.

از Hypothesis رقیب استفاده کنید، نه Root Cause فوری

ObservationHypothesis AHypothesis Bچه چیزی تفکیک می‌کند؟
Age تأیید بالا رفتBatch بزرگ بودStage access مانع شدSize-stratified age + access events
Reopen بیشتر شدOracle مبهم بودBuild identity گم شدFinding sample + lineage audit
Regression طولانی شدSuite کند استFailure triage صف ساختهruntime distribution + triage wait
Feedback کم بودTask نامرتبط بودریسک صحبت‌کردن بالا بودanonymous pulse + interview، با محدودیت
hypothesis:
  id: H1
  observationRefs: [O1, O2]
  statement: a daily bounded pair window may reduce queue age
  mechanism: oldest eligible item receives missing capability earlier
  competing: stage access is dominant constraint
  confidence: PLAUSIBLE
  falsifier: no age change in two windows or guardrail worsens
  unknowns: small n, outage overlap, item mix

Action Item را به Improvement Experiment تبدیل کنید

Action مبهمExperiment قابل‌آزمون
«تست را زودتر شروع کنیم.»برای قدیمی‌ترین آیتم eligible، روزانه یک Pair window سی‌دقیقه‌ای طی S18؛ Prediction، Measure و Guardrail مشخص.
«پوشش را ۷۵٪ کنیم.»برای Risk R2، سه Mutation survivor را با Testهای هدفمند بررسی کنیم؛ Guardrail زمان نگهداری و false confidence.
«ابزار جدید بخریم.»PoC آفلاین روی Fixture نماینده؛ Exit/rollback و هزینهٔ مهاجرت ثبت شود.
«ارتباط بهتر شود.»یک Handoff contract برای P1/P2؛ completeness و delay با تعریف ثابت بررسی شود.
«QA مسئول پیگیری است.»Experiment steward هماهنگ می‌کند؛ Scrum Team در Review تصمیم می‌گیرد.

قالب Improvement Experiment

experiment:
  id: E1
  hypothesisRef: H1
  change: 30-minute daily pair on oldest ready-for-verify item
  scope: S18, eligible FLOW-v2 items only
  prediction: median age 4.2h -> 2.5..3.5h
  baseline: S17 median=4.2 team-hour, n=8
  measure: SIG-READY-AGE-v2 + raw distribution
  guardrail: confirmation rework rate <= baseline + 5pp
  access/privacy: team aggregate; no individual ranking
  steward: experiment-steward-a
  decisionOwner: SCRUM-TEAM-ST17
  reviewAt: 2026-08-27T10:00:00Z
  rollback: access incident or guardrail breach
  disposition: ADOPT | ADAPT | STOP | EXTEND_WITH_REASON

Measure و Guardrail باید با هم حرکت کنند

اگر تنها Measure کاهش زمان باشد، تیم ممکن است با کوچک‌کردن Scope، حذف بررسی دشوار یا انتقال کار به صف پنهان عدد را بهتر کند. Guardrail پیامد ناخواسته را می‌بیند: Rework، Evidence gap، WIP بیرون از Workflow، بار شناختی، incident یا دسترسی. هر دو باید همان Window، Population و Policy را داشته باشند.

هدف محلیMeasureGuardrailCountermetric
کاهش صف تأییدAge distributionConfirmation reworkآیتم‌های خارج از Workflow
سریع‌ترشدن SuiteRuntime distributionRisk/Evidence obligationsSkipped/Quarantined tests
بهبود HandoffContract completenessPreparation effortShadow chat handoffs
افزایش مشارکت RetroPerspective coveragePass/anonymous optionForced speech/meeting load

اول Experiment قبلی را Review کنید

جلسه‌ای که هر بار اقدام تازه تولید می‌کند ولی سرنوشت اقدام قبلی را نمی‌خواند، Learning backlog می‌سازد. Review باید Planned change، actual exposure، Evidence، deviations، guardrail، unknown و تصمیم را جدا کند. «انجام شد» معادل «اثر کرد» نیست؛ «اثر هم‌زمان دیده شد» نیز لزوماً رابطهٔ علّی نیست.

experimentReview:
  experimentId: E0
  plannedWindow: S16..S17
  actualExposure: 5 of 8 eligible items
  measureResult: inconclusive
  guardrailResult: breached on rework
  deviations: stage outage, item-mix changed
  unknowns: counterfactual, small population
  decision: STOP
  rationale: guardrail breach; mechanism unsupported
  learningRef: LR-E0-01

Adopt، Adapt، Stop یا Extend؟

Dispositionشرطثبت لازم
ADOPTEvidence محدود با Prediction سازگار و Guardrail سالمPolicy/DoD/Workflow change authority
ADAPTMechanism محتمل، طراحی Experiment ضعیف یا Context تغییرکردهنسخهٔ تازه و تفاوت‌ها
STOPGuardrail نقض، Hypothesis تضعیف یا هزینه نامتناسبLearning و rollback
EXTENDExposure ناکافی و ادامه کم‌ریسکدلیل، Window تازه و سقف extension
ESCALATEConstraint بیرون اختیار تیمAuthority/Owner/next check/interface

محدودیت سیستمی را به «تیم بهتر تلاش کند» تبدیل نکنید

اگر Stage مشترک، سیاست دسترسی، Dependency بیرونی، ظرفیت پلتفرم یا تصمیم مدیریتی مسئله است، Scrum Team ممکن است اختیار حل کامل نداشته باشد. یک اقدام داخلی ساختگی، مسئله را پنهان می‌کند. Constraint را با Evidence، اثر، راه‌حل موقت، Authority لازم، Owner بیرونی و Next check ثبت کنید؛ هم‌زمان یک Experiment در محدودهٔ اختیار تیم انتخاب کنید.

systemicEscalation:
  id: ESC-1
  constraint: shared-stage-access
  evidenceRefs: [ENV-E12, O1]
  teamImpact: blocks accepted evidence for P2
  teamWorkaround: bounded local stub, fidelity limitation declared
  authorityNeeded: platform-owner-a
  requestedDecision: access window or isolated namespace
  nextCheck: 2026-08-20
  privacy/security: no credential copied into Retro record

نقش تستر در Sprint Retrospective چیست؟

متخصص تست یکی از دیدگاه‌های لازم دربارهٔ Basis، Data، Environment، Oracle، Evidence، Failure و Flow را می‌آورد؛ اما مدافع انحصاری کاربر، مالک کیفیت، گزارشگر باگ، تسهیل‌گر طبیعی یا صاحب راه‌حل نیست. در زبان Scrum، اگر این متخصص روی ساخت Increment کار می‌کند در accountability گستردهٔ Developers قرار می‌گیرد. کیفیت همچنان محصول تعامل کل Scrum Team و سیستم سازمانی است.

قابلیت تستمشارکت مفیدمرز
Evidence literacyروشن‌کردن Build/Run/Oracle/limitationتبدیل Result به حکم کیفیت ممنوع
Risk questioningپرسیدن Counterexample و Unknownپذیرش Risk اختیار خودکار QA نیست
Flow observationدیدن صف Data/Environment/confirmationمتریک فردی یا QA utilization نسازد
Experiment designPrediction، Fixture و Guardrailتصمیم تیم را مصادره نکند
Failure analysisEvidence اولیه و Hypothesis رقیبRetro را جای RCA نگیرد

برای مرزبندی مسئولیت، راهنمای مالکیت همگانی کیفیت و حق تصمیم را جداگانه ببینید. Shared responsibility نباید به «هیچ‌کس مسئول نیست» یا «QA پاسخ‌گوی همه چیز است» تبدیل شود.

Facilitator صاحب پاسخ نیست

  • Purpose، Timebox، Working agreement، privacy boundary و حق Pass را روشن کند.
  • Observation را پیش از رأی‌گیری از Interpretation جدا کند.
  • از افراد کم‌قدرت‌تر مسیر مشارکت هم‌زمان و ناهم‌زمان بسازد.
  • Hypothesis رقیب و Evidence مخالف را فعالانه دعوت کند.
  • Conversation را از شخص به رفتار/شرایط/سیستم برگرداند، بدون پاک‌کردن Accountability.
  • در پایان، Experiment/Owner/Review/Decision interface را بخواند؛ نه اینکه خودش Solution را تحمیل کند.

Scrum Master برای اثربخشی Scrum Team پاسخ‌گو و در رفع موانع و تسهیل رویدادها خدمت‌گزار است، اما راهنمای Scrum الزام نمی‌کند همیشه Facilitator همین فرد باشد. اگر Scrum Master یا هر عضو دیگری ذی‌نفع مستقیم موضوع است، Facilitation چرخشی یا فرد مورداعتماد می‌تواند تعارض را کاهش دهد؛ این یک انتخاب Contextual است.

Technique را با Outcome اشتباه نگیرید

Techniqueبرای چه مفید است؟ریسکخروجی بعدی
Start/Stop/Continueجمع‌آوری سریع رفتارهاStop می‌تواند اتهامی شودObservation validation
Sailboatهدف/باد/لنگر/ریسکاستعارهٔ مبهمtyped records
Mad/Sad/Gladتجربهٔ عاطفیافشای اجباریoptional self-report
Timelineترتیب رویدادتوهم علتcompeting hypotheses
Dot votingاولویت توجهقدرت/محبوبیت/تکرارdecision criteria
Five Whysکاوش اولیهیک زنجیرهٔ علّی ساختگیRCA اگر لازم است

رأی، Evidence یا تصمیم نیست

Dot vote می‌گوید کدام موضوع توجه بیشتری گرفته است؛ نه اینکه Observation درست، Cause قطعی، گزینه کم‌ریسک یا تصمیم مجاز است. رأی‌ها ممکن است با تکرار یادداشت، قدرت اجتماعی، ترتیب ارائه یا غیبت یک دیدگاه منحرف شوند. بعد از رأی، Eligibility، Risk، Authority، Evidence gap، برگشت‌پذیری و هزینه را بررسی کنید.

چه زمانی Retro را به RCA یا Postmortem وصل کنیم؟

Retro می‌تواند Signal یک Failure pattern را کشف کند، اما Timebox و Participant scope آن برای تحقیق علّی کامل کافی نیست. برای incident یا defect مهم، یک Investigation با سؤال، Evidence preservation، timeline، فرضیه‌ها، کنترل دسترسی و Owner بسازید و نتیجهٔ معتبرش را بعداً به Experiment برگردانید. راهنمای مستقل تحلیل علت ریشه‌ای از شواهد تا اقدام و Postmortem رخداد بحرانی این عمق را مالک‌اند.

Defect count ورودی بحث است، نه نمرهٔ QA

تعداد Bug به‌تنهایی Exposure، Search effort، Scope، Severity، duplicate، detection phase یا Opportunity را ندارد. افزایش Finding ممکن است از جست‌وجوی بهتر، تغییر محصول یا خرابی بیشتر آمده باشد. Retro نباید آن را به ارزیابی فرد، اثربخشی QA یا کیفیت محصول تبدیل کند. برای خودِ صف نقص، از پروتکل Triage تا Closure استفاده کنید.

Quality و Effectiveness را عملیاتی اما محدود تعریف کنید

عبارتپرسش عملیاتیClaim مجازClaim ممنوع
کیفیتکدام Risk/Outcome/Evidence/DoD؟Evidence obligation R2 زودتر فراهم شدکیفیت ۲۰٪ بالا رفت
اثربخشیبرای کدام Goal و trade-off؟صف محلی طبق تعریف v2 کاهش یافتتیم مؤثرتر شد
یادگیریکدام Hypothesis تغییر کرد؟H1 تضعیف و E1 متوقف شدفرهنگ یادگیری ساخته شد
امنیت روانیچه امکان/ریسک گفت‌وگویی؟کانال Pass و anonymous فراهم شدجلسه کاملاً امن بود

تغییر Definition of Done یک ویرایش بی‌صدا نیست

Retro ممکن است نیاز به تغییر DoD را آشکار کند، اما تیم باید استانداردهای سازمانی، سطح اختیار، اثر روی Incrementهای آینده، توان اجرا، Transition و تاریخ مؤثر را بررسی کند. حذف یک کنترل برای «سریع‌ترشدن» یا افزودن ده الزام بدون ظرفیت، هر دو می‌توانند Transparency را خراب کنند. Proposal، approver/authority، effective version و migration را ثبت کنید.

بهبود را در Sprint Backlog مرئی کنید

راهنمای Scrum اجازه می‌دهد اثرگذارترین بهبودها به Sprint Backlog بعدی افزوده شوند. این به معنی سهمیهٔ ثابت، Story Point اجباری یا تعهد به همهٔ Actionها نیست. Work لازم—آماده‌سازی Fixture، اجرای Experiment، جمع‌آوری داده، Review و rollback—را در Plan قابل‌مشاهده کنید تا «کار واقعی محصول» آن را پنهان نکند. انتخاب نهایی Sprint Backlog مطابق مسئولیت Developers در Sprint Planning شواهدمحور باقی می‌ماند.

مرز Retro با Daily Scrum و Feedback

Signalهمین امروزدر Retroمسیر تخصصی
Blocker جاریPlan را در Daily تطبیق دهیدPattern/شرایط را بررسی کنیدEscalation
Evidence gapPair/Swarm/Re-sequenceMechanism و policy را آزمایش کنیدTest strategy/DoD
Feedback بین‌فردیاگر امن است مستقیم Repair کنیدPattern تیمی، نه محاکمهConfidential support
Defect بحرانیTriage/containmentLearning interfaceRCA/Postmortem

برای حلقهٔ روزانه، Daily Scrum مبتنی بر Evidence Flow و برای ادعای بین‌فردی، Feedback از Claim تا Repair را ببینید. نگه‌داشتن همهٔ تنش‌ها تا پایان Sprint، بازخورد را کند و ریسک را بیشتر می‌کند.

آزمایش تکرارپذیر: آیا یادداشت، رأی و Owner کافی است؟

Fixture کاملاً ساختگی SYN-SPRINT-RETRO-EXPERIMENT-01 هشت یادداشت، هشت رأی و سه Action دارای Owner/Due دارد؛ کنترل سطحی `PASS` می‌دهد. Validator مستقل سپس Baseline، Observation، Hypothesis، Experiment، Guardrail، Review و Escalation را بررسی می‌کند. داده به تیم، شرکت یا ابزار واقعی مربوط نیست.

Fixture معیوب در برابر Contract

بعدContractDraft
Sprint/GoalS17/SG-17S16/SG-16
Backlog/DoD/WorkflowSB-D4/DOD-v4/FLOW-v2SB-D2/DOD-v3/FLOW-v1
Cutoff/participantsصریحخالی
ObservationSource/time/definition/populationCause، فرد، duplicate و O99
HypothesisLinks/falsifier/PLAUSIBLEبدون Link، PROVEN
Experiment E1Prediction/baseline/measure/guardrail/rollback/review«افزایش پوشش»
Experiment E2کوچک و برگشت‌پذیرخرید ابزار/حذف فرایند
ClosurePrior review + escalationهردو غایب

خروجی اجرای مستقل Validator

fixture: SYN-SPRINT-RETRO-EXPERIMENT-01
runtime: Node.js v26.7.0
superficial: PASS | notes=8 | votes=8 | actions=3

auditedDraft: HOLD
findings (31):
1 wrong-sprint:S16->S17
2 wrong-sprint-goal:SG-16->SG-17
3 stale-sprint-backlog:SB-D2->SB-D4
4 stale-dod:DOD-v3->DOD-v4
5 stale-workflow:FLOW-v1->FLOW-v2
6 missing-facts-cutoff
7 missing-participant-scope
8 O1-missing-source
9 O1-missing-observed-at
10 O1-observation-asserts-cause
11 O2-missing-signal-definition
12 O2-missing-population
13 O2-unsafe-individual-attribution
14 duplicate-observation:O2
15 duplicate-O2-missing-source
16 unknown-observation:O99
17 H1-missing-observation-links
18 H1-missing-falsifier
19 H1-anecdote-marked-proven
20 E1-missing-prediction
21 E1-missing-baseline
22 E1-missing-measure
23 E1-missing-guardrail
24 E1-missing-rollback-trigger
25 E1-missing-review-date
26 E1-missing-decision-owner
27 E2-solution-without-hypothesis
28 E2-irreversible-change
29 E2-missing-stop-condition
30 prior-experiment-not-reviewed
31 systemic-constraint-not-escalated

corrected: READY_FOR_EXPERIMENT_REVIEW | findings=0

نسخهٔ اصلاحی چه چیزی را درست کرد؟

نسخهٔ اصلاحی S17/SG-۱۷/SB-D4/DOD-v4/FLOW-v2 و Cutoff/Participant scope را قفل کرد؛ O1/O2 را با Source، زمان، تعریف و Population ثبت کرد؛ نسبت‌دهی فردی و Cause قطعی را حذف کرد؛ H1 را `PLAUSIBLE` با Falsifier نگه داشت؛ E1 را به Pair window سی‌دقیقه‌ای، Prediction ۲.۵..۳.5h، Baseline ۴.۲ team-hour، Measure ثابت، Rework guardrail، rollback و Review date وصل کرد؛ E0 را `STOP` و Constraint دسترسی را `ESC-۱` کرد.

`READY_FOR_EXPERIMENT_REVIEW` فقط می‌گوید رکورد ساختاری برای بازبینی آماده است. این نتیجه صحت Source، کفایت Population، رابطهٔ علّی، بهترشدن تیم، افزایش کیفیت، امنیت روانی، موفقیت Sprint یا مناسب‌بودن تصمیم را اثبات نمی‌کند. دو نقص نخست Validator که حین توسعه پیدا و اصلاح شدند نیز یادآوری می‌کنند خودِ کنترل‌ها باید با Fixture سالم و معیوب آزموده شوند.

آزمایشگاه فارسی و آفلاین برای تیم ایرانی

دامنهٔ تمرینی یک Checkout خیالی و کاملاً جدا از شبکه است: Order، PaymentAttempt، PSP Stub، Callback، Ledger، Reconciliation و Notification. سناریوهای timeout پیش/پس از commit ساختگی، retry، callback تکراری/دیر/جابجا، اختلاف نمایش IRR/تومان، رقم فارسی/عربی/لاتین، Unicode و RTL/LTR فقط Fixture آموزشی‌اند. هیچ شرکت، کاربر، پرداخت، بانک، PSP، حساب یا پول واقعی در کار نیست.

کنترلقاعدهٔ Lab
IdentityTenant/Order/Attempt/Event/Ledger/Run/Build/Evidence جدا
MoneyIRR خیالی Canonical؛ تومان فقط View صریح
Digits/RTLمقایسهٔ فارسی/عربی/لاتین و کنترل bidi
TimeUTC instant + Asia/Tehran view؛ جلالی فقط Presentation
Networkکاملاً disconnected؛ PSP Stub محلی
Secretsبدون PAN/CVV2/OTP/cookie/token/credential
Peopleبدون نام/موبایل/ایمیل/IP واقعی
Claimبدون ادعای بانکی/مالی/حقوقی/مالیاتی/امنیتی/حریم خصوصی ایران

نمونهٔ Experiment در Checkout ساختگی

فیلدمقدار خیالی
Observationبرای ۳ از ۸ Attempt، Reconciliation Evidence دیرتر از Window محلی ثبت شد
Hypothesisنامشخص‌بودن Event/Attempt correlation شروع بررسی را عقب می‌اندازد
Experimentنمایش correlation ID ساختگی در Harness برای یک Sprint
Predictionmedian locate-time از ۱۸ به ۱۰..۱۴ دقیقه
Guardrailهیچ Secret/PII وارد Evidence نشود؛ false-match افزایش نیابد
Stopprivacy breach، false-match یا نبود تغییر در Window
Claim limitفقط دربارهٔ Fixture محلی؛ نه Production یا تیم واقعی

Retro راه دور و Async بدون حذف صداهای کم‌قدرت

  • Prompt و Baseline را پیشاپیش بدهید، اما Noteها را قبل از Window توافق‌شده تحلیل نکنید.
  • ورودی ناشناس را فقط اگر ابزار و فرایند واقعاً anonymity را حفظ می‌کنند «ناشناس» بنامید؛ pseudonymous را اشتباه معرفی نکنید.
  • روش Text، صوت، Caption، keyboard-only و زمان فکرکردن مستقل فراهم کنید؛ ویدئو را اجباری نکنید.
  • رأی‌های Async را با Participant scope و cutoff ثبت کنید و دیدگاه غایب را Unknown نگه دارید.
  • Decision را در کانال خصوصی گم نکنید؛ Experiment record و Review date باید مقصد مشترک داشته باشد.

دسترسی‌پذیری، امنیت و حریم خصوصی Retro

ریسککنترل
رنگ تنها معنای رأی/گروهLabel، Pattern و متن جایگزین
تختهٔ غیرقابل keyboardOutline/Table معادل و ترتیب Focus
اسکرین‌شات Dashboardکمینه‌سازی و Redaction؛ ترجیح Record ساختاری
ذخیرهٔ شکایت شخصیPurpose/Access/Retention/Deletion روشن
Secret در Log/NoteReference امن، نه Copy
Export به VendorData classification و قرارداد/محل داده
Retention بی‌انتهاExpiry و Learning record کمینه

AI در Retrospective: دستیار طبقه‌بندی، نه داور تیم

AI می‌تواند با دادهٔ مجاز، خلاصهٔ پیشنهادی، duplicate candidate، Hypothesis رقیب یا missing-field بسازد. نباید احساس، قصد، مقصر، عملکرد فرد، Cause یا «سلامت تیم» را استنتاج کند. متن ورودی/خروجی، مدل/نسخه، زمان، دسترسی، redaction و reviewer را ثبت کنید؛ Raw note حساس را بی‌اجازه به سرویس بیرونی نفرستید؛ و هر Participant باید بتواند نسبت به خلاصهٔ منتسب به خود Correction بخواهد.

نقش‌ها و حق تصمیم در حلقهٔ بهبود

Capability/Accountabilityکارحق تصمیم محدود
Scrum TeamInspect و انتخاب بهبودExperiment در اختیار تیم
DevelopersPlan و Sprint Backlogنحوهٔ اجرای Work
Product OwnerProduct Goal/Backlog contextProduct Backlog ordering
Scrum Masterاثربخشی Scrum/رفع مانع/Facilitationنه حکم Cause یا ارزیابی فرد
Experiment stewardهماهنگی Exposure/Evidence/Reviewنه مالک انحصاری Improvement
External authorityConstraint سازمانیمطابق Governance
HR/Security/Legalمسیر تخصصی حساسخارج از رأی Retro

متریک‌های سلامت Retro و Countermetricها

متریکتعریفCountermetric/هشدار
Closure rateExperimentهای دارای Disposition / واجد Reviewبسته‌شدن صوری
Observation lineageObservationهای دارای Source/Contextبوروکراسی و حذف self-report
Hypothesis diversityموضوع‌های دارای توضیح رقیبتولید مصنوعی گزینه
Guardrail completenessExperimentهای دارای پیامد جانبیGuardrail بی‌معنا
Experiment WIPبهبودهای فعال هم‌زمانکمبود یادگیری یا overload
Perspective coverageنوع دیدگاه‌های حاضر/غایباجبار به حرف‌زدن
Escalation ageزمان تا پاسخ Authorityرتبه‌بندی فردی

هیچ‌یک KPI بهره‌وری فردی یا نمرهٔ تیم نیست. مقایسهٔ تیم‌ها با Closure rate یا تعداد Action، زمینه و سختی Constraint را حذف و Gaming ایجاد می‌کند. برای سوگیری مخرج، Proxy و Goodhart، راهنمای تله‌های معیارهای تست را جداگانه استفاده کنید.

۲۸ ضدالگوی Sprint Retrospective

  1. QA Retro جدا از Scrum Team برای مسائل مشترک
  2. تستر به‌عنوان مالک کیفیت یا مدافع انحصاری کاربر
  3. سه سؤال به‌عنوان قانون Scrum
  4. یک قالب ثابت برای هر Context
  5. تعداد Note/رأی به‌عنوان موفقیت
  6. Dot vote به‌عنوان Evidence
  7. رأی اکثریت به‌عنوان Cause
  8. نسبت‌دادن Signal تیمی به فرد
  9. آوردن Performance review به Retro
  10. Observation بدون Source/زمان
  11. Timeline به‌عنوان اثبات علت
  12. Five Whys با یک زنجیرهٔ قطعی
  13. حل Incident پیچیده در Timebox Retro
  14. هدف پوشش تست بدون Risk/Population
  15. Bug count به‌عنوان نمرهٔ QA
  16. Action بدون Hypothesis
  17. Action بدون baseline/prediction
  18. Experiment بدون guardrail
  19. تغییر برگشت‌ناپذیر به‌عنوان آزمایش
  20. Owner به‌عنوان مقصر
  21. سه اقدام تازه بدون Review قبلی
  22. Done شدن Action برابر اثرگذاری
  23. پنهان‌کردن Constraint بیرون تیم
  24. تغییر خاموش DoD/Workflow
  25. اجبار ویدئو یا صحبت‌کردن
  26. ادعای anonymity کاذب
  27. ورود Note حساس به AI/Vendor
  28. ادعای تضمین کیفیت، فرهنگ یا امنیت روانی

Pilot سی‌روزه برای تبدیل Action به Experiment

بازهکارExit محدود
روز ۱–۳Purpose، privacy، Baseline و prior actionsContract مرورشده
روز ۴–۷Observation Registry روی یک SprintSource/Unknown/duplicate روشن
روز ۸–۱۰دو Hypothesis رقیب و OptionFalsifier و authority روشن
روز ۱۱–۲۴یک Experiment کوچکExposure/Measure/Guardrail ثبت
روز ۲۵–۲۷Review Evidence و deviationsبدون quality claim
روز ۲۸–۳۰Adopt/Adapt/Stop/EscalateLearning record و next check

Pilot موفق یعنی تیم یک حلقه را با Records قابل‌بازبینی بسته و مضرات را دیده است؛ نه اینکه عددی الزاماً بهتر شود. اگر هزینهٔ ثبت از ارزش تصمیم بیشتر است، Contract را کوچک کنید. اگر موضوع حساس است، Pilot را متوقف و مسیر امن‌تری انتخاب کنید.

چک‌لیست بازبینی Retrospective Experiment

  • Purpose/Retro/Sprint/Goal/Backlog/DoD/Workflow/Cutoff/participant scope نسخه‌دار است.
  • Experiment قبلی Evidence، deviation، guardrail و Disposition دارد.
  • Observation از Interpretation، Cause، Judgment و Solution جداست.
  • Source/time/context/population/limitation و Unknown ثبت شده‌اند.
  • duplicate، missing perspective و Correction قابل‌ردیابی‌اند.
  • دادهٔ فردی کمینه و از ارزیابی عملکرد جداست.
  • حق Pass، مسیر Async، accessibility و confidential escalation روشن است.
  • حداقل یک Hypothesis رقیب و Falsifier وجود دارد.
  • Option در اختیار تیم است یا Escalation interface دارد.
  • Experiment کوچک، محدود، برگشت‌پذیر و دارای Prediction است.
  • Measure تعریف ثابت، Baseline، Population، Unit و Window دارد.
  • Guardrail، rollback/stop و پیامد جانبی روشن‌اند.
  • Steward، decision owner، review date و Backlog reference ثبت‌اند.
  • Adopt/Adapt/Stop/Extend/Escalate با Evidence محدود تصمیم می‌شود.
  • نتیجه ادعای علت، کیفیت، عملکرد فرد، Sprint success یا امنیت روانی نمی‌سازد.
  • Secret/PII/log/screenshot خام و AI inference نامجاز وارد Record نشده است.
  • تغییر DoD/Policy فقط با Authority و نسخهٔ مؤثر اعمال می‌شود.
  • Learning record نگهداری/دسترسی/حذف معین دارد.

نقشهٔ مطالعهٔ مرتبط

برای محصول و ذی‌نفعان از Sprint Review، برای Plan روزانه از Daily Scrum، برای Scope اولیه از Sprint Planning، برای Defect از Triage، برای Cause از RCA/Postmortem، برای ادعای بین‌فردی از Feedback protocol و برای انگیزه/ساختار سازمانی از راهنمای فرهنگ کیفیت به‌عنوان سیستم رفتار و مشوق استفاده کنید. Retro باید Interface این کارها را نگه دارد، نه اینکه همه را در یک جلسه ادغام کند.

پرسش‌های متداول

آیا سه سؤال «چه خوب بود، چه بد بود، چه کنیم» در Scrum الزامی است؟

خیر. Scrum Guide هدف، موضوع بازرسی، Timebox و جایگاه Retrospective را مشخص می‌کند، نه این سه سؤال یا قالب Start–Stop–Continue. تیم می‌تواند Technique را متناسب با Context عوض کند؛ معیار بهتر این است که Observation معتبر، Hypothesis قابل‌بررسی و Improvement قابل‌پیگیری تولید شود.

آیا مدیر می‌تواند در Sprint Retrospective حاضر باشد؟

Retrospective رویداد Scrum Team است و Scrum Guide قانون عام «مدیر هرگز حاضر نباشد» ندارد. اگر مدیر عضو Scrum Team نیست، Purpose، رضایت تیم، اثر قدرت و محرمانگی باید پیش از دعوت روشن شود. برای موضوع حساس یا ارزیابی عملکرد، مسیر جدا مناسب‌تر است؛ حضور یک عنوان شغلی به‌تنهایی امنیت یا ناامنی را اثبات نمی‌کند.

چند Action Item باید از هر Retro خارج شود؟

عدد جهانی وجود ندارد. ظرفیت یادگیری، ریسک و WIP مهم‌تر از سهمیه است. اغلب یک Experiment کوچک با Owner، Prediction، Guardrail و Review date از چند Action هم‌زمان قابل‌آموختن‌تر است. ابتدا Experiment قبلی را ببندید و سپس Work تازه را در Sprint Backlog مرئی کنید.

آیا افزایش Code Coverage هدف خوبی برای Retro است؟

به‌تنهایی نه. درصد باید Population، ابزار، exclusion و Risk rationale داشته باشد و قدرت Oracle یا رفتار مهم را اثبات نمی‌کند. به‌جای «۶۰ به ۷۵٪»، یک Risk/Evidence gap مشخص را با Test design یا Mutation survivor هدف بگیرید و Guardrail هزینهٔ نگهداری و false confidence را ثبت کنید.

اگر تیم دربارهٔ علت اختلاف دارد، جلسه شکست خورده است؟

خیر. اختلاف می‌تواند Unknown واقعی را آشکار کند. Observation مشترک را ثبت، Hypothesisهای رقیب و Evidence تفکیک‌کننده را تعریف کنید و یک Experiment برگشت‌پذیر بسازید. رأی‌گیری برای قطعی‌کردن Cause مناسب نیست؛ اگر ریسک یا عمق بالاست، Investigation یا RCA جدا لازم است.

جمع‌بندی: Retro باید حلقهٔ یادگیری را ببندد

Sprint Retrospective با تختهٔ زیبا، رأی زیاد یا Action ownerدار موفق نمی‌شود. Baseline درست را قفل کنید؛ Observation، Interpretation و Cause را جدا نگه دارید؛ تجربهٔ انسانی را با نوع Source و محدودیتش حفظ کنید؛ Hypothesis رقیب بسازید؛ یک Improvement کوچک را با Prediction، Measure، Guardrail و rollback آزمایش کنید؛ Constraint بیرون تیم را Escalate کنید؛ و در موعد معین Adopt، Adapt یا Stop بگویید. این حلقه کیفیت و اثربخشی را تضمین نمی‌کند، اما ادعاها و تصمیم‌های بهبود را قابل‌بازبینی و یادگیری را قابل‌پیگیری می‌سازد.

دیدگاهتان را بنویسید