دليل المبتدئين لإدارة تطوير البرامج باستخدام Kanban و Trello

نشرت: 2022-03-11

الجميع مدير مشروع. سواء كنت تدير تطوير تطبيق جديد وتنمي شركتك الناشئة ، أو تعمل في مشروع مؤسسي جديد بمليارات الدولارات ، أو تحاول فقط إضفاء الحيوية على حديقتك ببعض المناظر الطبيعية التي تصنعها بنفسك ، فأنت تدير مشروعًا دائمًا.

يعتمد نجاح مشروعك على العديد من العوامل ، ولكن أحد الأسباب الأكثر شيوعًا لفشل المشاريع هو الافتقار إلى الإدارة أو إدارة المشروع السيئة تمامًا. بغض النظر عن حجم فريقك الصغير ، أو مدى وضوح متطلباتك موثقة ، إذا لم تقم بإدارة فريقك بشكل صحيح ، فإن مشروعك محكوم بالفشل.

كل دقيقة تقضيها في إدارة مشروعك هي وقت مستغرق. سيقربك من إكمال مشروعك بنجاح.

تعتبر إدارة المشاريع الرشيقة طريقة مقبولة على نطاق واسع للتعامل مع مشاريع تطوير البرمجيات الحديثة. لكن ماذا تعني Agile حقًا؟

تقبل المشاريع الرشيقة التغيير المتكرر للنطاق والمتطلبات كجزء لا يتجزأ من العملية.

للتعمق في مبادئ Agile ، أقترح قراءة دليلنا النهائي لإدارة المشاريع الرشيقة.

في هذا المنشور ، سنشرح أساسيات إدارة المشاريع الرشيقة مع كانبان.

حتى لو كنت مدير مشروع متمرسًا ويتفهم مبادئ المرونة في الداخل والخارج ، يجب عليك تحديث ذاكرتك وتذكير نفسك بالمفاهيم الأساسية. تتسارع دورات الابتكار في تطوير البرمجيات باستمرار ، مما يجعل إدارة المشروع أكثر تعقيدًا مع كل تكرار. من المهم دائمًا العودة إلى المبادئ الأساسية وترسيخ المبادئ الأساسية لـ Agile. بعد كل شيء ، التكرار هو أم كل المعرفة.

Kanban هي واحدة من أسهل الطرق لإدارة أي مشروع تطوير برمجيات Agile. يمكنك بسهولة التعامل مع فريق تطوير محلي يعمل من نفس المكتب أو فريق موزع منتشر عبر عدة مناطق زمنية.

كانبان ليس عملية. إنها طريقة لإدارة أي عملية بأدنى حد من التغييرات على الأنشطة التشغيلية المحددة للفريق.

من أجل تطبيق مبادئ كانبان على عملك ، يجب عليك تطبيق قاعدتين بسيطتين:

  1. تصور العملية الخاصة بك.
  2. الحد من العمل الجاري.

تصور العملية الخاصة بك

يعد تصور البيانات طريقة سريعة وسهلة لنقل المعلومات بطريقة عالمية وسهلة الفهم. عند النظر إلى الصور ، يمكن للدماغ البشري معالجة عدة أجزاء من المعلومات في وقت واحد. تقول بعض الأبحاث أن هذا يمكن أن يصل إلى 60 ألف مرة أسرع من قراءة النص.

تمثل الخلايا العصبية في الدماغ لإدراكنا البصري 30 بالمائة من المادة الرمادية في الدماغ.

الطريقة الأكثر شيوعًا لتصور العملية هي لوحة كانبان. لوحة كانبان هي لوحة مقسمة عموديًا إلى عدة أعمدة ، ويمثل كل عمود حالة واحدة في عمليتك.

دعنا نلقي نظرة على الشكل الذي ستبدو عليه لوحة تطوير برمجيات بسيطة. أولاً ، نحتاج إلى تحديد الحالات لميزات التطوير الخاصة بنا:

  1. To-Do - الميزة في انتظار التطوير
  2. التطوير - يتم تخصيص الميزة لمطور وهو يعمل عليها
  3. ضمان الجودة - الميزة قيد المراجعة
  4. تم النشر - يتم قبول الميزة وإدراجها في إصدار التطبيق

بناءً على ذلك ، يجب أن يحتوي منتداك على التخطيط التالي:

لوحة Trello بأربعة أعمدة: المهام الواجبة ، والتطوير ، وضمان الجودة ، والنشر.

