راهنما

مدیریتِ پروژه‌ی Git-aware چیست؟

مدیریتِ پروژه‌ی Git-aware هر تسک را به تغییراتِ کدِ خودش وصل می‌کند و اجازه می‌دهد توسعه‌دهنده تسک را از داخلِ IDE تمام کند — پس برد کارِ واقعی را نشان می‌دهد، به‌جای آن‌که به یادآوریِ توسعه‌دهنده برای به‌روزرسانیِ دستیِ تیکت‌ها تکیه کند.

Diagram explaining what Git-aware project management is

یک تعریف برای تیم‌های نرم‌افزاری

ابزارهای مدیریتِ پروژه به تیم‌ها کمک می‌کنند کار را برنامه‌ریزی کنند، تسک بدهند و پیشرفت را دنبال کنند. اما برای تیم‌های نرم‌افزاری، بخشِ بزرگی از کارِ واقعی جایِ دیگری اتفاق می‌افتد: داخلِ IDE — در شاخه‌ها، کامیت‌ها، push و تغییرِ کدِ Git. مدیریتِ پروژه‌ی Git-aware همین شکاف را می‌بندد. هر تسک کامیت‌های خودش را دارد، پس تغییراتِ کدِ آن تسک کنارِ هم می‌مانند و بررسی‌شان آسان است، و تمام‌کردنِ تسک در IDE آن را روی برد جلو می‌برد — نه این‌که تسک‌ها کارت‌هایی جدا از کدبیس باشند.

مشکلِ بردهای سنتیِ پروژه

بیشترِ ابزارهای مدیریتِ پروژه حول به‌روزرسانیِ دستی ساخته شده‌اند. توسعه‌دهنده روی تسک کار می‌کند، کد می‌نویسد، با Git کامیت و push می‌کند — و بعد باید به مرورگر برگردد تا برد را به‌روز کند، اگر یادش بماند. همین یک وابستگی، بیشترِ دردِ تیم‌های نرم‌افزاری را می‌سازد:

✕برد از کارِ واقعیِ توسعه عقب می‌ماند.
✕توسعه‌دهنده با جابه‌جایی بین IDE، ترمینال، Git و مرورگر تمرکزش را از دست می‌دهد.
✕مدیر و سرتیم وضعیتِ کهنه‌ی پروژه را می‌بینند.
✕پیشرفتِ کد و پیشرفتِ پروژه از هم فاصله می‌گیرند.

مشکل بی‌دقتیِ تیم نیست — مشکل این است که برد از جایی که توسعه واقعاً اتفاق می‌افتد جدا افتاده.

ابزارهای برد-محور مثلِ Jira فرایند را جلوتر از کد می‌گذارند — ببین Vi به‌عنوان جایگزین Jira چطور است ←

پروژه‌ی سنتی در برابر Git-aware

مدیریتِ پروژه‌ی سنتی برد-محور است: تمرکزش روی کارت، ستون، وضعیت و ددلاین است. مدیریتِ پروژه‌ی Git-aware توسعه-محور است — برد را نگه می‌دارد اما آن را به گردش‌کارِ نرم‌افزار سیم‌کشی می‌کند. تفاوت در برنامه‌ریزی نیست؛ در این است که اجرا چقدر به کدبیس نزدیک می‌ماند.

Comparison of traditional project management and Git-aware project management

مدیریتِ پروژه‌ی سنتی

✕می‌پرسد: «کسی تسک را به‌روز کرد؟»
✕تغییرِ وضعیت دستی است و راحت فراموش می‌شود
✕برد و کد در دو دنیای جدا زندگی می‌کنند

مدیریتِ پروژه‌ی Git-aware

✓می‌پرسد: «واقعاً در گردش‌کار چه اتفاقی افتاد؟»
✓Done زدن در IDE کامیت می‌کند و تسک را به مرحله‌ی بعد می‌برد
✓برد فعالیتِ واقعیِ توسعه را نشان می‌دهد

