33
Agile Software Development II: Agile Mindset ة ن ر م ل ا ة ي ل ق ع ل ا س عبحد م سا

Agile mindset (Arabic)

Embed Size (px)

Citation preview

Page 1: Agile mindset (Arabic)

Agile Software Development II: Agile Mindset

المرنة العقليةدعبس سامح

Page 2: Agile mindset (Arabic)

الفهرس

السابقة الحلقة ملخص المرنة للبرمجة الرسمي المرنة Agile Manifestoالبيان البرمجة قيم Agileأو

Values مكتوبة غير أخرى قيم المرنة البرمجة Agile Principlesمباديء مكتوبة غير أخرى مباديء برشاقة Lean Thinkingالتفكير الشائعة المرنة المنهجيات على نظرة

Page 3: Agile mindset (Arabic)

... فشل أسباب السابقة الحلقة ملخصالبرمجيات

الواقعية غير أو الغامضTة األهداف لوبةTالمط الموارد تقدير في الخطأ تمرTمس بشTكل المشTروع حTالة متابعة poor reporting of project statusعدم المخاطر إدارة في الفشل التواصل poor communicationضعف ناضجة غير تقنيات على immature technologiesاالعتماد روعTالمش تعقيدات إدارة في الفشل التطوير في المتقنة غير أو السيئة Tالممارساتhacking-driven development اإلداري الفقر أو الضTعف المصلحة Tأصحاب المتعارضة stakeholdersسياسات السوق ضغط. , , تنظTيمية و إدارية و فنية مجتمعة أسباب لعدة إنما واحTد لسبب عادة الفشTل يحدث ال

: http://spectrum.ieee.org/computing/software/why-software-failsالمصTدر*

Page 4: Agile mindset (Arabic)

... للطميات ال السابقة الحلقة ملخص

المرنة البرمجة حركة ظهور قبل مخدومة تكن لم البرمجيات صناعة أن االدعاءAgile Software Development - – و شائع مدخل العرض بداية في قدمنا كما

! خاطيء لكنه , من تخلو لم إن و حقيقية أزمة من تعاني ال البرمجيات صناعة أن تبين اإلحصاءات

! جديدة قديمة مشكالت: النجاح أسباب أهم خالصة

– !! مصري مثل سكر« تاكل نملة »عيش – – قصير زمن صغير فريق صغير المشروع

Go agile! , المدخل غير من لكن و بالفعل المرنة البرمجة حركة نجاح تبين اإلحصاءات

... األيام, هذه العام االتجاه فهي الخاطيء

Page 5: Agile mindset (Arabic)

الفضية الرصاصة عن seeking theالبحثsilver bullet!

سنة خفيفة 17اجتمع, 2001في منهجية عن للبحث لتطوير lightweightمبرمجاالبرمجيات

, خالصة هو به خرجوا ما و البرمجيات صناعة في نجوما كانوا االجتماع هذا حضروا منخبرتهم!

: االجتماع هذا حضروا Martin Fowler, Kent Beck, Robert Martin(UncleممنBob), Ken Schwaber(Scrum), Andy Hunt (The Pragmatic

Programmer)... ,إلخ : المرنة للبرمجة الرسمي البيان االجتماع هذا ناتج Agile Manifestoكان

! األولويات بتغيير البرمجيات صناعة مشاكل من الكثير حل يمكننا أننا خالصته

Page 6: Agile mindset (Arabic)

المرنة للبرمجة الرسمي Agile Manifestoالبيانالمرنة البرمجة قيم Agile Valuesأو

