مشاكل وهمية - سبب ضعف البرمجيات

حقيقة أنها مثيرة للاهتمام لحلها لا يعني أن شخصًا ما يحتاج إليها




"مجموعة من الناس تقوم بالعصف الذهني على جهاز كمبيوتر محمول وورقة ورق" ، تصوير ستيفان ستيفانشيك من Unspalsh

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

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

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

قد تبدو متطلبات تطبيق الويب الصغير هذا كما يلي:

  • تحميل سريع لأمريكا الشمالية مع بث بودكاست مباشر
  • لا توجد حالات فشل في الدقائق ال 15 الأولى لـ 99.99٪ من المستخدمين ، ويفضل عدم وجود فشل كامل
  • تكامل جيد مع Google Adwords وربما أنظمة إعلانات خارجية أخرى إذا كان لديك الوقت
  • روابط ديناميكية لأحدث المنتجات في المتجر ، وإذا أمكن ، توصيات للمستخدمين بناءً على الصفحات المعروضة.
  • التكامل مع Facebook Live player. إذا كان يمكنك بسهولة إنشاء حل تدفق بديل بدون Facebook ، فهذا أفضل

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

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

لكن فريق التطوير لا يفهم غضبك. في الواقع ، من وجهة نظرهم ، تمكنوا من القيام بعمل صعب للغاية.

لقد وضعوا أرواحهم في إنشاء التطبيق ، ولديه ميزات مذهلة:

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

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

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


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

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

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



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

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

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


لكن المشاكل الخيالية لا تأتي فقط من المطورين الملل. كما أنها تنتج عن سلاسل الاتصالات الطويلة.

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

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

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


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

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

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

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

التعقيد المفرط والاختيار الطبيعي


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

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


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

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

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

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

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

وبالتالي ، تظل النظم المصرفية كما هي - ليس لأنها فعالة ، ولكن بسبب الجمود. يتجلى هذا الجمود في شكل حل مشاكل وهمية من أجل تجنب حل مشاكل حقيقية - الحل الذي ، كما لوحظ بالفعل ، يهدد عمل الآخرين. يمكن أن يؤدي حل هذه المشاكل الحقيقية إلى الفصل أو ، في حالة بعض "المؤسسات" غير السارة بشكل خاص مثل Goldman Sachs ، إلى العديد من الرسائل التي تدمر حياة الموظف السابق وتنتهي بانتحار غريب .

"من الصعب جعل الشخص يفهم شيئًا ما إذا كان راتبه يعتمد على ما لا يفهمه!"
- أبتون سنكلير


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

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

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

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

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

هذه حلقة مفرغة لحل المشاكل الوهمية: من الرئيس التنفيذي الذي لا يفهم أن سرقة 30 مليون أخرى لن يمنحه الحب الأبوي ، إلى المتدرب الذي لا يفهم أن زر "إرسال" الجديد في Angular-Material-Bootstrap 19.13.5 لن يتغير يتم تخزين كلمات المرور في نص عادي (ويتم استخدامها للتحقق من ملفات تعريف الارتباط).

ولكن يجب على الجميع الاستمرار في حل المشكلات الخيالية ، لأنهم إذا توقفوا عن فعل ذلك ، فسوف يبدأون في التركيز على المشكلات الحقيقية - وسيفهمون أن النظام بأكمله معطل. يمكن أن يفهموا أنه في زاوية المكتب ، كانت ديبرا تنظر إلى الرسوم البيانية لوقت تشغيل مجموعة الخوادم لمدة عشر سنوات ، على الرغم من أن الشركة انتقلت قبل خمس سنوات إلى AWS. يمكن أن يفهموا أن 99٪ من مهامهم مطلوبة فقط لإنقاذ عمل شخص آخر. وأنا أجرؤ على القول بأن هذا الوعي يصعب قبوله ، وهو أمر مستحيل بالنسبة للأغلبية. لذلك ، يجد معظمهم طريقة للتكيف.

Source: https://habr.com/ru/post/ar422679/


All Articles