مدیریت پروژه با Git در برابر مدیریت پروژه‌ی Git-aware: تفاوت چیست؟

مدیریت پروژه با Git یعنی بردنِ کار به داخلِ خودِ میزبانِ Git — ایشو، pull request و بردی که کنارِ مخزن زندگی می‌کند — و مدیریت پروژه‌ی Git-aware یعنی ابزارِ پروژه‌ای که از داخلِ IDEِ توسعه‌دهنده هر تسک را به کامیت‌های خودش وصل می‌کند، بدونِ آنکه کلِ تیم مجبور شود به میزبانِ Git کوچ کند. اولی مخزن-محور است: برد یکی از امکاناتِ GitHub یا GitLab یا Bitbucket است، پس هر کسی که به دید نیاز دارد — مدیر، QA، پشتیبانی، مشتری — باید داخلِ یک ابزارِ توسعه‌دهنده کار کند. دومی یک لایه‌ی واقعیِ پروژه را نگه می‌دارد — گردش‌کار، تایید، SLA، ثبت زمان، مایلستون — و هر تسک را به کامیت‌هایش وصل می‌کند؛ پس کد در Git می‌ماند و فرایند در ابزارِ پروژه.

مدیریت پروژه با Git (GitHub Projects، GitLab، Bitbucket)

✕برد داخلِ میزبانِ Git است، پس دیدنِ وضعیتِ پروژه حسابِ توسعه‌دهنده و رابطِ توسعه‌دهنده می‌خواهد.
✕فرایند به شکلِ ایشو و PR است: نه زنجیره‌ی تایید، نه SLA در سطحِ مرحله، نه تخصیصِ خودکارِ نقش‌محور.
✕غیرِ توسعه‌دهنده‌ها — مدیر، QA، پشتیبانی، مشتری — در ابزاری کار می‌کنند که برای کد ساخته شده.

مدیریت پروژه‌ی Git-aware (Vi)

✓برد یک ابزارِ واقعیِ پروژه است، با گردش‌کار، تایید، SLA، ثبت زمان و مایلستون.
✓فقط متادیتای کامیتِ متصل به تسک را از IDE می‌خواند — هرگز خودِ سورس‌کد را.
✓توسعه‌دهنده در IDE می‌ماند؛ بقیه نمای پروژه‌ای می‌گیرند که بدونِ به‌روزرسانیِ دستی دقیق است.

عمیق‌تر بخوان: مدیریت پروژه با Git · Commit & Close · مدیریت پروژه در VS Code

مدیریتِ پروژه‌ی Git-aware چطور کار می‌کند

یک ابزارِ Git-aware به‌جای آن‌که تسک‌ها را کارت‌هایی جدا ببیند، گردش‌کارِ توسعه را می‌فهمد. تسک‌ها را به کنش‌های واقعیِ توسعه گره می‌زند — پس برد بدونِ کارِ اضافی به واقعیت نزدیک می‌ماند.

How Git-aware project management works, from IDE to updated board

1. کار در IDE

کارِ روی تسک را مستقیم از IDE شروع کن.

2. کامیت و push

کامیت‌ها و push را به همان تسک گره بزن.

3. پیش‌بردنِ تسک

مرحله‌ات را از محیطِ توسعه تمام کن — تسک به مرحله‌ی بعدیِ گردش‌کار می‌رود.

4. برد خودکار به‌روز می‌شود

گردش‌کار را جلو ببر — برد از فعالیتِ واقعی به‌روز می‌شود.

رویکردِ Vi Project Management

$ vi: commit & close
✓ stage changed files
✓ commit "[#142] Fix auth bug"
✓ pushed to remote
✓ task #142 closed · moved to Review

Vi مدیریتِ پروژه و هلپ‌دسک برای تیم‌های نرم‌افزاری است و هر جا لازم است Git-aware است: توسعه‌دهنده تسک‌ها را مستقیم از IDE مدیریت و تمام می‌کند و گردش‌کارِ اصلی «Commit & Close» نام دارد — یک اکشن که تغییراتِ کدِ تسک را در یک کامیتِ مرتبط با تسک ذخیره می‌کند و تسک را روی برد به مرحله‌ی بعد می‌برد.