We are uncovering ( عن better ways of developing software (نكشفby doing it and helping others do it. Through this work, we have come to value: Individuals and interactions over Processes and tools Working software over Comprehensive ( موسع, documentation (شامل

Murphy’s law: If a program is useless, it will have to be documented! Customer collaboration over Contract negotiation Responding to change over Following a plan.

Change is constant! That is, while there is definitely (اTقطع) a value in the items on the

right, we value the items on the left more.

Page 7: Agile mindset (Arabic)

مكتوبة غير أخرى قيم

, , العميل و المبرمج و المدير مهام في التغير) توزيعها ) و المهام اختيار نفسه للفريق انتقلت الفريق قائد أو المدير مهام بعض إيجابي سلبيا activeالعميل ليس و باستمرار فقط passiveيشارك يتلقى

( ) كجمع ) األولية الخطوات بأن المرنة البرمجة ممارسي بعض لدى الخاطيء االعتقادالهندسي ( )requirement gatheringالمتطلبات التصميم قليلة( designو

»دائما« األهمية( : إما يكون بالتسليم , )1الوعد أو( الخصائص , 2كل ليس( و المحدد الوقت في

كالهما المرنة البرمجة القيم في أساس محور البرنامج جودة

Page 8: Agile mindset (Arabic)

المرنة البرمجة Agile Principlesمباديء

, على مبني المرنة للبرمجة الرسمي ..12البيان مبدأ إلى مجموعات 4سنقسمهم

المشروع بتسليم مرتبطة Project deliveringمباديء بالتواصل مرتبطة Communicationمباديء المشروع بتنفيذ مرتبطة Project executionمباديء الفريق و المشروع بتطوير مرتبطة Improving Project and Teamمباديء

Page 9: Agile mindset (Arabic)

المشروع بتسليم مرتبطة Projectمباديءdelivering

Principle #1: Our Highest Priority Is to Satisfy the Customer Through Early and Continuous Delivery of Valuable Software.

= = العميل رضا المشروع نجاح الخطة اتباع أن تفترض التقليدية المشروعات إدارة باستمرار تتغير العميل حاجات أن , الواقع كيف؟ باستمرار العميل رضا اختبار من البد

Release early = بالتسليم عجل العكسية التغذية من تسرع feedbackهذه المطلوبة خصائصه في شديد نقص به يكون قد المنتج المقابل المعنية في األطراف stakeholdersلو

! , سلبية بصورة البرنامج تقييم في ذلك يتسبب قد النقطة لهذه متفهمين مع غير الوثيق االتصال من البدالمعنية stakeholdersاألطراف

Deliver value continuously = التسليم من أكثر Satisfy customer = العميل أرِض

, , : راجعة تغذية يأتيك كثيرا التسليم توالي و بسرعة تسلم حين السابقتين للنقطتين مباشرة نتيجة هذه! بسرعة, العميل رغبات فتحقق باستمرار

Page 10: Agile mindset (Arabic)

المشروع بتسليم مرتبطة Projectمباديءdelivering

Principle #2: Welcome Changing Requirements, Even Late In Development. Agile Processes Harness ( يسخر/ Change for (يستخدمthe Customer’s Competitive Advantage ( التنافسية .(الميزات Welcome change = التفكير طريقة في تغيير

, وسعه في ما منكما كل بذل فقد العميل من أو منك خطأ أنه على التغير مع التعامل عن توقف المتطلبات جمع عن التوقف يعني ال requirement gatheringهذا

Control Change! منعه محاولة من فعالية أكثر التغيير تسهيل! التغيير كلفة من تقلل المستمرة الراجعة التغذية

المتطلبات في التغيير هو هنا المقصود الناشيء requirementsالتغيير التغيير ليس و , المخاطر إدارة ضمن يدخل فهذا مثال العميل إهمال دخل risk managementعن ال و

.Agileلل فيه

Page 11: Agile mindset (Arabic)

المشروع بتسليم مرتبطة Projectمباديءdelivering

Principle #3: Deliver Working Software Frequently, from a Couple of Weeks to a Couple of Months, with a Preference to the Shorter Timescale.

تنظيمه من البد فوضى المشروع لجعل المستمر التقبل يتحول ال لكي التسليمdelivering دفعات ( sprintsعلى التغييرات ) و لشهرين أسبوعين من قصيرة

, العمل أثناء ليس و دفعة كل بداية في تكون , وقته يأخذ التعديل في يفكر أن و نفسه يراجع أن التغيير يطلب لمن فرصة يعطي هذا

ينضج حتى التسليمdelivering =! اإلطالقreleasing

Page 12: Agile mindset (Arabic)

بالتواصل مرتبطة مباديءCommunication

Principle #4: The Most Efficient and Effective Method of Conveying (نقل) Information To and Within a Development Team Is Face-To-Face Conversation.

التوثيقdocumentation , خير و المعلومات لنقل الوحيدة الوسيلة ليس لكنه مهم) , ذلك ) في انتُقدوا و المرنة البرمجة ممارسو يعتقد كما المباشر االتصTال منه

: فيه خالف ال ما , المباشر االتصال عن يغني ال لكنه مهم التوثيق

Page 13: Agile mindset (Arabic)

بالتواصل مرتبطة مباديءCommunication

Principle #5: Business-people and Developers Must Work Together Daily Throughout the Project.

: المرنة الفرق و التقليدية الفرق بين الفرق التقليدية الفرق العميل يتفاوضونفي مع المرنة الفرق العميل يتعاونونفي مع

( , إن و الحرفي لاللتزام ليس و المستمر االتصال أهمية على للداللة اليومي االتصال) شك بال أفضل ذلك كان

Page 14: Agile mindset (Arabic)

بالتواصل مرتبطة مباديءCommunication

Principle #6: Build Projects Around Motivated Individuals. Give Them the Environment and Support They Need, and Trust Them to Get the Job Done.

: المبدأ هذا تخالف عملية أمثلة البرمجية األخطاء عدد على المبرمج صادرة ) bugsتقييم األخطاء كانت إذا خاصة عنه الصادرة

) إهمال غير الحقيقية عن المشكالت عنك سيخفي األنظمة مختبري يكتشفوها testersمكافأة التي األخطاء عدد الكيف على دون بالكم سيهتم ينتجونها التي الوثائق »كم« على بناء المحللين , تقييم قليلة الصفحات كثيرة وثائق سيخرجون

