Skip to main content

Coding Agility, thoughts about Xtereme Programming

Sometimes we hear about Agile in the software industry, which might sound cool from the first glance. Agile encourages the practices that makes the process of crafting software more humanized. But, at the end of the day, the software is built around code, and code is being built by programmers. So, when you think more, what does it mean to Agilize the software building processes (i.e. writing the code base, maintaining it, testing it) you might wonder, how can people do this on a day-to-day basis? If you wondered before, let me please introduce you to Extreme Programming!

Image result for extreme programming

How XP differs from Scrum?

Scrum is a very popular Agile product management framework, that’s more interested in the processes around the software, how people interact and collaborate to get things done. While it’s very focused around software, it doesn’t provide a prescription of writing the code itself, which is the building blocks of the whole thing.

XP on the other hand, is a framework that’s more interested in the process of building the software and testing it. It aims to produce higher quality software by focusing on some engineering practices that help teams do so.


Does XP contradicts with Scrum?

Actually, XP is an Agile software development framework. They don’t contradict with each other! Although some teams tend to be more XP than Scrum, and vice versa, there could be a good hypered workflows combined from the 2 frameworks.

The combination of the 2 frameworks allows teams to have both process and engineering practices that they can use on a day-to-day basis to achieve their sprints goals in a dynamically changing environment. To know more about Agile and lean mentality, please refer to: What’s Agile and lean mentality? & What problems Agile actually solves?


What values should the team pay attention to when thinking of XP?

Image result for extreme programming values

XP, like Scrum, has its own philosophy around building software, it’s focused more on humanizing the process of creating software. And it pays attention to some key points that your team should pay attention to:

Communication

If one of Agile’s goals is humanizing the process of creating software, then communication comes at the top of the pyramid. Communication is essential for human beings to share ideas and have aligned visions. XP encourages teams to communicate more often, and also encourages co-located small teams to have an essence of communication in any practice they do in their day-to-day activities.

Simplicity

Like we do MVPs in Agile, XP encourages engineers to have a solid understanding of what minimal thing that we can build in order to get some feedback out of it? It’s not interested on big before-hand A-Z architectures.

Feedback

Following on the previous value of ‘Simplicity’, the goal is to have something simple that we can get feedback out of it. Feedback is important, small feedback loops are something essential in XP.

Courage

Dare to say! Get this confidence to make the change happen. If you don’t talk, it’s not a good sign. Some examples of things you shouldn’t keep secret:

  • Something you don’t understand.
  • A process that you don’t feel comfortable with.
  • A complex piece of code.
  • Release plan that you don’t fully understand your role in.

Respect

Well, that’s obvious, you cannot communicate well with someone that you don’t respect. Respect here is also more of caring about other team members. How to make sure you team members won’t be stressed when they work with you? On both communication and technical levels.

XP is a philosophy in its core of how teams can approach and build their code, however, values don’t build code.

Comments

Popular posts from this blog

ما وراء المنطق، بين المثالي والواقعي: أين تُرسم الحدود؟

 يبدأ التساؤل من مُشاهدات يومية اعتادتها أعين من عايش التناقضات: ماهي طبيعة تلك الحياة؟ ما السر وراء انقضاء الأحداث بهذا الشكل؟ هل تسير الأحداث وفق خطة منضبطة؟ أم أنها لا تنفك تحدث حتى تُحِدث هي الأخرى المزيد من الأحداث؟  اعتاد نور رؤية تلك التناقضات يوماً بعد يوم، فقد أخذ ذهنه يتشرّب ويفسّر أحداث عالمه من خلال منظارين مختلفين لكل منهما معيار خاص في رؤية الأحداث. أحد المنظارين اعتاد تفسير الأحداث انطلاقاً من فرضية أن هناك خطة موضوعة بدقة وعناية لضبط الأحداث.  والآخر اعتاد تفسيرها على أنها نتيجة لبعضها البعض، فعندما يتعرض المرء لحادثة سير، لا يوجد خطة لذلك، تكون العوامل هي مسببات تلك النتيجة: كأن يكون المرء شارد الذهن بسبب خلاف شخصي، وأن يكون السائق مشغول بتفقد مؤشر الوقود، وأن تكون حرارة الجو قد تسببت في بطء حركة المكابح، فكل هذه العوامل مجتمعة أدت إلى حادث السير، وليست الخطة الأوليّة.  لم يكن يعي نور ماهية المنظارين بعد، بل لم يكن يعي ما يعنيه أن يكون للمرء معيار في المقام الأول! لكنه بدأ يلحظ مشاهد حياتية تلفت انتباهه إلى الفرق بينهما. كان نور وأبناء جيله معتادين ع...

سبر أغوار العقل البشري - نظرية العقل كصفحة الفارغة لچون لوك

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

How could some people deceive software major students? (In Arabic)

“كلنا عارفين أهمية هندسة البرمجيات اليومين دول، وعارفين إن لغات البرمجة وإتقانها شيء مهم جداً في CV أي مبرمج وحاجة بتخلي الشركات الكبيرة تحط عينها عليك. وعشان احنا عارفين إن الكورسات الأونلاين طويلة ومرهقة عملنالك أحسن منحة تدريبية في مدينة المنصورة ومدن الدلتا لمدة شهرين، برنامج متكامل عشان تبقى مهندس برمجيات بفئة A+ عشان تبدأ تغير عالم البرمجيات وتصنع الفارق وتخلي السيرة الذاتية بتاعتك مميزة ودسمة ^_^ الأول هنعرفك يعني إيه لغات برمجة تشفيرية والفرق بينها وبين لغات البرمجة الرقمية وبعدين هناخدك في جولة في تقنيات الويب والموبايل والديزاين بأحدث الإصدارات لعام 2016 وهنعملك امتحانات دورية عشان نتأكد إنك فاهم المحتوى كويس. الكورس هيبقى محتوى تدريبي يؤهلك للحصول على شهادة الـ IFEDS الأمريكية المعتمدة من وزارة الخارجية القطرية واللي مسموح لحاملها بالدخول لدول الاتحاد الأوروبي بفيزا حرة! محتوى الكورس: 1- مقدمة للغات البرمجة التشفيرية ( 6 حصص + امتحان تمهيدي ) 2- لغات الويب الخفية ( 7 حصص + امتحان على اللغات التشفيرية + امتحان تمهيدي ) 3- لغات التصميم السوية ( 9 حصص + ا...