You are on page 1of 7

SYSTEM ANALYSIS LEC.2 PART.

2
-: ‫ من اشهرهم‬agile‫ لل‬framework ‫ بشكل صح اتعمل اكتر من‬agile ‫علشان نطبق ال‬

‫هنتكلم عن ال‬
SCRUM
‫بشئ من‬
‫التفصيل‬

Scrum Overview
• Scrum is an Agile process
agile ‫ لل‬framework ‫يُعد واحد من‬ -
• Used to manage complex projects since 1990
0991 ‫أبتدي يظهر و يتم استخدامة يف سنة‬ -

• Delivers business functionality in 30 days


‫ يوم‬01 ‫حوال‬ ‫ معينة خالل ر‬business functionality ‫ بيأدي‬Demo ‫بيقدم بإستمرار‬
‫ أسابيع‬4 ‫فتة ما بي أسبوعي او‬ -
‫ي‬

• Business sets the priorities


‫ اللي‬iterations ‫ وكل واحدة بيكون ليها أولوية في إانها تتنفذ في ال‬requirements ‫ لمجموعه من ال‬business‫بقسم ال‬ -
‫في االول‬

• Teams self-organize to determine the best way to deliver the


highest priority feature
‫الل هيبدأوا فيها و ينفذوها‬
‫ ي‬feature‫الل هيشتغلوا بيها و بيحددوا أولوية ال‬
‫التيم بينظم نفسه و وبيحددوا الطريقة ي‬ -
• Scalable to distributed, large, and long projects
‫ينفع تتطبق يف المشاري ع الضخمة مش بس الصغتة و دي من اهم ممتاتها‬ -

• Extremely simple but very hard!


‫سهلة إنها تتفهم بس صعب إنها تتنفذ بإتقان‬ ‫‪-‬‬

‫هنتكلم‬
‫عل‬
‫هنا ي‬
‫‪Life‬‬
‫‪cycle‬‬
‫الل بتم‬
‫ي‬
‫يف‬
‫‪scrum‬‬
‫اول‬ ‫‪-‬‬
‫حاجة‬
‫بتحصل‬
‫يف‬
‫‪scrum‬‬
‫إننا بنجمع‬
‫ه‬ ‫الل ي‬‫ال ‪ requirements‬يف حاجة اسمها ‪ product backlog‬يف صورة ‪ features‬او ‪ epics‬ي‬
‫‪ Sub features‬او ممكن ‪ user story‬و ممكن نقسمها ل ‪ tasks‬وبنجمع كل ال‪items‬‬
‫الل جمعتها يف‬
‫بعد كدا بعمل حاجة اسمها ‪ sprint planning‬و دي بحدد األولوية ل ‪ items‬ي‬ ‫‪-‬‬
‫‪ product backlog‬وببدأ انفذها يف شكل ‪ iterations‬و ال ‪ process‬دي بسميها ‪sprint‬‬
‫فتة ما بي أسبوعي ل ‪ 4‬أسابيع‬‫‪ backlog‬و بتكون ف ر‬
‫ي‬
‫فتة ال ‪ sprint backlog‬بعمل حاجة اسمها ‪ daily scrum meeting‬كل ‪ 24‬ساعة والميتينج‬ ‫خالل ر‬ ‫‪-‬‬
‫دا بيكون قصت كل فرد يف التيم بيوضح هو عمل أي و هيعمل أي و لو يف مشكلة واجهته يعرضها ويتم‬
‫مناقشتها‬
‫الل خرج من‬ ‫بعد ما بنخلص ‪ iteration‬بنعمل حاجة اسمها ‪ Sprint review‬و دي بنشوف ال ‪ demo‬ي‬ ‫‪-‬‬
‫الل خلصت و نناقش ال ‪ Feature‬ونشوف لو ينفع يتعدل او يتحسن‬ ‫ال‪ iteration‬ي‬
‫الل نجحت او اشتغلت‬ ‫بعد كدا بعمل حاجة اسمها ‪ sprint retrospective‬وهنا بشوف أي الحاجة ي‬ ‫‪-‬‬
‫الل مشتغلتش زي ما‬ ‫زي ما احنا عايزين فأقرر استمر باستخدامها يف ‪ next iteration‬و بردوا بشوف الحاجة ي‬
‫احنا عايزنها فبوقفها و اغتها‬
‫‪ -‬يف نهاية ال‪ life cycle‬بيخرج ‪ version‬من السيستم يف حاجة بنسميه‪- :‬‬
‫‪potentially shippable product increment‬‬

