التوثيق السريع: الموازنة بين السرعة والاحتفاظ بالمعرفة
نشرت: 2022-03-11تعد المستندات والقطع الأثرية والعمليات المختلفة المتعلقة بتوليدها بعض الرموز الرئيسية لنموذج الشلال. الاقتراض من Lean ، تعتبر Agile الكثير من الوثائق بمثابة "إهدار" يجب القضاء عليه من أجل تبسيط دورة حياة التطوير.
بالنسبة للعديد من مديري المشاريع ، ليس من الصعب فهم كيفية تحويل مراحل الشلال إلى سباقات سريعة — يتم إنجاز نفس العمل ؛ إنه منظم بطريقة مختلفة. ومع ذلك ، فإن إزالة معظم الوثائق يصعب ابتلاعها لأنها تؤكد على طريقة عمل مختلفة تمامًا. إنه يتطلب فك زمام السيطرة ، واحتضان المجهول ، وتمكين فريق التوصيل من اتخاذ القرارات على الفور.
يتم تحدي النهج التقليدي للتوثيق
في منهجية الشلال ، يتم إنفاق الكثير من الوقت في توثيق متطلبات المشروع وتفصيل الحلول. تعمل هذه العملية عندما تكون المتطلبات واضحة تمامًا ونحن على يقين من أن لا شيء سيتغير عما تم التقاطه ووضعه في الأساس. ومع ذلك ، فقد أظهرت تجارب معظم الشركات في العقود القليلة الماضية أن هذا يكاد يكون غير صحيح على الإطلاق. في عالم اليوم ، تكون وتيرة التغيير ديناميكية للغاية لدرجة أن احتياجات العميل تتغير بشكل كبير بحلول الوقت الذي ننتهي فيه من مرحلة التوثيق.
ينصب تركيز Agile على إنجاز الأمور وإضافة قيمة لأصحاب المصلحة. لقد تم بناؤه بطريقة لا يشجع النموذج على العمل على الأجهزة الطرفية والأنشطة التي لا تضيف قيمة مباشرة وفورية إلى العميل.
التوثيق في Waterfall مقابل Agile
كل شركة لديها مستوى مختلف من الوثائق ، والتي يمكن أن تختلف حتى على مستوى المشروع. ولكن إليك ما تبدو عليه إجراءات التوثيق النموذجية في مشاريع Waterfall و Agile:
شلال | رشيق |
التوثيق إلزامي في معظم الأوقات. لا تقدم أي عمل ما لم تكتمل الوثائق. | يتم تشجيع الوثائق الأساسية فقط لفهم ما يكفي لبدء العمل. |
تخضع المستندات لعملية مراجعة مطولة ويجب اعتمادها من قبل أطراف متعددة. | لا توجد عملية مراجعة وموافقة رسمية ومدير المشروع هو صانع القرار الرئيسي. |
يجب اتباع القوالب الموحدة. | لا توجد قوالب رسمية للتوثيق ؛ يتم استخدام أفضل الممارسات بدلاً من ذلك. |
أنواع مختلفة من الوثائق مطلوبة في مراحل مختلفة: ميثاق المشروع ، بيان الرؤية ، وثيقة متطلبات العمل ، المتطلبات الوظيفية وغير الوظيفية ، التصميم عالي المستوى (HLD) ووثائق التصميم منخفضة المستوى (LLD) ، إلخ. | المستندات المطلوبة فقط لتقديم الوظائف في السباق القادم. |
التغييرات في الوثائق صعبة لأن جميع المستندات متشابكة. | التغييرات في الوثائق أسهل بكثير. |
هناك حاجة إلى نظام أو عملية لإدارة عدد كبير من المستندات. | التوثيق ضئيل ، وبالتالي يسهل إدارته. |
قضية التوثيق
يروج الشلال لمقاربة أكثر صرامة للتوثيق ، والتي قد تبدو مفرطة. ولكن قبل أن نرفض هذا باعتباره "إهدارًا" ، إليك العديد من الفوائد لوجود إجراءات توثيق قوية.
فرصة للتفكير الاستراتيجي
أولئك الذين يفشلون في التخطيط ، يخططون للفشل. يجبر التوثيق مدير المشروع على الجلوس والتفكير في الأمور ثم التوصل إلى أفضل الحلول. يسيء الأشخاص أحيانًا تفسير القيمة الرشيقة لبرنامج العمل على التوثيق الشامل ليعني أنه لا يلزم التوثيق. ثم يندفعون إلى السوق ، وهي الخطوة التي وصفها بول آدامز ، نائب رئيس المنتج في Intercom ، بأنها إلقاء الأشياء على الحائط ورؤية ما يعلق. تصميم الحلول ، وإنشاء الخطط ، واتخاذ الإجراءات - تخلق هذه الأنشطة قيمة من خلال توفير الوقت لعدم تطوير كل فكرة ميزة واحدة تتبادر إلى الذهن.
UX والاتساق الوظيفي
مع نمو الشركات من مجرد عدد قليل من المؤسسين إلى مئات أو آلاف الموظفين ، تبدأ العديد من الفرق المختلفة في العمل على نفس المنتجات أو المنتجات ذات الصلة. قد يعتقد الفريق "أ" أن ما يعملون عليه لا يتعلق بما يعمل عليه الفريق "ب" ، ولكن بالمستخدم النهائي ، كل هذا هو نفس المنتج. بدلاً من قيام الفرق متعددة الوظائف بعملها الخاص ، فإن التوثيق الواضح لتجربة المستخدم والمستويات الوظيفية يتجنب تدفق المستخدم المفكك.
يمكن تحويل الوثائق إلى أدلة المستخدم
في Waterfall ، يتم قضاء الكثير من الوقت في تفصيل الحلول وكيفية استخدامها. يتم إنشاء صور للتصاميم عالية الدقة لمطوري الواجهة الأمامية. تتطلب كل هذه الأصول عملاً أقل ليتم تحويلها إلى أدلة مستخدم داخلية أو خارجية بدلاً من إنشائها من البداية.
كيف يقلل Agile من احتياجات التوثيق
العامل الذي يظهر بشكل متكرر كذريعة لتفويض التوثيق هو معدل دوران الموظفين. يخشى المديرون فقدان المعرفة المؤسسية عندما يغادر الناس وينضم جديدون ليحلوا محلهم. كيف سيعرفون ما تم تنفيذه وكيف يعمل؟ كم من الوقت سيستغرقون للحاق بالركب؟ هل سيكون لدى الفريق الحالي النطاق الترددي لتزويد أعضاء الفريق الجدد؟
الأمل هو أن الوثائق الجيدة ستجذب الموظفين الجدد الذين يعملون بشكل مستقل في الغالب بسرعة إلى السرعة. ومع ذلك ، يقلل Agile بطبيعته من الحاجة إلى التوثيق من خلال تقنيات التعاون التي ، في نفس الوقت ، تقلل من وقت الإعداد. فيما يلي بعض الطرق التي يقلل بها Agile من الحاجة إلى التوثيق.
التفاعل المنتظم بين فرق المنتج وأعضاء الفريق الرشيق
يروج البيان الرشيق "للأفراد والتفاعلات على العمليات والأدوات". نظرًا لأن المتطلبات تميل إلى التغيير أثناء المشروع وظهور أفكار جديدة ، تضمن Agile توضيح المتطلبات مباشرة من المصدر بدلاً من الاعتماد على القطع الأثرية المكتوبة التي تحتاج إلى تحديث مستمر.
الاستمالة والتخطيط يقسم المهام
يُقسم تخطيط الاستمالة والركض المتراكم الميزات إلى أجزاء محددة قابلة للتنفيذ يسهل فهمها ويمكن العمل عليها بشكل مستقل. وهذا يخلق فرصة للموظفين الجدد ليكونوا منتجين في وقت مبكر ، مع عدم فهم الصورة الكبيرة للمشروع بالكامل بعد.