توضیحِ کاملِ Commit & Close را ببین ←

Git-aware یعنی خواندنِ کلِ سورس نیست

یک ابزارِ Git-aware به‌صورتِ پیش‌فرض نیازی به بازرسی یا ذخیره‌ی سورس‌کدِ تو ندارد. چیزی که مهم است، وصل‌کردنِ متادیتای مفیدِ توسعه — کامیت، push، وضعیتِ تسک، فعالیتِ شاخه و گردش‌کار — به تسک است. در Vi دستورهای Git به‌صورت محلی از طریق پلاگینِ IDE اجرا می‌شوند و Vi هرگز سورس را ذخیره یا آپلود نمی‌کند. کنترلِ این‌که چقدر از کد روی برد دیده شود دستِ تیم است.

درباره‌ی امنیتِ سورس‌کد بیشتر بخوان ←

مدیریتِ پروژه‌ی Git-aware برای کیست؟

برای تیم‌های نرم‌افزاری که می‌خواهند ردیابیِ پروژه به کارِ واقعیِ مهندسی نزدیک بماند — توسعه‌دهنده‌ها، بنیان‌گذارانِ فنی، مدیرانِ مهندسی، سرتیم‌ها و تیم‌های محصولی که نزدیک به مهندسی کار می‌کنند. به تیم‌های کوچک، تیم‌های محصولِ در حالِ رشد و سازمان‌های بزرگ‌ترِ مهندسی کمک می‌کند به‌روزرسانیِ دستی را کم و دیدِ واقعی از پیشرفت را بیشتر کنند.

بیشتر بخوان: مدیریت پروژه با Git · مدیریت پروژه در VS Code · Commit & Close · مدیریت پروژه در IDE · Vi به‌عنوان جایگزین Jira

پرسش‌های پرتکرار

مدیریتِ پروژه‌ی Git-aware با میزبانِ Git مثلِ GitHub چه فرقی دارد؟

میزبانِ Git مخزنِ تو را ذخیره و سِرو می‌کند. مدیریتِ پروژه‌ی Git-aware جایگزینِ آن نمی‌شود — هر تسک را به کامیت‌های خودش وصل می‌کند تا تغییراتِ کدِ آن تسک کنارِ هم بمانند و قابلِ بررسی باشند؛ خودِ گردش‌کار وقتی جلو می‌رود که توسعه‌دهنده تسک را در IDE تمام کند. Vi در کنارِ GitHub، GitLab، Bitbucket یا سرورِ Gitِ خودت کار می‌کند.

آیا ابزارِ Git-aware سورس‌کدِ من را می‌خواند؟

لازم نیست. Vi متادیتای تسک را به فعالیتِ Git وصل می‌کند؛ دستورهای Git به‌صورت محلی در IDE از طریق پلاگین اجرا می‌شوند و Vi هرگز سورس را ذخیره یا آپلود نمی‌کند.

آیا باید نحوه‌ی استفاده از Git را عوض کنیم؟

نه. توسعه‌دهنده‌ها مثلِ همیشه کامیت و push می‌کنند — کامیت و pushِ معمولی وضعیتِ تسک را عوض نمی‌کند. وقتی سهمشان تمام شد، تسک را در IDE «Done» می‌زنند: Commit & Close با شماره‌ی تسک کامیت می‌کند و تسک را به مرحله‌ی بعدیِ گردش‌کار می‌برد — پس تمام‌کردنِ کد، برد را هم بدونِ یک قدمِ جداگانه‌ی وضعیت به‌روز می‌کند.

ردیابیِ پروژه را با کارِ واقعی هم‌گام نگه دار

رایگان شروع کن و بردت را به کارِ واقعیِ توسعه وصل نگه دار. بدونِ نیاز به کارت بانکی.

شروع رایگان