الفائدة! نفسك« »أمِّن ثقافة فيها تنتشر الريبة على المبنية الفاسدة البيئة نجاح عن بالمسئولية« »اإلحساس ثقافة فيها تنتشر الثقة على المبنية الصحية البئية

المشروع.

Page 15: Agile mindset (Arabic)

المشروع بتنفيذ مرتبطة Projectمباديءexecution

Principle #7: Working Software Is the Primary Measure of Progress.

الحالة كافية status reportsتقارير ليست المستمر التسليم , continuous deliveryميزة سأصل هل مؤشرات تعطيني أنها

اإلطالق عند النهائي ال؟ releasingللهدف أم

Page 16: Agile mindset (Arabic)

المشروع بتنفيذ مرتبطة Projectمباديءexecution

Principle #8: Agile Processes Promote Sustainable ( لالستمرار (قابلDevelopment. The Sponsors, Developers, and Users Should Be Able to Maintain a Constant Pace ( ثابتة ) Indefinitely (وتيرة مسمى غير أجل Tإلى).

الحماسة يُفقد و اإلنتاجية يقلل طويلة لساعات للعملmotivationالعمل الموت مسيرات death marchesتجنب( األسبوع في ثابتة عمل ساعات عدد على )40المحافظة ساعة قوقل% 20سياسة في يشاء كما يقضيه الموظف وقت إيقاف 2013منذ ) Googleمن تحاول

)!! السياسة هذه ,من أكثر العمل تجنب يمكن ال , 40عمليا جعل هو عمله يمكن ما أقصى و األسبوع في ساعة

. األصل ليس و االستثناء هو ذلك Principle #9: Continuous Attention to Technical Excellence and Good