‫?‪What is DevOps‬‬
‫هنتكلم دلوقتي عن ال‪ DevOps‬و ‪ Dev‬اختصار ‪ developers‬و ‪ Ops‬اختصار ‪ operations‬و ال‬
‫‪ DevOps‬عبارة عن ‪ methodology‬بتربط بين ال ‪ developers‬و ‪ operations team‬و إنهم يشتغلوا مع‬
‫بعض‪.‬‬
‫‪ DevOps is a software development strategy which bridge the gap‬‬
‫‪between the dev and the ops side of the company.‬‬
‫‪-‬‬ ‫‪-‬‬

‫ال ‪ DevOps‬حل مشكلة ال ‪ Gap‬ال كبير ما بين ال‪ developers‬و ‪operations team‬‬ ‫‪-‬‬
‫تزتي حلها هنتعرف عليها قدام ‪.‬‬
Why DevOps?
• Before DevOps came into the picture,
‫ كان بيتم ازاي‬development‫ ونعرف ال‬DevOps ‫هنتكلم األول عن المشاكل قبل ال‬

• Waterfall Methodology was used for software development. But this


methodology suffers from:
– At any stage, it is really difficult to go back and make
changes
analysis ‫ كان صعب إننا نعد أي حاجة في السيستم بعد مرحلة ال‬waterfall ‫في ال‬

– It is a risky process
‫ميعجبهوش او ميطلعش زي ما كان عايزه‬client ‫ ال‬Phases ‫كان يعتبر مخاطرة كبيرة النه ممكن لما اخلص كل ال‬

– Its main focus is to help internal teams work efficiently. It


excludes end-users/clients
‫بيركز بشكل كبير علي التيم اللي و ازاي يوفر بيئة عمل بس في نفس الواقت بيستبعد ال‬
‫ و دا ممكن ينتج ان السيستم النهائي ميرضيش العميل‬clients ‫ او‬end-users

– It imposes heavyweight processes like generation of


unnecessary artefacts (typically documentation)
‫ كتير فيها تفاصيل‬documentation ‫ فكل مرحلة بيكون فيها‬sequential ‫ وبيتم بشكل‬Phases ‫بما إنة بيتقسم ل‬
‫ كبيرة و ممكن تقعد فترات طويلة علشان تخلص فيها‬process ‫ضخمة فدا بيخليها‬
 Following Waterfall, there was a gap between customer’s
software requirements and the developers which was overcome by Agile

‫ اللي باخد‬end users‫ و العميل او ال‬developers‫ كبير بين ال‬gap ‫ إنه بيخلي فيه‬waterfall ‫ مشكلة ال‬-
‫ ناقص و بالتالي السيستم‬requirement ‫ و دا بيسبب مشاكل كتير منها ان ال‬Requirements ‫منهم ال‬
.‫ صعب التعديل فيه‬waterfall model ‫بكون مش زي العميل متوقعه فبيعمل مشاكل خصوصا ان ال‬
-
 Agile overcome these disadvantages and bridge the gap between
Customers and Developers.

customer ‫ ما بين ال‬gap ‫ اللي حصل المشكلة ال‬-


‫ وهنعرف‬Agile Model ‫ هو ال‬developer‫و ال‬
!ّ‫حل المشكلة دي ازاي؟‬

 Agile development practices


involve iterative development, along with focusing on customer
feedback, incorporating small rapid changes, and speeding up releases.
‫ جديدة و في االخر بعمل‬version ‫ بيطلع‬iteration ‫ يعني كل‬iterations ‫ عبارة عن نظام‬agile‫ ال‬-
‫ و بيهتم‬iteration ‫ دا سهل التعديل في أي‬final version ‫ علشان اطلع ال‬version ‫ لكل ال‬integrate
‫ و كل المميزات دي بسهل و‬feedback ‫برأي المستخدم اللي بيكون جزء من فريق العمل و علي طول بيدي‬
‫تسرع من فترة االنهاء للسيستم‬

*However, the true value of the Agile (and in particular the practice of
Continuous Integration and Delivery) has often been negated at the final
push by traditional operational requirements.

‫ بقت بتأثر بشكل‬iterations development‫ لمشكالت كتير إال ان فكرة ال‬agile ‫ علي الرغم من حل ال‬-
.‫ هنشوف دا حصل ازاي وازاي حلينا المشكلة دي؟‬operational requirements ‫سالبي علي‬

 While Development (in order to meet


changing Business needs) have been trying to put
releases into Production more frequently by
delivering incremental changes.
‫ جزء او‬release ‫ كل أهتمامهم إنهم ي‬developers ‫ ال‬-
‫ من السيستم بإستمرار‬version

 Operations have been trying to reduce risk by