يعد تصور المهام الفردية أمرًا سهلاً مثل إنشاء بطاقة بسيطة (تشبه إلى حد كبير بطاقات لاصقة) تمثل العمل الذي يجب القيام به. يمكنك تسمية المهمة وإضافة اسم المطور المعين وتاريخ الاستحقاق وأي معلومات أخرى ذات صلة إلى هذه البطاقة.

عند إضافة هذه البطاقة إلى عمود في لوحة Kanban ، تكون قد تصورت ، على سبيل المثال ، أن مطورًا معينًا يعمل على مهمة معينة مستحقة في تاريخ معين وهي قيد التطوير حاليًا.

لقطة مقربة لبطاقة Trello ، مع تسميات تبرز تسمية لون المهمة ، وعنوان المهمة ، وتاريخ استحقاق المهمة ، ومؤشر تواجد وصف المهمة ، وعداد التعليقات ، وعداد المرفقات ، وعناصر قائمة التحقق المنفذة من إجمالي الكسر ، ومؤشر الأشخاص المعينين.

تحديد العمل الجاري (WIP)

تعدد المهام البشرية هو وهم. بدلاً من الانتباه إلى شيء أو شيئين في وقت واحد ، فإن أدمغتنا تنتقل بينهما بسرعة كبيرة.

هذا أكثر وضوحا في تطوير البرمجيات من أي مكان آخر. يمكن للمطورين العمل على جزء واحد فقط من التعليمات البرمجية في وقت واحد ، وسيؤدي التبديل إلى ميزة أخرى إلى حدوث تأخيرات ويؤثر على تركيزهم وأدائهم.

هذا لا يعني أنه يجب عليك قصر عدد المهام على واحدة فقط في ذلك الوقت. التطوير عمل معقد وإبداعي ، فبعض المهام تستغرق وقتًا أطول والبعض الآخر يستغرق وقتًا أقل لإكمالها ، وهناك دائمًا تأخير أثناء انتظار المطور لشيء ما أو شخص ما. الشيء المهم هو قصر المهام المعينة على عدد معقول لا ينتج عنه فوضى (عادة ما يكون من ثلاث إلى خمس مهام في المرة الواحدة).

بافتراض أن فريق التطوير لديك يتكون من مطورين ومهندس ضمان الجودة ، فقد يكون لمنتداك حدود العمل قيد التقدم التالية:

  • المهام - غير محدودة
  • التطوير - حد ستة بطاقات (مطوران لكل منهما ثلاث مهام كحد أقصى)
  • ضمان الجودة - حد من ثلاث بطاقات (مهندس ضمان جودة واحد مقيد بثلاث بطاقات كحد أقصى)
  • منتشر - غير محدود
لا تتوقع من المطورين أن يكونوا حكماء ، وأن يحدوا من العمل قيد التقدم بمفردهم. إذا رميت كل شيء من قائمة المهام إلى المطورين ، فسيكون الأمر أشبه بإعطاء الكثير من الألعاب لطفل. فبدلاً من اللعب بلعبة واحدة ، سيقومون برميها في الأرجاء ، مما يخلق فوضى في منزلك الأنيق ، ومع ذلك ، لن يكونوا سعداء ويمكنك توقع نوبات الغضب.

إن وظيفتك ، بصفتك مدير مشروع ، هي التأكد من تحديد أولويات قائمة المهام بشكل صحيح ، وتخصيص المهام للمطورين في أقرب وقت ممكن.

لوحة Trello مشابهة للوحة الأولى ، ولكن بعمودها الثاني يسمى WIP ، وخط أحمر يسمى "WIP LIMIT" مرسوم أسفل بطاقته الثالثة.

ستمنحك لوحة كانبان المُدارة بشكل صحيح صورة واضحة عن حالة مشروعك في لمحة. يمكنك أن ترى أن المطورين لديك لديهم عمل كافٍ ، وأنك قد أعددت مهامًا جديدة يمكنهم توليها بمجرد الانتهاء من مهامهم ، وأن مهندس ضمان الجودة لديك ينتظر مهام جديدة لمراجعتها.

استخدم Trello لإدارة لوحة Kanban الخاصة بك

Trello هو تطبيق إدارة مشروع Kanban المستند إلى الويب. إنه يتيح تعاونًا سهلاً في الوقت الفعلي بين أعضاء الفريق وحتى العديد من الفرق والمشاريع.