Design Enhances Agility.

Page 17: Agile mindset (Arabic)

الفريق و المشروع بتطوير مرتبطة مباديءImproving Project and Team

Principle #10: Simplicity—the Art of Maximizing the Amount of Work Not Done—Is Essential. Simplicity

Keep It Simple Stupid (KISS) البرمجة مستوى على المنهجية developmentهذه processو

Work-less You Ain’t Gonna Need It (YAGNI)

20% تستخدم الخصائص الوقت% 80من فالمهم من األهم على ركز

Page 18: Agile mindset (Arabic)

الفريق و المشروع بتطوير مرتبطة مباديءImproving Project and Team

Principle #11: The Best Architectures, Requirements, and Designs Emerge (تنبثق) from Self-Organizing Teams.

: األوامر تنفذ التقليدية الفرق : بنفسها قراراتها تأخذ المرنة self-organized teamsالفرق

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

, في: باألخذ جديرة لكنها األحوال لكل و الفرق لكل Tيصلح ال الفكرة هذه تعميم نقدالحسبان

:»أحدكم فأمروا ثالثة كنتم »إذا حديث , االستثناء هو العكس للفريق قائد وجود األصل

Page 19: Agile mindset (Arabic)

الفريق و المشروع بتطوير مرتبطة مباديءImproving Project and Team

Principle #12: At Regular Intervals, the Team Reflects on How to Become More Effective, Then Tunes and Adjusts Its Behavior Accordingly.

, عن ذلك و باستمرار البرامج إنتاج في طريقته بتحسين يقوم حتى مرنا الفريق يكون ال. المستمر التصحيح و المراجعة طريق

Page 20: Agile mindset (Arabic)

مكتوبة غير أخرى مباديء

كل في خاصا اهتماما يولَى اختبارها و البرامج بجودة االهتمام أن من الرغم على , , إال المرنة البرمجة لحركة األساسية اإلضافات من االهتمام هذا بل المرنة األساليب

. الذكر سالفة المباديء من أي في مذكور غير االهتمام هذا أن السابقة المتطلبات مشكالت حل من تفرغ حتى جديدة متطلبات تطوير في تبدأ ال االختبار نفسه unit testاكتب الكود كتابة TDDقبل

الدفعة انتهاء حتى التعديالت sprintتجميد : لشهرين أسبوعين من دفعات على المستمر التسليم الثالث المبدأ في , : يتم الدفعة في العمل بدأ إذا لكن دفعة كل بداية عند تُعتبر التعديالت المبدأ هذا تكملة

التعديالت كل !تأجيل قليال أجلناه لكن التغيير قبلنا , موسع إما سيناريو صورة في تكتب مقتضب use caseالمتطلبات user storyأو

Page 21: Agile mindset (Arabic)

مكتوبة غير أخرى مباديء

متغيرة و جديدة أدوار :المنتج صاحب product ownerجديد :المنهجية مسئول agile coach/masterجديد :المدير مهام تقليل متغير

: الفريق صفات ذاتي تنظيم بنفسه: self-organizedذو قراراته يأخذ المهام المختبرين: ) cross-functionalمتعدد فيهم بما التخصصات كل يضم الفريق

testers)

Page 22: Agile mindset (Arabic)

برشاقة Lean Thinkingالتفكير

اإلنتاج في نظامها و تويوتا شركة من تحت Toyota Production Systemالبدايةالحاجة عند اإلنتاج : just-in-time productionاسم السم, الحقا تطور Leanالذي

Manufacturing :المخزون تقليل الهدف

الهدر تقليل محور حول تدور تفكير طريقة و فلسفة reduce or eliminateهيwaste

جدا البرمجات ملهمة صناعة بها و Lean Software Developmentتأثرتاألعمال Lean Startupsعالم

Page 23: Agile mindset (Arabic)

الرشيق التفكير Lean Principlesمباديء

