المحتوى عن 'إدارة التغيير'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
    • React
  • HTML
    • HTML5
  • CSS
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • ASP.NET
    • ASP.NET Core
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • سهولة الوصول
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 3 نتائج

  1. احتفلت في هذا الشهر بالذكرى الرابعة لانضمامي لفريق Buffer الرائع – أو "Bufferversary" كما نُطلق عليه. إن أي عمل تنخرط فيه، تتعلم من تجاربه، تصنع فيه صداقات جديدة وتبني ثقتك بنفسك مع تقدّمك اتقانك لهذا العمل، كل ذلك يترك أثرًا فيك ويساهم بتغيير ذاتك. وشخصيًّا كنت محظوظةً لتمكّني من ترك بصمةً جيّدة في جميع الأعمال والوظائف التي عملت بها مُسبقًا، وترك كل واحدٍ منها أثرًا طيّبًا فيّ. ولكن العمل مع فريق Buffer؟ حسنًا هذه التجربة كانت مُختلف بحقّ. إنّه لمن المُذهل حقًّا التفكير في الأثر والصبغة الرائعة التي خلّفتها القيم والأفكار التي تبنّاها فريق في حياتي خلال الأربع سنوات الماضية، مُساهِمةً وبعمق في هيكلية وإعادة هيكلة شخصيّتي وذاتي. إلا أن العنصر الذي حمل معه الوقع الأكبر وكان له النصيب الوافر في هذا التغيير هو واقع أنني كنت طيلة تلك السنوات الأربع أعمل عن بعد، سيّما أنني لم أخض تجربة العمل عن بعد (ولا حتى قليلًا) في السابق. ولا زالت ذكرى مقابلتي فريق Buffer للمرّة الأولى تلوح في فكري كل حين، بعد رحلةٍ طويلةٍ وشاقّةٍ إلى جنوب إفريقيا من أجل اجتماع فريق Buffer الأول لي. كانت اللحظات والتحيّات الأولى التي ألقيتها عليهم لا تُنسَ. العمل عن بعد من المواضيع الأساسية التي تستهدفها مجموعة Buffer، ذلك لأننا نعتقد أنّه نهج المستقبل وأساسه – ونعلم أنه بالإمكان إنشاء منظمات ومجموعات العمل عن بعد أكثر مما يعتقده الكثيرون. ولا يجب أن تتقوقع هذه المنظمات والمجموعات في مكان واحد كما هو الحال مثلًا في وادي السيليكون (والذي ينحصر العمل فيه في مكان واحد) بل بالإمكان أن تكون في كلّ مكان وأيّ مكان. بعد المقدّمة السابقة، يسعدني أن أشارك وأطرح 40 مُلاحظة وعبرة استنبطّها خلال سنواتيَ الأربع في العمل عن بعد. وللعلم فقط عندما بدأت العمل عن بعد لم أكن واثقة تمامًا من جدوى هذا الأمر أو حتى إذا ما كان مناسبًا لي، والآن لا أستطيع تخيّل نفسي أقوم بأيّ نوعٍ آخر من الأعمال. ستزداد فعاليّتك وهمّتك في العمل 10 مرّات. العمل عن بعد في معظم مستوياته وتصنيفاته مُتاح (تقريبًا) للجميع! وهو في متناول الشركات أكثر مما تعتقد. إذا ما كنت تنوي خوض تجربة العمل عن بعد في شركتك الخاصة فاحرص على أن يسود العدل بين جميع العاملين لديك، سواءً العاملين في مؤسستك في مكاتبهم أم أولائك الذين يعملون عن بعد، فإنه لمن المزعج حقًّا أن تشعر بأنك موظف من الدرجة الثانية فقط لأنك تعمل عن بعد وليس في مكتب الشركة. سيساعدك العمل عن بعد على خلق روتين صباحي ومسائي منّظم ليومك. وقد يكون روتين العمل عن بعد بسيط لدرجة تشبه ري الأزهار يوميًّا أو الذهاب في نزهة. الثقة هنا ليست معيار ضروري للتوظيف عن بعد في شركتك، فسواءً أقمت بتعيين موظفين تثقت بهم أو لا (ولا مانع من ذلك)، فثق تمامًا في كلا الحالتين أن الموظفين يعملون حتمًا. يدرك معظم الأشخاص تمامًا استعدادهم وقدرتهم للعمل عن بعد، فإذا ما كنت تعتقد أنك عند توظيفك للعمل عن بعد، أنّك ستمضي يومك كلّه على التلفاز دون العمل، فلا تجرّب العمل عن بعد، لأنه يحتاج إلى همّة في العمل في المنزل. وإذا كنت من النوع الانطوائي الذي يفضل البقاء في المنزل، فمع العمل عن بعد ستكون أقل حاجةً إلى خوض الحياة والعمل خارج منزلك. وعلى النقيض مما سبق، إذا ما كنت منفتحًا جدًا، فإن العمل عن بعد سيزيد حاجتك إلى الانفتاح ويتيح لك وقتًا جيّدًا لتقضيه خارج المنزل. أغلق حاسوبك المحمول في نهاية يومك وأعلن نهاية العمل، فالعمل لن يهرب وسيكون جاهزًا لك في اليوم القادم، لذا امنح نفسك قسطًا من الراحة. في العمل عن بعد يمكنك صياغة قوانينك وظروفك بنفسك. فهناك الكثير من الناس سيخبرونك أن تتجهّز جيّدًا وترتدي ثيابًا رسميّة أثناء عملك عن بعد، حتى في منزلك. ولكن بالنسبة لي بعد اليوم الخامس من بدئي العمل عن بعد قررت أن بنطال اليوغا هو الأكثر راحة لي، حتى أني لم أعد أضع مكياجًا أبدًا. فجد أنت ما يناسبك وما يريحك أثناء عملك. قد تكون سعيدًا بعملك عن بعد لكن خمّن من سيكون أكثر سعادةً منك؟ نعم إنهم أفراد أسرتك سيسعدون بك طوال اليوم بجانبهم. لا يُشترط أن تكون حاضرًا حتى يكون العمل جيّدًا ومُتقنًا، هذه القاعدة عقيمة تمامًا. خذ قسطًا من الراحة متى شئت واذهب في نزهة خارج منزلك. من أكبر أسرار العمل عن بعد والتي لا يُفصح لك الناس عنها هو المراقبة الذاتيّة والإحساس بالمسؤولية، وأعتقد أن السبب في ذلك هو أن "المراقبة" المستمرة لك لا تُحيط بك في منزلك كما هو الحال في مكتبك، تخيّل نفسك وأنت تنظر من حولك في منزلك لترى أنك الوحيد الذي تعمل منتظرًا الكعكة التي في مطبخك. إذا ما كنت وفريق العمل عن بعد تعملون عن طريق تطبيق سلاك، فسيكون هنالك مهام طارئة كاذبة لك دومًا، فلا ضير من التباطئ قليلًا في تنفيذها. سرعة الإنترنت لديك قد تجعل يومك مثمرًا أو قد تحيله مضيعةً للوقت. لذلك فإن سرعة الإنترنت لديك عاملٌ حاسم، فإذا ما كنت تسافر وتعمل عن بعد فاحرص دومًا على السؤال عن سرعة الواي الفاي في مكانك وتأكّد من أنها تناسب عملك. أما في منزلك فإذا استطعت تجهيز شبكتك بألياف ضوئية فلا مانع من ذلك. إذا كنت تعمل في منزلك معظم الوقت فخصّص مكانًا لك، مكانًا خاصّا بالعمل فقط (إذا كان ذلك بالمقدور). هذه الخطوة قد تكون مهمّة إذا ما كانت زوجتك (أو زوجك) تعمل عن بعد أيضًا (من ناحيتي قمت بدفع زوجي للعمل في الطابق الثاني، لآخذ راحتي أنا في مساحتي الخاصّة!). بإمكانك إعداد طعامك متى ما أردت وكيفما أردت، هذا مُذهل حقًّا. جانب سلبي: عندما تُعدُّ كميّة طعام فائضة فلا يمكنك مشاركتها بين زملائك في العمل، لذا إن حصل ذلك احفظها في الثلّاجة. بالرغم من إمكانية العمل عن بعد من المنزل، فلا غنى (حتى الآن) عن الاجتماعات بين الأعضاء العاملين عن بعد. فلا يمكننا كفريق في Buffer المُضي لأكثر من 6 أشهر دون الاجتماع ولو ببعض الأعضاء. هذه الاجتماعات تترك وقعًا قوّيًا وتأثيرًا جيّدًا لشحذ الهمم وتنظيم العمل. بإمكانك ارتداء ملابسك الرياضية المريحة طيلة اليوم، لامانع من ذلك. من الأفكار المميّزة وأنت تعمل عن بعد في منزلك هي وضع إحدى النباتات الجميلة في نافذتك التي تُطلق نظرك فيها وأنت تعمل، فمن الرائع مشاهدتها وهي تنمو يومًا بعد يوم وأنت تمضي وقتك في العمل. ثلاث كلمات يمكنني أن أنصحك بها لتجربة عمل عن بعد فريدة في منزلك وهي: «اشترِ أرجوحة شبكية». عندما تعمل عن بعد فلابُدّ من تخصيص بعض الوقت للسرنديبية (وهو مصطلح يُطلق على الاكتشاف بالصدفة). فخذ استراحةً من العمل وألق التحيّة عبر فيديو على مجموعتك ثم عد للعمل ببساطة. ففي فريق Buffer نخصص ما نُطلق عليه مُحادثات "الساعة المُفاجئة" من أجل تدعيم العلاقة وتطويرها بين الأعضاء. عندما تشرع في البدء في عملك اليومي فمن الصعب التوقّف حتى الانتهاء منه، لذلك احرص على أن تبدأ صباحك بنشاط. عندما تكون في خضمّ عمل معقّد أو يتطلّب بعد الإبداع فلا مانع من أن تأخذ نُزهة قصيرة لمدّة 20 دقيقة، هذا سيساعدك على العودة إلى العمل بهمّة ونشاط أكبر. بإمكانك الإعلان عن انتهاء عملك في هذا اليوم بوجبة عشاء شهيّة. يمكنني القول بأن موسيقى العمل هي من الأمور المهمّة جدًّا! فعندما أبدأ العمل أبحث أولًا عن موسيقى هادئة وطويلة (ساعة إلى ساعتين) إذ تساعدني دومًا على التركيز في العمل. وبإمكانك البحث في راديو Soullection الفريد عن موسيقاك المفضّلة. محادثات الفيديو هي طريقة رائعة في العمل! فهناك العديد من الطرق التي يمكن اتباعها لجعل تجربة العمل عن بعد مع زملائك تجربة واقعية جدًّا. في فريق Buffer نقوم دومًا بتخصيص وقت لمحادثات الفيديو عن الموسيقا واستراحات اليوغا والعديد من النشاطات الأخرى. تنويه بسيط بشأن محادثات الفيديو: عند استخدامك له عدّة ساعات للتواصل مع زملائك في العمل عن بعد ستلاحظ أنك تألف شكل وجهك كما لم تألفه من قبل. التواصل من دون الحضور على أرض الواقع هو أمر صعب حتمًا، وذلك إذا ما أردنا معرفة النوايا والغاية الحقيقية من تفاعلات الشخص معنا. تحديد المناطق الزمنيّة المختلفة حول العالم بدقة أمرٌ ليس بالسهل ولاسيّما أثناء العمل وتوزيع المهام، لذلك هنالك مواقع رائعة لمساعدتك في ذلك مثل Every Time Zone و Timezone.io . تنوّع المناطق الزمنيّة في مجال العمل عن بعد مُذهل حقًّا! فتخيّل أن العمل يجري على مدار 24 ساعة يوميًّا، حتى وأنا أغط في نوم عميق فإن هنالك أحد ما يعمل في ذلك الوقت، أليس هذا رائعًا؟ إذا كان باستطاعتك، قم بتخصيص وقت محدد لاجتماعاتك ومقابلاتك مع زملائك في العمل وسخّر الوقت المتبقي في التركيز على عملك. بالنسبة لي أخصّص وقتي في الصباح من أجل المقابلات أو المحادثات مع زملائي حتى أتفرّغ بشكل كامل للعمل ليلًا. تواصل قدر الإمكان مع زملائك واحصل منهم على توجيهات ونصائح دومًا، فالعمل بشكل أعمى وعلى غير هدى يقتل الكثير من وقتك ويتعبك. إذا كانت لديك سيّارة فقد تنسى تمامًا ساعة الازدحام اليوميّة التي لطالما عانيت منها سابقًا وأنت ذاهب أو عائد من عملك. فعندما تتذكر تلك اللحظات العصيبة من الانتظار الطويل قد تلوم نفسك كثيرًا، ثم لا تلبث أن تكون ممتنًّا أن حصلت على فرصة العمل عن بعد ولم تعد مضطرًّا للعودة إلى ذلك المستنقع المُزدحم. قد يغار من حولك من سهولة عملك وسلاسته. فالعمل السهل اليسير مطمع الكثيرين وأول ما يسألني عليه الناس عندما أتحدّث لهم عن عملي عن بعد. لذا لا ضير في مساعدتهم وتوجيههم إلى محاولة تحصيل فرصهم للعمل عن بعد هنا أو هنا. أدوات وبرامج العمل عن بعد هي الأساس. فلم نكن لنستطيع أن نحافظ على فريق Buffer وأن نضمن استمراريّة عمله قبل 10 سنوات من الآن، فالتطور البرمجي الحديث ساعدنا كثيرًا، وأنا شخصيًّا ممتنّةٌ جدًا لجميع البرمجيات والأدوات التي كانت عونًا لنا في فريق Buffer. يمكنك في بعض الأحيان استخدام الرموز التعبيرية في المحادثات (GIFs و الايموجي) للاستعاضة عن التعابير الحقيقية. فقد أرفقنا في منصّة سلاك الخاصّة بفريق Buffer الكثير والكثير من التعابير كـ Slackmojis و Bitmojis و Giphy. إذا كنت محظوظًا وسنحت لك الفرصة للعمل عن بعد فساعد الآخرين من حولك وعرّفهم بهذه الفرص الرائعة وساعدهم على تحصيل عمل لهم أيضًا. المزيد من أجلك إذا كنت تعمل مسبقًا عن بعد فأود حقًّا سماع تجربتك الفريدة. هل لفت أي من الدروس التي طرحتها سابقًا انتباهك؟ ماذا كنت لتضيف أيضًا إلى هذه القائمة؟ أودّ حقًّا الاطّلاع على قائمتك والتعرّف على رأيك في ذلك الصدد. ترجمة -وبتصرف- للمقال ‎40 Lessons From 4 Years of Remote Work لصاحبته Courtney Seiter
  2. تعدّ الصيانة لميزة الأكثر قيمةً لتطوير البرمجيات الحديثة. يمكن تعريف قابلية الصيانة بشكلٍ أساسيّ بأنّها وقت العمل اللازم لمطور جديد حتى يتعلم البرنامج قبل أن يتمكن من البدء في إجراء تغييرات مهمة فيه. كلما طال الوقت، انخفضت الصيانة. يقترب هذا الشرط الزمني في بعض المشاريع من اللانهاية، مما يعني أنه غير قابل للصيانة حرفيًا. أعتقد أن هناك سبعة أخطاء أساسية وقاتلة تجعل برنامجنا غير قابلٍ للإصلاح وإليك هذه الأخطاء. الأنماط المضادة لسوء الحظ، لغات البرمجة التي نستخدمها مرنة جدًا. إنها تسمح بالكثير وتمنع القليل جدًا. مثلًا، لا تعارض لغة جافا وضع التطبيق بالكامل في "صنف" واحد مع عدة آلاف تابع. تقنيًا، سيتم ترجمة التطبيق وتشغيله. ولكن هذا نمط مضاد معروف يدعى God object. وبالتالي، فإن النمط المضاد هو طريقة مقبولة تقنيًا لتصميم الأشياء التي يُتفق عليها عمومًا أنها خاطئة. هناك العديد من الأنماط المضادة (anti-pattern) في كل لغة. وجودها في منتجك يشبه وجود الورم في الكائن الحي. بمجرد أن يبدأ في النمو، يصبح من الصعب جدًا إيقافه. وفي النهاية، يموت الجسم بأكمله. في النهاية، يصبح البرنامج بأكمله غير قابلِ للإصلاح ويجب إعادة كتابته. بمجرد السماح لبعض الأنماط المضادة في المنتج، ستحصل في النهاية على المزيد منها، وسينمو "الورم" فقط. يعدُّ هذا صحيح خاصةً بالنسبة للغات البرمجية كائنية التوجه (Java، و C ++، و Ruby وPython) ويرجع ذلك غالبًا إلى أنها ترث العديد من اللغات الإجرائية (C، Fortran وCOBOL) ولأن مطوري OOP يميلون للتفكير بطريقة إجرائية وضرورية. على كلّ حال، بالإضافة إلى قائمة الأنماط المضادة المعروفة الموجودة، أنا أعدّ أيضًا أنَّ هذه الأشياء القليلة منهجيات تشفير سيئة. اقتراحي العملي الوحيد هنا هو القراءة والتعلّم. ربما تساعدك هذه الكتب أو كتاب "Elegant Objects" في ذلك. حاول دائمًا أن تشك في جودة برنامجك، ولا تكتفي بأن "يعمل فقط". كما هو الحال مع السرطان، كلما تم تشخيصه أبكر، كانت فرصة النجاة أكبر. تغييرات لا يمكن تعقبها عندما أنظر إلى سجل الإيداع (commit) يجب أن أكون قادرًا على توضيح كل تغيير، ما الذي تغير، ومن قام بالتغيير، ولماذا تم إجراء التغيير. إضافةً لذلك، يجب قياس الوقت اللازم للحصول على إجابات هذه الأسئلة الثلاثة بالثواني. ولكن في معظم المشاريع لا يتم تطبيق ذلك. إليكم بعض التوصيات العملية: استخدم الملاحظات دائمًا بغض النظر عن مدى صغر حجم المشروع أو الفريق، حتى لو كنت فيه لوحدك فقط، أنشئ ملاحظات (مشكلات GitHub) لكل مشكلة تحلّها. اشرح المشكلة باختصار في الملاحظة ووثّق ما تفكر به هناك. استخدم الملاحظة كمخزن مؤقت لجميع المعلومات المتعلقة بالمشكلة. انشر كل شيء يمكن أن يكون له أي فائدة مستقبلًا، عندما يحاول شخص ما فهم ما هي "تلك الالتزامات الغريبة القليلة". أضف مراجعًا للملاحظات في الإيداعات لا داعٍ للقول أنّه يجب أن يكون لكل إيداع (commit) رسالة. الالتزامات بدون رسائل تعتبر ممارسة سيئة جداً؛ لن أناقش لماذا. ولكن الرسالة بمفردها لا تعد كافية. يجب أن تبدأ كل رسالة برقم الملاحظة التي تعمل عليها. سيقوم GitHub (أنا متأكد من أنك تستخدمه) بربط الالتزامات والملاحظات تلقائيًا، مما يزيد من إمكانية تتبع التغييرات. لا تحذف أي شيء يسمح لنا Git بالقيام برفع (push) "قسري" يقوم بالكتابة فوق كامل الفرع (branch) الذي كان موجودًا سابقًا على الخادم. هذا مجرد مثال واحد على كيفية إتلاف سجل التطوير. شاهدت عدة مرات أشخاصًا يحذفون تعليقاتهم في مناقشات GitHub لجعل الملاحظات تبدو أكثر "نظافة". هذا خطأ، لا تقم أبدًا بحذف أي شيء. حافظ على سجلك بغض النظر عن مدى السوء (أو الفوضوية) التي قد تبدو لك الآن. الإصدارات المخصصة يجب أن يُحزَّم كل جزء من البرنامج قبل أن يتم تسليمه إلى المستخدم النهائي. إذا كنت تتعامل مع مكتبة جافا، فيجب أن تُحزَّم كملف ‎.jar ويتم تصديرها إلى مستودع ما؛ إذا كان تطبيق ويب، فيجب نشره على المنصة، وما إلى ذلك. بغض النظر عن صغر حجم المنتج أو كِبره، فهناك دائمًا إجراء معياري يختبر ويُحزِّم وينشر. سيكون الحل المثالي هو أتمتة هذا الإجراء بحيث يكون من الممكن تنفيذه من سطر الأوامر باستخدام أمر واحد $ ./release.sh ... DONE (took 98.7s) معظم المشاريع بعيدة عن ذلك، إذ تتضمن عملية إصدارها دائمًا بعض السحر، فيتعين على الشخص المسؤول عن المشروع (المعروف أيضًا باسم DevOp) النقر فوق بعض الأزرار هنا وهناك، وتسجيل الدخول إلى مكان ما، والتحقق من بعض المقاييس، وما إلى ذلك. لا تزال عملية الإصدار المخصص هذه خطأً نموذجيًا في صناعة الهندسة البرمجية بأكملها. يمكنني هنا تقديم نصيحة عملية واحدة فقط: "الأتمتة"، أنا أستخدم rultor.com من أجل ذلك، لكن يمكنك استخدام أي أدوات تريدها. المهم أن يكون الإجراء بأكمله مؤتمتًا بالكامل ويمكن تنفيذه من سطر الأوامر. تحليل ثابت طوعي التحليل الثابت هو ما يجعل شيفرتنا تبدو أفضل. وبجعلها تبدو أفضل، فإننا حتمًا نجعلها تعمل بشكل أفضل. لكن هذا يحدث فقط عندما يضطر الفريق بأكمله إلى اتباع القواعد التي يحددها المحلل (أو المحللون) الثابت (static analyzer). لقد كتبت عن ذلك في التحكم الصارم لجودة شيفرة الجافا. يمكنني استخدام qulice.com في مشاريع Java و rubocop.com في Ruby، وهناك العديد من الأدوات المشابهة لكل لغة تقريبًا. يمكنك استخدام أيّا منها، ولكن اجعله إلزاميًا، في معظم المشاريع التي يستخدم فيها التحليل الثابت، يبني المطورون تقارير جيدة المظهر ويواصلون كتابة الشيفرة بالطريقة التي استخدموها من قبل. لا يتم بمثل هذه المنهجية "التلقائية" تقديم أيّة إضافات للمشروع. وعلاوة على ذلك، فإنّها تخلق وَهمْ الجودة. ما أقوله هو أن التحليل الثابت يجب أن يكون خطوة إلزامية عند الإعداد للنشر. لا يمكن أن تتم عملية بناء المشروع في حال انتهاك أي قاعدة من قواعد التحليل الثابت. تغطية اختبار غير معروف ببساطة، تغطية الاختبار هي درجة اختبار البرنامج من خلال اختبارات الوحدة أو التجميع. كلما زادت التغطية، تم تنفيذ "كمية" أكبر من الشيفرة أثناء إجراء الاختبارات. من الواضح أن التغطية الأعلى أمر جيد. لكن الكثير من مطوري المشاريع لا يعرفون مقدار تغطية مشاريعهم ولا يعتمدون هذا المقياس. قد يكون لديهم بعض الاختبارات، لكن لا أحد يعرف مدى عمق اختبارهم للبرنامج وماهي الأجزاء التي لم يتم اختبارها منه على الإطلاق. هذه الحالة أسوأ بكثير من تغطية الاختبارات المنخفضة التي يتم قياسها وإبلاغ الجميع بها. التغطية العالية (High coverage) لا تضمن الجودة العالية لكن التغطية غير المعروفة (unknown coverage) هي مؤشر واضح لمشاكل الصيانة. عندما يدخل مُطور جديد للمشروع، يجب أن يكون قادرًا على إجراء بعض التغييرات ومعرفة مدى تأثر التغطية بها. من الناحية المثالية، يجب فحص تغطية الاختبار بنفس طريقة التحليل الثابت، ويجب أن يفشل البناء إذا كانت أقل من عتبة محددة مسبقًا (عادة ما تكون حوالي 80 بالمائة). تطوير دون توقف ما أقصده بدون توقف هو أنه بدون مراحل وإصدارات. بغض النظر عن نوع البرنامج الذي تكتبه، يجب عليك إصداره وتعديله بشكل متكرر. مشروع بدون سجل إصدار واضح هو فوضى يتعذر إصلاحها. هذا في الغالب لأن الصيانة تدور حول القدرة على الفهم عند قراءة شيفرتك. عندما أنظر إلى الشيفرة المصدرية وسجل الالتزام والإصدار، يجب أن أكون قادرًا على معرفة ما كان يقصده كاتبها أو كاتبوها، وما الذي كان يفعله المشروع قبل عام، وإلى أين يتوجه الآن، وما هي خريطة التوجه الخاصة به، وغير ذلك. يجب أن تكون كل هذه المعلومات في الشيفرة المصدرية، والأهم من ذلك، في سجل Git. وسوم Git وملاحظات إصدار Github هما أداتان قويتان توفران لي هذه المعلومات. استخدمها إلى أقصى حد. ولا تنسَ أن كل إصدار ثنائي للمنتج يجب أن يكون متاحًا للتحميل المباشر. يجب أن أكون قادرًا على تنزيل الإصدار 0.1.3 واختباره مباشرةً، حتى لو كان المشروع يعمل على الإصدار 3.4 في الوقت الحالي. الواجهات غير الموثّقة كل جزء من البرنامج لديه واجهات يُفترض أن يُستَخدم من خلالها. إذا كان البرنامج عبارة عن مدير الحزم Ruby gem، فهناك أصناف وطرائق سأستخدمها بوصفي مستخدم نهائي لها. وإذا كان أحد تطبيقات الويب، فهناك صفحات ويب سيراها المستخدم النهائي ويتحكم بها لاستخدام التطبيق. يحتوي كل مشروع برمجي على واجهات، ويجب أن تكون موثّقةً بعناية. مثل كل شيء سابق، فإنَّ هذا أيضًا له علاقة بالصيانة. بوصفي مبرمجًا جديدًا في مشروع ما، سأبدأ في التعرف عليه من واجهاته. ويجب أن أكون قادرًا على فهم ما يفعله ومحاولة استخدامه بنفسي. أنا أتحدث هنا عن التوثيق للمستخدمين، وليس للمطورين. بشكلٍ عام، أنا ضد التوثيق داخل البرنامج. وأتفق تمامًا مع Agile Manifesto- بأن عمل البرنامج أهم بكثير من الوثائق الشاملة. لكن هذا لا يشير إلى التوثيق "الخارجي"، التي يفترض أن يقرأه المستخدمون، وليس المطورون. لذلك يجب توثيق تفاعل المستخدم النهائي مع البرنامج بشكل واضح. إذا كان برنامجك عبارة عن مكتبة، فإن مستخدميها النهائيين الذين سيستخدمونها هم من مطوري البرامج - لا يساهمون فيها ولكن يستخدمونها ببساطة كـ"الصندوق الأسود". هذه هي المعايير المستخدمة لتقييم المشاريع المفتوحة المصدر التي دخلت المنافسة على الجائزة لدينا. ترجمة -وبتصرف- للمقال Seven Deadly Sins of a Software Project لصاحبه Yegor Bugayenko
  3. تُستخدَم المخرجات والنتائج كثيرا في كلا من إدارة الإنتاج والبحث، لفهم كيفية استخدام الناس لسلعة أو خدمة ما، فنحن دائما ما نقول أننا نود أن نركز على النتائج و ليس المخرجات، حيث أن المخرجات من الممكن أن تكون مضللة وغير مؤثرة أو حتى ضارة. ما الفرق بين المخرجات والنتائج المخرجات هي مقياس لما تم إنشائه. النتيجة هي مستوى الأداء أو الإنجاز الذي تم بناءً على ما تم إنشائه. كيف تخطط للنتائج إن من السهل أن تعلق في التفكير القائم على إيجاد الحلول في محاولة منك لإنجاز العمل لأن ذلك يبدو في البداية أسرع شيء ممكن و لكن التركيز على النتائج بدلًا من المخرجات يساعدنا في تجنب إعادة العمل مرة أخرى لإننا عندما نقوم بذلك فإننا بالفعل نأخذ المشاكل بعين الإعتبار، و نركز على ما الذي يجب على المستخدم اختباره، بالإضافة إلى ما يجب أن توفره الخدمة أو المنتج. يمكنك البدء في التخطيط من أجل النتائج مع فريقك بواسطة القليل من الأسئلة: ما هي المشاكل التي يواجهها المستهلكون عندما يقوموا باستخدام منتجنا؟ ما هو الشيء الذي يحتاجه المستهلك حقا من أجل أن يشعر بإن المنتج رائع؟ و لماذا؟ ما هو الشيء الذي تحتاجه الشركة حقا من أجل أن يكون منتجها ناجحا؟ و لماذا؟ سيساعدك طرح هذه الأسئلة حول منتجاتك أو أثناء البحث على ايجاد حلول أفضل لفريقك ويعطيك مزيد من الثقة بحيث يكون العمل الذي تقوم به ذو تأثير إيجابي. مشكلة النتائج في بورتلاند، لدينا ما يقرب من 563.27 كم من الطرق المخصصة للدراجات، والتي نسير عليها بانتظام؛ 513.38 كم من تلك المسافة يمكن تقسيمها كالآتي: 123.92 كم من الطرق الخضراء في الأحياء. 302.56 كم من ممرات الدراجات. 136.79 كم من المسارات. و يحتوي 27.36 كم من تلك المسافة على حواجز لكي تفصل السيارات عن سائقي الدراجات : 6 مسارات للدراجات. 17 ممر احتياطي للدراجات. ومعظم المسافة 563.27 كم توجد في طرق مشتركة، حيث تسير السيارات والدراجات في نفس الشارع. ففي الأحياء توجد طرق خضراء حيث يوجد عدد قليل من السيارات. ولكن كلما اقتربت من وسط المدينة، فستجد مسارات أكثر وسيارات تسير بسرعات أعلى. كل هذا عبارة عن مخرجات، إنها قياسات لما هو موجود بالفعل. تمتلك المدينة أيضا 80.47 كم إضافية من طرق الدراجات مُخطط لإنشائها في السنين القليلة القادمة. هذا يعني أن هناك طرقا لا تعد ولا تحصى يمكن لأي شخص أن يسير فيها بدراجته في جميع أنحاء بورتلاند. نظريا هذا يبدو جيدا، و لكن هل هو فعلا كذلك؟ إذا كان هناك 563.27 كم من مسارات الدراجات في بورتلاند، فذلك رائع، ولكن كيف يمكن أن نجذب مزيدًا من الناس لإستخدامها؟ التفكير من خلال القياسات القائمة على النتائج توجد طريقة أفضل للنظر إلى مسارات الدراجات في مدينة بورتلاند وهي من خلال النتائج. تُعرّف النتائج ما الذي يجب أن يكون صحيحا حتى يكون الشيء ذو قيمة لكل من الفرد (المستهلك)، ولك (الشركة). فالنتيجة هي ما نريد للناس أن يختبروه عند استخدام الشيء الذي قمنا بصنعه. وكيف يمكنك أن تعرف ذلك؟ من خلال الكلام مع الناس والحصول على آرائهم. إذا ما الذي تريده المدينة عندما يقومون بإنشاء مسارات للدراجات؟ هم يريدون السيطرة على تكاليف البنية التحتية، وحث الناس على المشاركة في الإقتصاد المحلي من خلال وظائفهم، واستهلاكهم، و جعل المكان رائع لزيارته من قِبل السياح، واستثمار المال في مدينتنا. ومسارات الدراجات هي جزء من ذلك لأنها تجعل من السهل التنقل، كما أن تكلفة إصلاح وصيانة البنية التحتية لتلك المسارات منخفضة مقارنة بالطرق المزدحمة، وأيضا وجود اقتصاد أقوى يعني أن عددا أكبر من الناس سيقومون بزيارة المدينة. بدلا من ذلك، قد يرغب راكبي الدراجات في استخدام الطريق للتنقلات اليومية، ورحلات عطلة نهاية الأسبوع، وقد يستخدموها لممارسة الرياضة. وبالرغم من ذلك، هم يريدون أن يشعروا بالأمان أثناء قيامهم بركوب الدراجات. وهذه نقطة هامة، وهي مفهوم الأمان (حواجز، أو مسافات بين المسارات والسيارات)، وتعني أن المزيد من الناس ممن كانوا غير مهتمين بركوب الدراجات سيحاولون أن يجربوها. وكمثال، فأنا خير دليل على ذلك، حيث أعيش الأن في حي به ممرات منفصلة وشوارع مخصصة فقط للدراجات، وأنا استعمل الدراجة الأن أكثر من أي وقت مضى. يقود وضع الحواجز على الطرق لفصل راكبي الدراجات عن السيارات إلى التشجيع على ركوب الدراجات، وحث أنماط مختلفة من الناس على ركوب الدراجات، بما في ذلك الأطفال وكبار السن، هذه نتيجة تم إثباتها بالفعل في مونتريال، وأمستردام، وكوبنهاجن، ونيويورك. ولذا فإننا إذا نظرنا إلى هذا من خلال عدسة النتائج، فسنحصل على العديد من الأفكار، وعلى قصة مختلفة تماما لكيفية جعل ركوب الدراجات أسهل للناس، بينما يساهمون أيضا في تحقيق أهداف المدينة. ولهذا فعندما نقرر القيام بتغييرات جديدة معتمدين على النتائج، فبدلا من التركيز على المخرجات المتمثلة في 80.47 كم إضافية من ممرات الدراجات، سيكون لدينا شروطًا إضافية: يجب أن يكون ممر الدراجات ممتدا أو سهل الوصول من خلاله إلى أحياء مختلفة في جميع أنحاء بورتلاند. يجب وضع حواجز في الطرق المزدحمة. يمكننا الأن بواسطة تلك الشروط أن نعرف ما إذا كانت التغييرات التي نقوم بها جيدة أم لا، وذلك لأننا نعلم أن قراراتنا متعلقة بالسلوكيات (المخرجات) التي نرغب أن يقوم بها الناس، بالإضافة إلى النتائج التي ترغب أن تراها المدينة. في الحقيقة، هذا شيء بدأت بورتلاند في فهمه كخطوة مهمة. حيث أن بورتلاند ملتزمة على الأقل على الورق، بجعل معظم ممرات الدراجات محمية من خلال دليل تصميم ممرات الدراجات الجديد الخاص بها. سأكون سعيدة لرؤية بورتلاند ملتزمة بذلك، حيث أن المدينة تنمو ونحن نركز على مبادرات النقل الهامة، والتي تدعم المساواة، والكثافة السكانية: مثل خطط النقل التي تضع المواصلات العامة، والمارة، وراكبي الدراجات في المقام الأول. ترجمة- وبتصرف- للمقال Output Vs. Outcome لصاحبه Marisa Morby