لإنشاء لوحة في Trello ، انقر فوق عنصر القائمة "إنشاء لوحة جديدة ..." ، وحدد عنوانًا للوحة الخاصة بك.

لقطة شاشة لإنشاء لوحة في Trello. يوجد حقل واحد لعنوان اللوحة.

سوف تبدأ بلوحة فارغة. استخدم مربع "إضافة قائمة ..." لإنشاء أعمدة لبطاقات كانبان الخاصة بك.

لقطة شاشة لإضافة عمود مهمة في Trello. عنوان العمود الجديد قابل للتحرير ، وهناك أزرار حفظ و X تحته.

بالنقر على "إضافة بطاقة ..." في الجزء السفلي من أي من القوائم ، يمكنك بسهولة إنشاء مهمة. يجب أن تمثل كل بطاقة تقوم بإنشائها مهمة سيتم تنفيذها بواسطة أحد أعضاء الفريق.

يمكن تخصيص البطاقات في Trello بعدة طرق:

  • تعيين أعضاء الفريق المسؤولين عن تنفيذ مهمة
  • قم بتلوينها حسب المجموعات المحددة التي ترغب في إضافتها
  • حدد تواريخ الاستحقاق
  • أضف ملحقات
  • أضف حقولًا مخصصة مثل قائمة التحقق حيث يمكنك تتبع تقدم العناصر الأصغر التي تشكل مهمة
  • يمكن لأعضاء الفريق التعليق على البطاقة ، وسيتم إخطار الجميع بأي تغيير يتم إجراؤه.

لقطة شاشة لعرض تفاصيل بطاقة Trello ، تُظهر عنوانها وأقسام قوائم المراجعة والتعليقات وسجل النشاط والإجراءات المحتملة على مستوى البطاقة في الشريط الجانبي.

التصور هو كل شيء في كانبان ، لذا إليك كيف تبدو البطاقة على السبورة:

لقطة شاشة للبطاقة السابقة عند عرضها على مستوى لوحة Trello ، مع نفس العناصر الموضحة سابقًا ، ولكنها تتطابق مع تفاصيل البطاقة الأحدث.

بمجرد النظر إلى البطاقة ، دون فتح العرض التفصيلي ، يمكنك رؤية ما يلي:

  1. تنتظر مهمة إعداد مستودع كود GitHub ليتم تنفيذها في قائمة المهام.
  2. المهمة مستحقة بحلول 27 يناير.
  3. المهمة لها وصف.
  4. هناك تعليق واحد على المهمة.
  5. توجد قائمة تحقق من عنصرين ، ولم يتم إكمال أي من هذه العناصر حاليًا.
  6. يتم تعيين المهمة إلى مستخدم DS ، الذي سيستلمها بعد ذلك.
  7. تنتمي المهمة إلى مجموعة من البطاقات ذات اللون الأخضر ، مما يعني أنها مطلوبة قبل بدء المشروع.

تقدير الوقت ومدى تعقيد أعمال التطوير

يعد تخطيط وإدارة المشروع أمرًا مستحيلًا دون فهم الجهد والوقت اللازمين لإكمال مهمة معينة. ومع ذلك ، فإن أحد أصعب الأشياء التي يجب القيام بها في تطوير البرامج هو تحديد المدة التي سيستغرقها تقديم منتج أو ميزة برمجية جديدة.

يعتمد Scrum ، وهو أحد أكثر مبادئ Agile شيوعًا ، بشكل كبير على التقديرات ، سواء كانت تستند إلى الوقت أو "نقاط التعقيد".

يجب أن يقضي الفريق وقتًا طويلاً في تحديد نطاق المهمة.

وذلك لأن Scrum يعتمد على فترات زمنية محددة ، عندما يُتوقع إكمال مجموعة معينة من المهام. من أجل التخطيط للتسليم ، يجب أن يكون لديك فهم كامل لكل الأعمال المخطط لها في هذا الإطار الزمني.

كانبان لا يعتمد على عمليات التسليم المحددة في الوقت المحدد ، ويمكنك التخطيط للتسليم اليومي إذا كنت ترغب في ذلك. يعتمد على تحسين التدفق ، مما يعني أن تركيز الفريق ينصب على إكمال وإفراغ عمود العمل قيد التقدم في أقرب وقت ممكن.