التعهدات Defer commitmentتأجيل جيدة build quality inبرامج الكلي Optimize the wholeالتحسين األفراد Respect peopleتقدير سريعا قبل – Deliver fastالتسليم من عنها تحدثنا الخبرات Create Knowledgeتعظيم الهدر إزالة و Eliminate wasteتقليل

Page 24: Agile mindset (Arabic)

التعهدات Defer commitmentتأجيل المعلومات جميع لك تتاح حتى قراراتك أجل

الالزمة لTبالفع تحتاجه أنك تتأكد حتى القرار أجل فاألقل أهمية األكثر المتطلبات نفذ

Page 25: Agile mindset (Arabic)

جيدة build quality inبرامج للمستخدم يظهر فيما Perceived جيد

Integrity الوجه على المستخدم احتياجات يحقق

األكمل نفسه في Conceptual Integrityجيد

= Unit testing + refactoring المشكالت حدوث منع حاول ممكن وقت أسرع في المشكلة حل العكسية التغذية لتأتيك كثيرا و سريعا سلم

كثيرا و سريعا , تتكرر لن أنها تأكد حللتها و مشكلة وجدت لو

ثانية

Page 26: Agile mindset (Arabic)

الكلي Optimize the wholeالتحسين

الكلية الصورة على الصغيرة قراراتك أثر من تأكد شيء لكل مستمرة قياسات ضع أعراضها ليس و جذرها حللت أنك تأكTد مشكلة حدوث عند

Root cause analysisFive whys

Page 27: Agile mindset (Arabic)

األفراد Respect peopleتقدير = الفريق نجاح خلطة اإلعذار و التقدير و الدعم و الثقة

Page 28: Agile mindset (Arabic)

الخبرات Create Knowledgeتعظيم

قصيرة دفعات على سريعTا سلم راجعة تغذية على بسرعة تحصل تتعTلم

Page 29: Agile mindset (Arabic)

الهدر إزالة و Eliminate wasteتقليل , بسرعة اعمله و فقط للعميل مضافة قيمة يمثل ما اعمل

Page 30: Agile mindset (Arabic)

الهدر إزالة و Eliminate wasteتقليل Inventory (مخزون) < -- > Partially done work

Incomplete features, Unchecked-in work, untested code, commented-out code…etc.

Overproduction < -- > Extra Features/Code/Functionality Extra processing < -- > Relearning / Reworking Transportation < -- > Handoffs without proper knowledge

آخر لمبرمج الكود نقل – – : العميل التشغيل الجودة آخر لفريق البرنامج نقل

Waiting < -- > Delays... – – إلخ آخر فريق عمل على االعتماد موارد توفر انتظار اإلدارة موافقة انتظار

Defects < -- > Defects

Page 31: Agile mindset (Arabic)

الهدر إزالة و Eliminate wasteتقليل

Motion < -- > Task switching Relearning• Tال وظائف Scrumمن

Master : تقليل األساسيةالمهام بين التنقل

من • المبرمج 45إلى 15يحتاجالتركيز حالة في ليدخل دقيقة

اإلنتاجية و

Page 32: Agile mindset (Arabic)

المرنة؟ البرمجة أساليب شيوع مدى ما

فورستر مؤسسة نشرتها دراسة :2011سنة Forresterفي بعنوان Water-Scrum-Fall Is The Reality Of Agile For Most Organizations Today

:الخالصة , خالصة ليست لكنها شائعة المرنة البرمجة Agile Is Popular But Not Pureأساليب : الدراسة عليه أطلقت ما هو شيوعا المناهج من Water-scrum-fallأكثر هجين هي و

سقرام أسلوب و التقليدية سيئا scrumاألساليب أو حسنا ليس هذا و

Page 33: Agile mindset (Arabic)

الشائعة المرنة المنهجيات على نظرة

:المصدرhttps://www.versionone.com/pdf/state-of-agile-development-survey-ninth.pdf