لا تفعل أي شيء أبدًا حتى تصبح جاهزًا لاستخدامه، في البرامج أيضًا؟[مبدأ تويوتا] [مغلق]

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

سؤال

كنت أستمع إلى بودكاست.حيث تحدثوا عن المبادئ التي كانت تويوتا تستخدمها:

لا تفعل أي شيء أبدًا حتى تكون مستعدًا لاستخدامه.

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

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

المحلول

هو - هي يمكن تنطبق على بناء البرمجيات، ولكن لست متأكدا من ذلك يفعل يتقدم

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

[وضع الفكاهة قيد التشغيل]

  • اكتشاف ما يحدث بالفعل، بما في ذلك جينشي جيمبوتسو.

    باستثناء أنه في بعض الأحيان، يفهم المرء أخيرًا ما يحدث عندما يشرح لنا العميل في نهاية المشروع؛) PM_Build_Swing

  • فهم الأسباب الأساسية التي تفسر المظاهر السطحية - مثل "لماذا؟" خمس مرات.

    بالتأكيد ولكن العميل غير متواجد بما فيه الكفاية خلال المشروع ;)

  • النظر في الحلول البديلة على نطاق واسع وتطوير مبررات تفصيلية للحل المفضل.

    بعد فوات الأوان، أصبح المبرمجون يقومون بالفعل بالبرمجة مثل المجانين :)

  • بناء الإجماع داخل الفريق، بما في ذلك موظفي تويوتا والشركاء الخارجيين.

    عفوًا، قام هذا المبرمج بالفعل بإعادة كتابة نظام المصادقة على الرغم من أن النظام القديم كان يعمل بشكل جيد

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

    هل سمعت "الموت بواسطة Powerpoint"؟هذه ليست دائما بدلتنا القوية ;) Death by PowerPoint

[وضع الفكاهة معطل]

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

وقد يكون الأمر أكثر ثراءً قليلاً من عبارة "لن تحتاجها" كما هو موضح في الكتاب "طريقة تويوتا"

نصائح أخرى

نوعاً ما، نعم.هذا جزء أساسي من فلسفة رشيقة.

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

إنها أخبار قديمة قليلاً.غالبًا ما يُطلق عليها "أنت لن تحتاجها" ( "أنت لن تحتاجها" باللغة الإنجليزية غير المعنوية)، ويتم اختصارها ياجني.

المشكلات المرتبطة بتنفيذ ميزة عندما لا تحتاج إليها:

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

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

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

لذا نعم.اتبع هذا المبدأ :)

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