لا يقضي الفريق وقتًا في تقدير العمل مسبقًا. سوف يلتقط المطور العنصر التالي من To-Do ؛ أكمله في أقرب وقت ممكن ؛ والقيام بمهمة أخرى.

هذا لا يعني أنه لا ينبغي للفريق تقدير حجم عبء العمل.

يمكنك استخدام مكالماتك الأسبوعية أو اليومية للتحديث والتحقق من تواريخ الاستحقاق.

ومع ذلك ، بالنسبة لفريق صغير ، من المهم التأكد من أن المطورين يعملون على مهمة ذات أولوية قصوى في أي لحظة معينة وأنه لا توجد اختناقات ، مما يجبر المطور على إيقاف عمله مؤقتًا.

في النهاية ، سينمو مشروعك وستحتاج إلى البدء في تقدير حجم أعمال التطوير بمزيد من التفاصيل. عندما تصل إلى هذا الموقف ، اقض بعض الوقت في قراءة دليلنا لتقدير تكاليف البرامج في Agile Project Management.

يجب أن يكون لديك ممارسات الإدارة

لقد تعلمت حتى الآن أهمية تصور عمليتك والحد من العمل قيد التقدم ، وكيفية استخدام Trello لإدارة مشروعك.

لا يمكن إدارة مشروع برمجي بالبطاقات والأعمدة فقط. لذلك ، من المهم أيضًا تنفيذ أفضل ممارسات Agile:

  • تنظيم اجتماع فريق منتظم.
    افعل ذلك أسبوعيًا على الأقل لمراجعة ما تم إنجازه وتنقيح العمل المتراكم وتحديد أولوياته (قائمة المهام) إذا لزم الأمر. بهذه الطريقة ، سيحصل الفريق بأكمله على تحديثات في نفس الوقت ، ويمكن مشاركة الأفكار. في هذه الاجتماعات ، من المهم أن يكون لديك أحد أصحاب المصلحة في المشروع (العميل أو كبير مسؤولي التكنولوجيا في الشركة أو أي شخص من فريق المنتج يمكنه اتخاذ القرار والإجابة على الأسئلة) لتقديم ملاحظات غير فنية في النهاية.

  • تأكد من التواصل المستمر مع أعضاء الفريق الفردي.
    هذا سيجعل العمل اليومي للجميع أسهل بكثير. اجعل هذه الاجتماعات أو عمليات المزامنة قصيرة جدًا وبسيطة ، فقط تحديث سريع في برنامج الدردشة المفضل لديك سيفي بالغرض. من المفيد أن يكون لديك تسجيل وصول يومي ، والذي قد يكون اجتماعًا يوميًا مدته 15 دقيقة مع فريقك. في هذا الاجتماع ، يتحدث كل عضو في الفريق لبضع ثوان قائلاً:

  • ما عملوا عليه بالأمس.
  • ما يخططون للعمل عليه اليوم.
  • ما هي التحديات أو الاختناقات التي يواجهونها.


قم بتدوين الملاحظات أثناء المكالمة وانتبه للعثور على المشكلات المحتملة (الحواجز ، والتركيز الخاطئ على المهمة ، والتحديات التقنية غير المتوقعة) ، والعمل عليها مع الفريق.

تمهيد مشروع تطوير البرمجيات الخاص بك

