بعض الملاحظات على تصميم نظم المعلومات

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

التصميم ليس للمبرمجين


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

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

في أحسن الأحوال ، سوف يقدم العميل ما بين 30-50 ٪ من المعلومات الضرورية ، وينبغي التفكير في الباقي بشكل مستقل. والتفكير أمر بالغ الأهمية. في البداية ، العميل لا يعرف ما يريد! كقاعدة عامة ، يتم تطوير مشترك لنموذج أعمال ، وعندها فقط يتم تجميع قائمة بالوظائف.

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

ملاحظات رشيقة


هل رشيق دين جديد؟


موضوع المناقشة Agile vs. تكنولوجيا التصميم (شلال ، شلال ، شلال) أشبه بنزاع بين المتعصبين الدينيين! لم يكن المقال حول Agile على الإطلاق ، ولكن كانت جميع التعليقات حول التعليقات "المرنة". الرجال! حسنًا ، هل من المستحيل حقًا النظر على نطاق أوسع ورؤية أنه لكلتا الطريقتين يوجد مكان تحت الشمس؟!

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

رشيقة ليست مناسبة في كل مكان ، تماما مثل تكنولوجيا التصميم


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

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

رشيقة هو كيف يفكر المطورين


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

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

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

بدوره دائما على رأسك


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

لانتقاد شيء ما ، تحتاج إلى دراسته.


عند انتقاد تقنية التصميم أو Agile ، نادراً ما يعرف النقاد موضوع غضبهم. هناك عدد قليل جدًا ممن درسوا حقًا (بما في ذلك المعايير: GOST ، ISO ، IEEE) وحاولوا تطبيق تقنية التصميم بجدية. لكن النقاد لها يكفي. عدد قليل جدًا من الفرق الناجحة حقًا (بحيث كان العميل راضيًا!) قدم طلبًا سريعًا ، ولكن هناك ما يكفي من "الدعاة".

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

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

قراءة مقالات أخرى للمؤلف:

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


All Articles