GitHub Projects — loyiha boshqarish, Kanban board

~15 daq · Git · GitHub Imkoniyatlari

Muammodan boshlaylik

Issues (25-dars) bor — 60 ta ochiq. Lekin:

  • Qaysilari ustida hozir ishlanyapti?
  • Bu hafta nimani tugatishimiz kerak?
  • Kim nima bilan band, kim bo'sh?
  • Qaysi vazifa review kutib turibdi?

Issues ro'yxati — oddiy ro'yxat. Jamoaga kerak — ish holatining manzarasi: "rejalashtirilgan → jarayonda → review → tayyor". Buning uchun Trello yoki Jira o'rnatish shart emas — GitHub da Projects bor.


GitHub Projects nima?

Project — issue va PR larni turli ko'rinishlarda tartiblash vositasi:

  • Board — Kanban doska (ustunlar)
  • Table — elektron jadval kabi
  • Roadmap — vaqt chizig'i

Issue lar va PR lar repozitoriylarda yashaydi; Project ularni bir joyga yig'adi — hatto bir nechta repozitoriydan (masalan, frontend va backend).


Project yaratish

Profilingiz yoki tashkilot → Projects tabi → New project → shablon tanlash:

  • Board — Kanban
  • Team planning — jamoa rejalashtirish
  • Roadmap — reja
  • Yoki bo'sh

Keyin repozitoriyga bog'lash: repozitoriy → Projects tabi → Link a project.


Kanban board

┌─────────────┬─────────────┬─────────────┬─────────────┬─────────────┐
│  📋 Backlog │  📌 Todo    │ 🔨 Jarayonda│  👀 Review  │  ✅ Tayyor  │
├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
│ #95 Eksport │ #87 Qidiruv │ #91 Savat   │ #42 Manfiy  │ #38 Login   │
│ #96 Dark    │ #93 Email   │   @otabek   │   miqdor    │ #40 Logo    │
│     mode    │             │ #92 Chegirma│   PR #101   │             │
│             │             │   @malika   │             │             │
└─────────────┴─────────────┴─────────────┴─────────────┴─────────────┘
Ustun Ma'nosi
Backlog G'oyalar, keyinroq qilinadigan ishlar
Todo Yaqin vaqtda qilinadi — tayyor, aniq
Jarayonda Kimdir ishlayapti
Review PR ochilgan, review kutmoqda
Tayyor Merge qilingan / yopilgan

Kartochkalarni sudrab ustunlar orasida ko'chirasiz. + Add item — mavjud issue ni qo'shish (#87) yoki tezkor draft — keyinroq haqiqiy issue ga aylantiriladi.

[!TIP] "Jarayonda" ustuniga chegara qo'ying (masalan, kishi boshiga 2 ta). Bir vaqtda 10 ta vazifani boshlash — hech birini tugatmaslik. Kanban ning asosiy g'oyasi: yangisini boshlashdan oldin — tugating.


Maxsus maydonlar

Projects ning kuchi — issue ga o'z maydonlaringizni qo'shish (faqat shu project ichida):

Maydon turi Misol
Single select Status, Ustuvorlik (🔴 Yuqori / 🟡 O'rta / 🟢 Past), Hajm (S/M/L)
Number Taxminiy soatlar, story points
Date Muddat
Iteration Sprint 14 (2 haftalik davrlar)
Text Izoh

Standart maydonlar avtomatik: Assignees, Labels, Milestone, Repository, Linked PRs.


Ko'rinishlar (views)

Bitta ma'lumot — turli ko'rinishlar. Har biri — alohida tab:

Board — Status bo'yicha — kundalik ish uchun.

Table — guruhlangan:

Group by: Assignee       Sort by: Ustuvorlik       Filter: is:open

▼ @otabek (3)
   #91  Savat: miqdor tugmalari     🔴 Yuqori   Jarayonda   Sprint 14
   #87  Mahsulot qidiruvi           🟡 O'rta    Todo        Sprint 14
▼ @malika (2)
   #92  Chegirma kodlari            🔴 Yuqori   Jarayonda   Sprint 14

Roadmap — Date yoki Iteration maydoni bo'yicha vaqt chizig'i: qaysi ish qachon.

Filtrlar (25-darsdagi sintaksis):

assignee:@me status:"Jarayonda"
label:bug -status:Tayyor
iteration:@current

assignee:@me — "Mening ishlarim" ko'rinishi; har bir jamoa a'zosi uchun foydali.


Avtomatlashtirish

Project → ⋯ → Workflows — o'rnatilgan avtomatlashtirishlar:

  • Item added to project → Status = Todo
  • Item closed → Status = Tayyor
  • Pull request merged → Status = Tayyor
  • Auto-add to project — repozitoriydagi yangi issue lar (filtr bo'yicha, masalan label:bug) avtomatik qo'shiladi
  • Auto-archive items — 2 hafta oldin tugaganlarni arxivga

Natijada ko'p kartochkalar o'zi harakatlanadi: PR merge → issue yopiladi (Closes #91) → kartochka "Tayyor" ga. Qo'lda faqat "Jarayonda" ga o'tkazish qoladi.

Murakkabroq holatlar uchun — GitHub Actions va GraphQL API.


Kichik jamoa uchun oddiy sxema

  1. Barcha vazifalar — Issues (25-dars), yorliqlar bilan
  2. Bitta Project: Board (Backlog / Todo / Jarayonda / Review / Tayyor)
  3. Maydonlar: Ustuvorlik, Iteration (2 haftalik)
  4. Haftalik uchrashuv: Backlog dan Todo ga — shu sprint ishlari
  5. Har bir dasturchi: Todo dan olib, o'ziga assign, "Jarayonda" ga
  6. Branch → PR (Closes #N) → avtomatik "Tayyor"

Shu yetarli. Murakkab jarayonlar (Jira) — katta tashkilotlar uchun.


Nima uchun shunday?

Nima uchun vazifalar taxtasini kod bilan bir joyda yuritish foydali?

Chunki dasturchi ishining haqiqiy holati — Git va GitHub da: branch yaratildimi, PR ochildimi, review bormi, merge qilindimi. Alohida vositada (Trello) bu holatni qo'lda ko'chirish kerak — va odamlar buni unutadi: kartochka "Jarayonda" turadi, PR esa bir hafta oldin merge qilingan. GitHub Projects holatni kodning o'zidan oladi: PR merge — kartochka o'zi siljiydi. Taxta haqiqatni aks ettiradi, chunki u haqiqat manbaiga ulangan. Bu — kam rasmiyatchilik va ko'proq ishonchli manzara.


Xulosa

Eslab qoling:

  • Projects — issue va PR larni Board / Table / Roadmap ko'rinishida tartiblash
  • Bir nechta repozitoriydan yig'ish mumkin
  • Kanban: Backlog → Todo → Jarayonda → Review → Tayyor; "Jarayonda" ni cheklang
  • Maxsus maydonlar: Ustuvorlik, Hajm, Iteration (sprint), Muddat
  • Ko'rinishlar: guruhlash, saralash, filtr (assignee:@me, iteration:@current)
  • Workflows: yopilgan/merge qilingan → avtomatik "Tayyor"; auto-add
  • Closes #N + workflows — taxta o'zi yangilanadi

Keyingi dars

43-dars: GitHub Packages — paket chiqarish va saqlash