على الرغم من اختلاف كل مشروع لتطوير البرامج ، إلا أن هناك مهامًا معينة ستجدها في جميعها تقريبًا. فيما يلي بعض المهام التي يجب أن تخطط لها عند بدء مشروع تطوير برمجيات:

  • قم بإعداد إصدار التعليمات البرمجية والمستودع.
    يعد تتبع التغييرات ورصد التعليمات البرمجية أمرًا في غاية الأهمية ، خاصة عند التعاون في المشاريع حيث يقوم العديد من الأشخاص بتحديث نفس الكود.

    تعد GitHub واحدة من أكثر الخدمات شيوعًا لإصدار الكود. GitHub هو مستودع Git قائم على الويب أو مستودع للتحكم في الإصدار يوفر جميع وظائف التحكم في الإصدار الموزع وإدارة كود المصدر (SCM) في Git.

    يوفر التحكم في الوصول والعديد من ميزات التعاون ، مثل تتبع الأخطاء وطلبات الميزات وإدارة المهام ومواقع wiki لكل مشروع.

  • تحديد سياسة النسخ الاحتياطي لقاعدة البيانات.
    سيضمن استخدام خدمات مثل GitHub أن يتم نسخ التعليمات البرمجية احتياطيًا بشكل منتظم.

    قواعد البيانات ليست في العادة جزءًا من نظام الإصدار الخاص بك ، ويجب عليك أيضًا إعداد نسخ احتياطية متكررة لقاعدة البيانات.

    عملية التطوير عرضة للخطأ ، ومن السهل ارتكاب خطأ وتحديث البيانات الخاطئة أثناء التطوير. سيوفر لك الاحتفاظ بنسخة احتياطية من المتاعب في حالة حدوث مثل هذه المشكلة.

  • قم بإعداد أدوات التعاون ومشاركة الملفات.
    يتم تحديث وثائق المشروع والمواصفات الوظيفية وملفات التصميم وأي وثائق وملفات أخرى يتم استخدامها أثناء تطوير المشروع باستمرار ويجب توزيعها على فريقك.

    يمكنك استخدام عدد من الخدمات المختلفة لمشاركة هذه الملفات. تسمح Google بحل بسيط وفعال من حيث التكلفة لهذه المشكلة. استخدم Google Drive ، ومستندات Google ، وجداول بيانات Google ، وتطبيقات Google الأخرى لمشاركة الملفات والتعاون فيها.

  • قم بإعداد خوادم تطوير واختبار منفصلة.
    يجب أن تستمر عملية التطوير في جميع الأوقات.

    يجب ألا ينتظر المطورون نتائج اختبار التطبيق ، ويجب عليهم الاستمرار في العمل على مهامهم أثناء مراجعة ضمان الجودة للوظائف المكتملة.

    في الوقت نفسه ، يجب أن يكون العميل قادرًا على التحقق من الحالة الحالية للتطبيق في أي وقت ، دون انتظار فريق التطوير. سيؤدي وجود خادم اختبار مخصص يتم تحديثه على أساس منتظم إلى إزالة جميع الاختناقات في هذه العملية والتأكد من أن فريقك يعمل دون انقطاع.

  • حدد وقتًا ثابتًا لمكالمات الفريق الأسبوعية ووقتًا ثابتًا لمكالمات أو محادثات الفريق اليومية.
    اطلب من جميع أعضاء فريقك تحديد موعد في التقويم الخاص بهم للمكالمات والاجتماعات. يمنح هذا فريقك جدولاً ثابتًا دون انقطاع في العمل.

يبعد

تعتبر إدارة المشروع نشاطًا معقدًا ومرهقًا للغاية في كثير من الأحيان. إن إضافة هيكل إليه وجعل حالة المشروع مرئية ودقيقة في جميع الأوقات يخفف الكثير من هذا الضغط. سيوفر لك استخدام طريقة كانبان ومبادئ أجايل ، جنبًا إلى جنب مع الأدوات المناسبة ، الكثير من الوقت.

مع ما يقال ، لا توجد أداة أو منهجية من شأنها أن تعوض عن الوقت الذي يجب أن تخصصه ، بصفتك مدير المشروع ، لإدارة المشروع.

وفقط لأن المشروع صغير ، لا يعني بالضرورة أنه يتطلب وقتًا أقل. هذه العقلية هي وصفة رائعة لصداع كبير في المستقبل.

فيما يلي قائمة تحقق بسيطة لمساعدتك في التحقق مما إذا كان مشروعك يُدار بشكل صحيح أم لا:

  1. هل عمليتك تصور بشكل صحيح؟
  2. هل العمل قيد التقدم لكل عضو في الفريق محدود ومُصغر؟
  3. هل لدى فريقك اجتماع مجدول باستمرار - سواء أسبوعيًا أم يوميًا؟
  4. هل يتم تحديث لوحة كانبان بانتظام؟
  5. هل لديك مستودع كود في المكان؟
  6. هل قمت بجدولة النسخ الاحتياطي لقاعدة البيانات؟
  7. هل قمت بإعداد أدوات الاتصال والتعاون الجماعي؟
  8. هل بيئة التطوير الخاصة بك منفصلة عن الاختبار والقبول والإنتاج؟

ضع في اعتبارك أن هذه القائمة بعيدة كل البعد عن التحديد والتنفيذ ؛ انها البداية فقط.

يرجى ترك تعليقاتك ومشاركة النصائح والممارسات الخاصة بك مع مديري المشاريع الذين بدأوا للتو رحلتهم التي لا تنتهي في تمكين فرق تطوير البرامج.