slowing down the rate of change
‫ بيهتم ان السيستم اداءة ميقلش او الجودة تقل‬operations team‫ ال‬-
‫ بيطلعوا‬developers ‫ومع التغيرات الكتير و كل شوية ال‬
‫ خايفين من ان‬operations ‫ جديد بيخلي الناس بتاعت ال‬version
.‫األداء يقل‬

 DevOps was introduced in order to overcome the gap between


developers and the operations team.

‫ و هعرف حل‬DevOps ‫ هو ال‬operations team ‫ و‬developers ‫ اللي حل المشكلة ما بين ال‬-


!‫المشكلة دي ازاي؟‬

DevOps Life cycle


 Code: The first step in the DevOps life cycle is coding, where
developers build the code on any platform
‫ شايفها مناسبة‬platform ‫ إني اكتب الكود علي أي‬life cycle ‫اول حاجة بعملها في‬
 Build: Developers build the version of their program in any extension
depending upon the language they are using
Executable file ‫ الكود اللي كتبته بلغة معينة و اطلع‬build‫بعد كدا ب‬

 Test: For DevOps to be successful, the testing process must be


automated using any automation tool like Selenium
Selenium‫ منها ال‬tools ‫ بستخدم‬automation ‫ وعلشان تتم بشكل‬exe file‫ لل‬test ‫بعد كدا بأعمل‬

 Release: A process for managing, planning, scheduling, and controlling


the build in different environments after testing and before deployment

‫ اللي‬version ‫ لل‬manage‫ و‬plan ‫ بعمل‬Deploy‫ و قبل ال‬test ‫هي العملية اللي بتم بعد ما اخلص ال‬
‫خلصتها‬

 Deploy: This phase gets all artifacts/code files of the application ready
and deploys/executes them on the server
‫ و برفعه علي‬docker ‫ زي برامج ال‬virtual machine ‫ علي‬exe file ‫ لل‬installation ‫بعمل‬
server

 Operate: The application is run after its deployment, where clients use it
in real-world scenarios.
‫ يشتغل علية‬end user ‫بعد كدا برن البرنامج علشان ال‬
 Monitor: This phase helps in providing crucial information that basically
helps ensure service uptime and optimal performance
‫ لو في حاجة عايزة تتحسن او تتعدل‬application‫هنا انا براقب ال‬

 Plan: The planning stage gathers information from the monitoring stage
and, as per feedback, implements the changes for better performance
‫ و بشوف لو حاجة عايزة تتحسن او تتغير‬monitoring ‫ بعد ال‬feedback ‫هنا انا باخد ال‬
‫‪ -‬هنا احنا‬
‫قسمنا‬
‫العمليات‬
‫ل‬

‫‪ : Continuous Development‬دي فيها ال ‪ plan‬و ‪ code‬فيها بيشتغل التيم على اختبار‬ ‫‪-‬‬
‫البرنامج بشكل مستمر مع كل ميزة جديدة تُضاف إليه‪.‬‬
‫‪ :Continuous Testing‬دي فيها ال ‪ Build‬و ‪ Test‬هنا بنختبر ال ‪ application‬هل هو متوافق‬ ‫‪-‬‬
‫مع ال‪requirement‬‬
‫‪ :Continuous Deployment‬دي فيها ال ‪ Deploy‬و ‪ operate‬هنا بثبت البرنامج و قدمه‬ ‫‪-‬‬
‫لل‪ end user‬علشان يستخدمه‬
‫‪ :Continuous Monitoring‬دي فيها ال ‪ Monitor‬وهي العملية المسؤولة عن مراقبة البرنامج أو‬ ‫‪-‬‬
‫الميزة الجديدة علشان لو في أي مشكلة موجودة‬
‫‪ : Continuous integration‬هنا بجمع كل ال‪ versions‬القديمة اللي ال‪ developer‬خلصهم و‬ ‫‪-‬‬
‫ابعتهم للناس بتوع ال ‪ IT operations‬اللي بيشوفوا لو في مشكلة اثناء التشغيل و يرجعوا تاني لل‬
‫‪ developers‬و معاه المشاكل اللي و موجوده علشان يتحسن‬

‫ال‬ ‫‪‬‬

‫‪ Figure‬دي بتوضح ازاي قدرنا نتغلب علي ال ‪ gap‬ما بين ‪ developers‬و ‪ Customer‬و ما بين ‪ developers‬و‬
‫‪operations team‬‬

‫‪#‬باألخالق_والعلم_نرتقي 😉 ‪<3‬‬

You might also like