توفر قصص المستخدم توثيقًا فعالاً
يسمح التنسيق البسيط لقصص المستخدم لمديري المشاريع بالتقاط الحد الأدنى من المتطلبات التي تخلق تفاهمًا مشتركًا بين جميع أعضاء الفريق. حتى إذا لم تتحول قصة المستخدم إلى سباق سريع ، فإن إهدار إنشاء هذه الأداة التوثيقية ضئيل للغاية. مع انتقال قصص المستخدمين إلى سباقات السرعة ، يمكن تجسيدها واستكمالها بمعلومات أخرى مطلوبة مثل الإطارات الشبكية والتصميمات ومعايير القبول وما إلى ذلك. توفر هذه العملية تسليم مستندات فعال للغاية يمكن التخلص منه بشكل كبير ويتم إنتاجه في أكثر مراحل التطوير ملاءمة.
انخفاض الحاجة لتوثيق الكود
تقنيات مثل البرمجة الزوجية ومراجعة الكود تخلق فرصًا ثابتة لنشر المعرفة التقنية في جميع أنحاء الفريق ، وخاصة لأعضاء الفريق الجدد. تؤدي التعليقات المستمرة إلى فهم مشترك يتمتع أيضًا بالمرونة للتكيف مع الظروف الجديدة بدلاً من أن يصبح سريعًا قديمًا في المستند في مكان ما.
احتفالات رشيقة
تخلق المواقف اليومية ومراجعات العدو السريع والاستعراضات السابقة فرصًا كبيرة لحل المشكلات واتخاذ القرارات وجهًا لوجه بدلاً من الاعتماد على البريد الإلكتروني والمستندات. يضمن الإطار الزمني المحدود لجميع الاحتفالات إعطاء الأولوية للمعلومات الأكثر أهمية فقط بدلاً من قضاء الوقت في توثيق كل شيء ، حتى لو كان من المحتمل ألا يتم استخدامها مطلقًا.
كل ما سبق يقلل بشكل مباشر أو غير مباشر من التوثيق ويعطي الأولوية لتسليم أهداف المشروع مع ضمان عدم فقدان أي شيء بسبب نقص الوثائق.
مناهج هجينة للتوثيق
لا تزال بعض الشركات تفضل الحصول على بعض الوثائق ، حتى في بيئة أجايل. Agile ليس إلزاميًا ، لأن كل مشروع مختلف وله مجموعة فريدة من الظروف التي يجب معالجتها.
فيما يلي بعض الأمثلة حول كيفية دمج Agile مع المزيد من أساليب التوثيق التي تستغرق وقتًا طويلاً.
الجمع بين UML و Agile
ضع في اعتبارك استخدام لغة نمذجة قياسية مثل لغة النمذجة الموحدة (UML) شديدة التنظيم ولها كيانات محددة لتصور النظام. يساعد هذا في الحفاظ على المحتوى بسيطًا للغاية ويركز على ما هو مطلوب ويضمن الحد الأدنى من استخدام اللغة المكتوبة. تعد أدوات مثل StarUML و Draw.io ، من بين العديد من الأدوات الأخرى ، خيارات ملائمة.
مولدات توثيق الكود
هناك طريقة أخرى تتمثل في التأكد من أن الكود أكثر قابلية للقراءة من خلال تقديم تعليقات أكثر تنظيماً وتفصيلاً كجزء من تفاصيل الفصل وتفاصيل الطريقة واستخدام المعلمة والاعتماديات وما إلى ذلك. هناك العديد من الأدوات التي تعمل على أتمتة عملية إنشاء مستندات مفيدة من التعليمات البرمجية المصدر وتسمى مولدات التوثيق. وهي تتراوح من عامة إلى لغات البرمجة الخاصة.
التصميم التفصيلي ووثائق تجربة المستخدم
يساعد تحديد المتطلبات باستخدام الإطارات الشبكية ، والنماذج بالأحجام الطبيعية ، ومخططات تدفق المستخدم ، والمخططات التسلسلية ، وما إلى ذلك ، على تبسيط تدفقات المشروع بالإضافة إلى توضيح بوضوح للفريق التقني ما الذي يحتاج إلى تطوير. تعد مستندات التصميم طريقة رائعة للحصول على مستوى متفاوت من الوثائق الأكثر صرامة. هناك العديد من أدوات التخطيط الشبكي وتجربة المستخدم للاختيار من بينها لهذه المهام.
أدوات إدارة المشاريع أتمتة التوثيق
توفر إدارة المشاريع الأكثر قوة والأدوات ذات الصلة مثل JIRA و Confluence و Asana و Basecamp طريقة للاحتفاظ بجميع المعلومات المتعلقة بالمشروع في مكان واحد. يمكن ربط المهام وتمييزها وتداخلها وتعيينها لأعضاء مختلفين في الفريق ، والذين يمكنهم بعد ذلك ترك التعليقات والإبلاغ عن أي مشاكل. كل هذه الإجراءات ، جنبًا إلى جنب مع المرونة في تكييف هذه الأدوات ، يمكن أن تخلق قدرًا كبيرًا من الوثائق مع القليل من الجهد أو بدون جهد.
علاوة على ذلك ، من الناحية التاريخية ، ينبع جزء من احتياجات التوثيق من متطلبات إعداد التقارير. يريد أصحاب المصلحة الوصول إلى أداء الفريق أو المقاييس الأخرى ذات الصلة. تسهل أدوات إدارة المشروع أتمتة لوحات المعلومات والعروض المخصصة التي تعكس تقدم المشروع وتربطها مرة أخرى بالوثائق ذات الصلة داخل الأداة.
إدارة التوثيق هي قانون موازنة
يكتب مبتكرو Agile Manifesto أنهم يقدرون "برنامج العمل على التوثيق الشامل". ومع ذلك ، فإنهم يضيفون أيضًا إخلاء مسؤولية مفاده أنه "على الرغم من وجود قيمة في العناصر الموجودة على اليمين ، فإنهم [هم] يقدرون العناصر الموجودة على اليسار أكثر." لا يقترح Agile إزالة جميع الوثائق ، لأن بعض الوثائق توفر قيمة واضحة ؛ إنه يقترح ببساطة أن الأولوية يجب أن تكون على برنامج العمل وإضافة الوثائق فقط عند الضرورة اعتمادًا على ظروف المشروع ودون إعاقة تقدم التطوير بشدة.
يتعين على مديري المشاريع تحقيق التوازن بين قضاء وقت أقل في التوثيق وقضاء المزيد من الوقت في تقديم برامج العمل واكتشاف أي شكل من أشكال التوثيق ضروري للنجاح على المدى الطويل.