جيد طوال الوقت من اليوم. كان دور الحديث عن تصميم المشاريع. من تجربتي الخاصة ، أعلم أنه في بعض الأحيان يكون إنشاء مشروع من البداية أكثر صعوبة من تنظيم ما هو موجود بالفعل. هذا يرجع إلى حد كبير إلى الإرث الذي خلفته أنت أو أنت. سأحاول في هذه المقالة إخبارك بما يستحق الاهتمام به بشكل خاص واقتراح خطة قصيرة للمتابعة.
فهم المشروع
قبل أن تخطط لشيء ما ، تحتاج إلى فهم المشروع الذي تحتاج إلى تنفيذه. بالنسبة لي ، لقد حددت عدة فئات من المشاريع ، مثل:
- الحرف لمرة واحدة هو مشروع يهدف إلى خلق نوع من مفهوم الرسوم البيانية وبيعها للمستثمرين. السمات المميزة لهذا النوع من المشاريع هي:
- وثائق مجنونة. الفكرة الأساسية واضحة ، لكن حالات العمل في فوضى تامة ، ولا توجد ثقوب منطقية في الاعتبار.
- المواعيد النهائية. حتى 3 أشهر من كتابة الوثائق إلى النموذج الأولي.
- لا توجد خطط تطوير ولا يوجد دعم إضافي مخطط له.
- فريق صغير. عادة ما يصل إلى 5 أشخاص ، بما في ذلك المصممين.
- عدم وجود عمليات تجارية. كل التفاعل فوضوي ، بناءً على التواصل بين الأشخاص وتوضيح النقاط الرئيسية و / أو الابتكار أثناء التنقل.
- الأدوار غير واضحة. لا يوجد تقسيم واضح للسلطات ومجالات المسؤولية.
- لا توجد بيانات حقيقية. يتم إنشاء جميع البيانات من أجل "الجمال" ومصممة للحصول على أفضل عرض.
- لتسريع التنمية ، يتم استخدام التبعيات الخارجية بالكامل.
- بدء التشغيل هو مشروع تم تكوينه لتنفيذ فكرة محددة ، مع التطوير اللاحق. عادةً ما يتم تطوير هذه المشاريع وفقًا للنموذج الحلزوني ، ولهذا السبب ، فإن لها نفس الميزات المميزة تقريبًا مثل النوع الأول (حرف لمرة واحدة):
- انهيار واضح إلى مراحل. الحد الأدنى: الشروط وقائمة الوظائف التي يجب تنفيذها في فترة زمنية محددة.
- الوثائق عاقل نسبيا. تحليلات أجريت ، معايير لمجموعة مراحل الإنجاز ، وغالبا ما تأتي التحسينات خلال سباق. في معظم الأحيان استخدام الشلال ، على الرغم من حقيقة أن Agile ادعى.
- متوسط المواعيد النهائية للوظيفة الرئيسية. في المتوسط ، من 6 إلى 12 شهرًا.
- في المراحل الأولية ، يتم استخدام التبعيات الخارجية ، والتي تتغير في النهاية إلى تنفيذها.
- فريق صغير. عادة ما يصل إلى 7-10 أشخاص.
- هناك فصل بين الأدوار ، ولكن المسؤولية غير واضحة.
- مشروع يمكن أن يتحور. في مرحلة واحدة ، قد يتغير مفهوم أو نهج التنفيذ. عادة ما يكون هذا بسبب متطلبات المستثمرين ، وهي فكرة أو أخطاء فاشلة في البداية في الهندسة المعمارية.
- بيانات حية مشروطة. يعمل في مجموعات التركيز أو تحليل البيانات الحية من موارد الطرف الثالث. صحيح ، هذا لا يحدث دائما ...
- نظام المعلومات هو مشروع يقوم بتنفيذ فكرة مع خطط للتكامل في خدمات الطرف الثالث.
- هناك خطة التنمية.
- وثائق مكتوبة بوضوح. الحد الأدنى: وصف API موثق.
- قد تحتاج إلى التكامل مع خدمات الجهات الخارجية ، أو تثبيت العكازات ، أو إعادة إنشاء أجزاء من النظام.
- هناك إصدارات وسيطة ، إصلاحات ساخنة.
- فريق متوسط. عادة من 10 إلى 20-30 شخص.
- الفصل الواضح بين المسؤوليات.
- متطلبات الأمان: بعد التحليل ، يتم إنشاء الحالات التي يمكن أن تؤدي إلى انهيار النظام.
- يكرس الوقت للاختبار.
- المستخدمة من قبل رشيق.
- هناك دائما تقريبا تراكم.
- يتم استخدام التبعيات الخارجية المكلفة لتنفيذها بمفردها. تمارس على قدم المساواة مع تلك الملكية.
- النظام المغلق هو مشروع ضخم مصمم لتلبية الاحتياجات المحددة للعميل ، مع مزيد من التحسين.
- العملاء محددة.
- هناك خطة التنمية.
- وثائق التصميم للتنمية. لمساعدة المستخدمين ، تمت كتابة وثائق منفصلة بناءً على طلب العميل.
- تمايز حقوق المستخدم.
- هناك دائما تقريبا تراكم.
- حجم الفريق عادة ما يكون أكبر من المتوسط. كقاعدة عامة ، من 10 أشخاص إلى فقدان معدل ضربات القلب.
- المستخدمة من قبل رشيق. من وقت لآخر ، تصل مهام إضافية يجب تنفيذها بأي ثمن.
- مظاهرات غير متوقعة. تتم الطلبات بناءً على طلب الإدارة العليا ، لذلك لن تكون دائرة الاختبار العملية زائدة عن الحاجة.
- Saas الحل هو مشروع ضخم مع تكوين مرن ومزيد من التخصيص لعميل معين.
- نظام متعدد الوسائط. ينقسم النظام إلى عدة أجزاء. والتي يمكن استخدامها بشكل فردي ، حتى خارج نطاق مشروع معين.
- تخطيط واضح. الحد الأدنى: يتم تقدير تكاليف العمالة لتنفيذ الميزات. لقد تم تخصيص الوقت للتحديث وإعادة البناء.
- الوثائق الحجمي. يوصف كل شيء تقريبًا ، كقاعدة ، بما في ذلك حالات الاختبار.
- كقاعدة عامة ، لا توجد تبعيات خارجية ويتم كتابة تطبيقاتها الخاصة بأجزاء من النظام. حتى لو كان هناك تطبيقات الطرف الثالث.
- العديد من فرق التطوير. كل شخص مسؤول عن جزءه من التطوير ، سواء أكان دعم أم أمام.
- اختبار تغطية كل شيء وكل شيء. يتم استخدام اختبارات السيارات والوحدة والانحدار والتكامل.
جميع التدرجات مشروطة وغالبا ما توجد أنواع التدفق. أريد أن أشير إلى أن جميع الأنواع يمكن أن تتحول إلى بعضها البعض ، والفرق الدقيق هو في تكلفة التحديث. على سبيل المثال ، كان المشروع في الأصل "حرفة لمرة واحدة" ، ثم تطورت إلى "نظام مغلق". عادةً ما يؤدي ذلك إلى إعادة كتابة كاملة أو شبه كاملة للنظام أو إعادة تشكيله. كما تعلمون ، هذا ليس ممكنًا اقتصاديًا. للسبب نفسه ، يُنصح بفهم نوع المشروع الذي تحتاجه لإنشاء من البداية ، ومحاولة تحديد مصيره في المستقبل.
لتحديد نوع المشروع ، أدليتُ بأسئلة أدناه ، بعد أن تلقيت إجابة ، سيُظهر لك ما يريدونه منك:
- الغرض من المشروع؟
- قائمة كاملة بما يجب تنفيذه؟
- هل هناك أي وثائق؟
- ما هي المواعيد النهائية؟ تواريخ دقيقة مرغوبة.
- هل يتم التخطيط للتفاعل الخارجي مع أنظمة الجهات الخارجية أم سيكون للمشروع واجهة برمجة تطبيقات خارجية
- هل هناك أي تطورات؟
- حجم الفريق؟
- من المسؤول عن ماذا؟ الذي يحدد المهام ، من يقبل ، الذي لديه حق النقض.
- هل هناك أي خطط تطوير وما هي؟
- من هو العميل؟
- هل هناك ميزانية لشراء حلول تسليم المفتاح؟
- ما هي المنهجية التي تخطط للعمل بها
- هل هناك أي نظائرها؟
كما ترون ، القائمة ليست كبيرة جدًا. ومع ذلك ، لسبب غير معروف ، يقوم عدد قليل من الناس بطرح مثل هذه الأسئلة قبل البدء في فعل أي شيء. تسأل لماذا يجب أن أفهم نوع المشروع؟! لديك دائما لجعل المشروع يعيش إلى الأبد؟! على العموم ، أنت على حق ، ولكن هناك فروق دقيقة ، كما هو الحال في نكتة مشبعة بالبخار. هذه الفروق الدقيقة هي الموارد والجداول الزمنية. لا تنس أننا نعمل من أجل الأعمال التجارية وننفذ المهام. عندما تعرف نوع المشروع ، يمكنك التضحية بشيء ما دون أي ضمير من أجل تحقيق أهدافك.
اختيار التكنولوجيا
في الاختيار ، من الأفضل الالتزام بالقاعدة: لا ينبغي أن تكون التكنولوجيا سوبرنوفا ، بل قد تكون قديمة أيضًا. إذا كانت التكنولوجيا أو الإطار جديدًا ، فقد ينتج عن ذلك مشكلات مثل:
- البحث عن الموظفين المؤهلين
- آفاق التنمية: في المراحل المبكرة ، قد تموت التنمية ، أو على العكس ، إذا كانت التكنولوجيا قديمة ، فسيتعين علينا علاج الأخطاء من قبل أنفسنا.
- عدم وجود حلول جاهزة للحلول الجديدة ، وعدم وجود تحديثات للحلول القديمة.
قائمة المشكلات هذه ليست متعلقة بالتكنولوجيا فحسب ، بل أيضًا بالتبعية الخاصة بأطراف أخرى. كل ما سبق يمكن أن يدفن المشروع في مهده.
قبل أن تختار شيئًا معينًا ، فكر عدة مرات. إنشاء جدول سيء السمعة من الفوائد مع عوامل الأهمية للمشروع.
هذا المثال مخصص لمشروع خيالي:
اسم وظيفة المشروع.
| نسبة أهمية المشروع
|
---|
العمل مع النماذج
| 3
|
التوجيه
| 1
|
سهولة كتابة الرسوم المتحركة
| 0.3
|
كما يتضح من الجدول ، فإن المعايير المهمة للاختيار هي "العمل مع النماذج" و "التوجيه". بساطة إنشاء الرسوم المتحركة لهذا المشروع ليست كبيرة. بعد ذلك ، سنقوم بترقية الجدول بإضافة أعمدة تقنية جديدة. في حالتنا ، سيكون هناك اثنان.
اسم وظيفة المشروع.
| نسبة أهمية المشروع
| التكنولوجيا 1
| التكنولوجيا 2
|
---|
العمل مع النماذج
| 3
| +
| ±
|
التوجيه
| 1
| +
| ±
|
سهولة كتابة الرسوم المتحركة
| 0.3
| +
| -
|
استنادًا إلى البيانات الموجودة في الجدول ، نحن نفهم أن "التكنولوجيا 2" تعمل مع النماذج والتوجيه عرجاء ، وإنشاء الرسوم المتحركة يشبه استدعاء الشيطان. ونتيجة لذلك ، فإن الوزن المحدد لهذه التكنولوجيا هو 2. أنت تسأل لماذا 2؟ كل شيء بسيط! إذا قمت بتعيين ± ، في هذه التقنية يتم تنفيذ وظيفة محددة ، ولكن مع نوع من "العكازات" ، أو أنها أكثر كثافة في العمل. في مقارنتنا ، ستكون "التكنولوجيا 1" أكثر ربحية ، بإجمالي 4.3. أعتقد أن تفسير تكوين المبالغ غير ضروري. هذا الجدول لا يعمل فقط مع التكنولوجيا ، ولكن مع كل ما يتطلب المقارنة والاختيار من القائمة. الشيء الرئيسي هو عدم نسيان أنه كلما زاد عدد المعايير التي تكتبها ، كلما كان من السهل عليك الاختيار.
هندسة معمارية
من الممكن حاليًا الاختيار من بين مجموعة متنوعة من الخدمات المختلفة التي توفر أدوات للتصميم المعماري. صحيح أن أياً منهم يعاني من عيوب ، لأن بعضها مهم للغاية ، لكن بالنسبة لشخص لا. بما أنني "oldfag" ، فإنني أفضل قطعة ورق وقلم أو لوحة وعلامة.
من أجل فهم ما يجب الحصول عليه في المقام الأول ، تحتاج إلى تحديد الأجزاء الرئيسية للنظام ، ثم اختيار طريقة بناء الهيكل. كقاعدة عامة ، في الممارسة العملية ، يتم استخدام ثلاثة فقط:
تنازلي - يدفع المطورون من العقد الكبيرة للنظام وينتقلون إلى نقاط أصغر. معنى الهندسة المعمارية هو أن المكونات ذات الأولوية هي العقد الكبيرة التي تحتوي على أصغر.
تصاعدي - يدفع المطورون من الأجزاء الصغيرة ويذهبون إلى الأجزاء الأكبر. معنى الهندسة المعمارية هو أنه في البداية يتم إنشاء الكثير من المكونات الصغيرة ، ويتم تجميع المكونات الأكبر منها بالفعل.
المتراصة هي بنية غير قابلة للتجزئة ، وغالبًا ما يشار إليها باسم "التراث". في الواقع ، هذا هو هيكل جامد ، التغيير الذي يتطلب حلولا دون "عكازات". هذا هو أسوأ خيار ، لكن ، مثل كل شيء في عالمنا ، له الحق في الوجود. يتم استخدام متراصة لتنفيذ وظائف محددة ولا تخطط للحفاظ عليها في المستقبل. بالمقارنة مع الآخرين ، فإن سرعة هذا النهج أسرع عدة مرات. حسنًا ، فقط لأنك تستطيع أن تغمض عينيك كثيرًا.
يعتمد اختيار الهندسة المعمارية على أهداف المشروع وسرعة التطوير. عادة ، يتم استخدام الطريقة الأولى عندما لا تنفد المواعيد النهائية ، وعدد الوحدات الكبيرة صغير. الميزة الخاصة به هي أنه من الممكن تمثيل العلاقة بين وحدات محددة بدقة. من السلبيات ، أستطيع أن ألاحظ وقت تطوير طويل مرتبط بسلسلة من الإجراءات.
تُفضل الطريقة الثانية عندما تكون سرعة التطوير العالية مطلوبة ولا يوجد فهم لبنية المستوى الأعلى. الميزة هي العديد من المكونات الصغيرة التي تستخدم في بعض الأحيان في وحدات كبيرة مختلفة. تجدر الإشارة إلى أنه يمكن تنفيذ كل التطوير تقريبًا بشكل متوازٍ ، دون النظر إلى المهام الأخرى. ستكون عيوب هذا النهج مكونات لا تفي بمتطلبات بنية المستوى الأعلى ، وبالتالي ، سيتعين إعادة كتابتها أو إنشاء إمكانية التخصيص.
كما تبين الممارسة ، يتم اختزال كل تقنيات التطوير إلى نهج حلزوني ، يتميز بتراكم تدريجي للوظائف. لا أعتقد أنه من المناسب النظر فيه في إطار هذه المقالة.
تخطيط
ستساعدك "خريطة الطريق" المزعومة على أداء وظيفتك بكفاءة أكبر. في الواقع ، هذا هو جدول زمني ، مع مواعيد نهائية مشروطة لتقديم وظيفية معينة. يمكن تأجيل التواريخ ، ولكن كما تبين الممارسة ، مع التنفيذ الصحيح للنقاط المذكورة أعلاه ، فإن التعديل سوف يصل إلى 30 ٪. في الممارسة العملية ، هذا هو عادة 10-15 ٪. سوف يسمح لك التخطيط بتتبع تقدم المشروع ، راجع تراجع ، إجراء تعديلات في شكل موارد أو تحول في المواعيد النهائية ، إلخ.
في وقت لاحق أنهم سوف شكرا لك
يبدأ أي مشروع بالوثائق ، وكلما كان ذلك أفضل ، كلما كان ذلك أفضل! لذلك لا تكون كسول - نحن نوثق كل شيء. نعم ، سيستغرق الأمر بعض الوقت ، لكن بعد ذلك يمكن أن ينقذك من غضب القيادة إذا حدث خطأ ما ، وليس خطأك. أيضًا ، لا تنسَ أنه بعد ظهورك على المشروع ، سيتعين عليهم فهم ما قمت بإنشائه. وبدون مستندات ، لن يكون ذلك سهلاً.
النتائج
توضح هذه المقالة كيفية التصرف وما الذي تبحث عنه عند بدء المشروع. هذه المراحل عالمية للأمام أو الخلف أو الاختبار أو جميعها معًا. لقد تعمدت تجنب خصائص التكنولوجيا ، حتى لا أكون مضللاً.
عندما يكون لديك خيار حول المجموعة التقنية التي تريد استخدامها ، والهندسة المعمارية ، وتحتاج إلى تحديد الإطار الزمني للمشروع ، يمكن أن يساعدك الجدول أدناه:
نوع المشروع / الميزات
| حرفة المتاح
| بدء التشغيل
| نظم المعلومات
| أنظمة مغلقة
| حلول ساس
| بعض المشاريع الأخرى
|
---|
عدد الأشخاص الذين تقل أعمارهم عن 5 سنوات
| | X
| X
| X
| X
| |
عدد الأشخاص من 7 إلى 10
| | | | | | |
عدد الأشخاص من 10 إلى 30
| X
| | | | | |
كمية أكثر من 30
| X
| X
| | | | |
تاريخ الانتهاء تصل إلى 3 أشهر
| | X
| X
| X
| X
| |
فترة التسليم من 6 إلى 12 شهر
| | | | | | |
فترة أكثر من 12 شهرا
| X
| | | | | |
الوثائق
| | | | | | |
متطلبات التكامل مع الأنظمة الأخرى
| | | | | | |
عميل محدد معروف
| | | | | | |
مزيد من الدعم المخطط
| | | | | | |
تخطيط
| | | | | | |
يتم تحديد الأدوار بوضوح
| | | | | | |
التبعيات الخارجية المسموح بها
| | | | | | |
هناك بيانات حية للاختبار والتحليل.
| | | | | | |
متطلبات السلامة
| | | | | | |
اختبار المطلوبة
| | | | | | |
يتطلب وثائق المنتج أو التعليمات
| | | | | | |
تنفيذ وحدات المطلوبة
| | | | | | |
العديد من فرق التطوير
| | | | | | |
فقط
| | | | | | |
كيفية استخدام الجدول ، أعتقد أن الجميع قد خمّنوا بالفعل ، ولكن في حالة - تمامًا كما في الجدول السابق ، فقط مع إضافة صغيرة في شكل خلايا مملوءة. وهذا يعني أنه لا يمكن استخدام القيمة لهذا المشروع. أيضًا ، يرجى ملاحظة أن الجدول قد يكون غير مكتمل ، أضف الصفوف التي تراها ضرورية.