كيفية الافراج في كثير من الأحيان مع العجاف / كانان؟ [مغلق

StackOverflow https://stackoverflow.com/questions/1245312

سؤال

أنا جديد جدا في العجاف / كانبان، لكنه سكب على الموارد عبر الإنترنت خلال الأسابيع القليلة الماضية وتوصل إلى سؤال أنني لم أجد إجابة جيدة ل. يبدو أن العجاف / كانان على خلاف ذلك مثل هذا العمل الجيد لشركتنا، الذي يستخدم بالفعل Scrum، لكنه وصل إلى بعض القيود داخل تلك المنهجية. آمل أن يعطيني شخص ما هنا فكرة جيدة.

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

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

أفضل "الحلول / الأفكار" حتى الآن:

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

كملخص، سؤالي هو: عند استخدام العجاف / Kanban، هل يمكنك الإفراج كثيرا عن إدخال النفايات؟ أو هو الافراج في كثير من الأحيان ليس جزءا من العجاف / كانان؟

معلومات إضافية خاصة بشربي: نحن نستخدم نظام مؤسسة فريق ومكافحة المصدر وكان في السابق بعض التجارب السيئة فيما يتعلق بالتفرط والدمج. هل يمكن حل هذا ببساطة عن طريق جلب بعض الخبرة في هذا المجال؟

هل كانت مفيدة؟

المحلول

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

أفترض أنك تقرأ هذه بلوق حول Kanban VS Scrum، والدليل العملي المرتبط؟

وبالإرابة على سؤالك، نعم، يمكنك الإفراج كثيرا عن Kanban.

نصائح أخرى

تحتاج إلى فهم أنظمة السحب، والتي هي ما تم تصميمه Kanban لإدارة.

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

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

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

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

Kanban لا يتعلق بدفع الطلبات من خلال نظام. يتعلق الأمر بسحب الوظائف من النظام في مقابل طلب يدخل عبر الخطوة الأخيرة.

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

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

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

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

هناك المزيد من هذا فقط للتحكم في المصدر، لكن اختيارك من TFS سيكون الحد منك. عندما تم تصور مشروع Burton في عام 2004، لم تكن شركة Microsoft اهتماما رشيقة، وأقل هزيلا بكثير. سيكون أضعف رابط ميكانيكي لديك أضعف بعض الوقت. يجب أن يكون jackles الخاص بك قد رفعه إبعاد Codeplex الخاص ب Mercurial بعد تقديمه إلى مجتمع Microsoft كطفل ملصق لتنفيذ TFS.

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

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

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

هذا الدور هو تباين صارخ مع اقتراح Scrum. أحد المهندسين في فريق هزيل هو نفسه (أو نفسها) صوت العميل، ودور صاحب المنتج غير ضروري.

يعد شركة Scrum's "مالك المنتج" تقديرا لدور متطور في منظمات تطوير البرمجيات، لكنه بعيد عن الحل المستدام الذي يتجنب النفايات باستمرار. غالبا ما يكون دور "مهندس البرمجيات" غير كاف أيضا، كما هو الحال في بعض الثقافات الفرعية المطورين، أصبح المهندس المعماري بعيد جدا عن العمل.

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

للتحكم المصدري كنت أوصي بشدة perforce.. وبعد يجعل المتفرعة وإدماج التغييرات من الفروع الأخرى واضحة نسبيا، ويوفر أفضل واجهة للتحكم المصدر الذي رأيته حتى الآن.

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

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

كيف نفعلها:

لدينا خط أنابيب مع المراحل التالية

  1. تراكم
  2. لكى يفعل
  3. في التقدم (تطوير واختبار سريع)
  4. مراجعة التعليمات البرمجية
  5. اختبار (اختبار صارم)
  6. اختبار التكامل واختبارات القبول العام
  7. نشر

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

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top