Simplicity –the art of maximizing the amount of work not done– is essential.البساطة مبدأ أساسي – ألا وهي فن اتباع أقصر الطرق لإنجاز المهام عن طريق تبسيط خطوات العمل واختصارها بأقصى قدر ممكن.The best architectures, requirements, and designs emerge from self-organizing teams.إن أفضل البنيات والمواصفات والتصميمات تنبثق من فرق العمل ذاتية التنظيم.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.على فريق العمل أن يفكر مليا، على فترات منتظمة، في كيفية رفع كفاءته وفاعليته، ثم يعدل سلوكه وفقا لذلك.
Tuesday, October 28, 2008
Session 06: Agile Principles 10, 11, 12
Session 05: Agile Princilples 7, 8, 9
Working software is the primary measure of progress.البرنامج الصالح للعمل هو المقياس الرئيسي للتقدم.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.المنظومات الرشيقة تشجع التطوير المستمر. ينبغي على الرعاة والمطورين والمستخدمين أن يكونوا قادرين على الحفاظ على معدل ثابت إلى الأبد.Continuous attention to technical excellence and good design enhances agility.الاهتمام المستمر بالتفوق التقني وكذلك التصميم الجيد يعززان القدرة على الحركة الرشيقة.
Saturday, October 25, 2008
Dr. Ahmed Sidky in .NetWork.org gathering.
- Dr. Ahmed will have his book Becoming Agile
published soon.
- Agile is a new way of thinking for making software, so minds need to be reformatted first :).
- Agile is common-sense but collected and written in a formal form.
- I especially liked the introduction case if the customer has only enough money to pay for one day of work, what is the best thing we can do? Of course a small working product of the highest value features to the customer, not a prototype or a design document.
- Then we discussed the differences between defined process and empirical process and why software development is considered an empirical process.
- Another point I liked is explaining why people fight changes, simply because the more time spent doing something the more attached to it, that's why Agile encourage shorter iterations.
- Then came the point I totally agree with Dr. Ahmed in, that is no matter what practices you are doing or what process you are following, without everyone in the team is fully understands the values and principles of Agile you will not be completely agile. I personally experienced this in my work and that's way I'm doing more Agile training to my team.
- We are “Value Providers”.
- agilealliance.org resources section, you will find a lot for papers and presentations to start with.
- All-About-Agile blog, especially 10 key principles of agile software development and how to implement Scrum in 10 easy steps.
Tuesday, October 21, 2008
Session 04: Agile Princilples 4, 5, 6
Business people and developers must work together daily throughout the project.يعمل كلاً من مسئولي الأعمال والمطورين معاً يومياً خلال فترة المشروع.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.اعتمد في بناء المشاريع على أفراد متحمسين. وفر لهم البيئة المناسبة والدعم اللازم، وامنحهم الثقة من أجل إنجاز العمل.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.أكثر الطرق فاعلية وتأثيراً لتوصيل المعلومات إلى وبين أفراد فريق التطوير هي التخاطب وجهاً إلى وجه.
Session 03: Agile Principles 1, 2, 3.
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.هدفنا الأسمى هو إرضاء العميل عن طريق التسليم المبكر والمتواصل لبرمجيات ذات قيمة.Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.اسمح بالتغييرات على الرحب والسعة حتى في مراحل التطوير المتأخرة. فالمنظومات الرشيقة تسخر التغير لصالح الميزة التنافسية للعميل.Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.قدم برامج صالحة للعمل على فترات، من أسبوعين إلى شهرين، مع مراعاة أفضلية قصر الفترة الزمنية.
1. In your opinion, how important is customer satisfaction? Not important Somehow important Important Very important The most important2. Suggest three things to guarantee customer satisfaction:•••3. How much do you think that the custom can wait before seeing a working product? 1 to 7 days 1 to 2 weeks 2 to 4 weeks 1 to 2 months4. What are the most important three things the customer is looking for in his product?•••5. What are the most critical phases for changing the requirements during the SDLC?•••
Soft Skill:
Session 02: The Agile manifesto.
Through this work we have come to value:
Working software over comprehensive documentation.
Customer collaboration over contract negotiation.
Responding to change over following a plan.
the right, we value the items on the left more.
وبالعمل في هذا الاتجاه توصلنا إلى إعلاء بعض الأهداف فوق أخرى واعتبارها أولويات عن غيرها:
الأفراد وتفاعلهم مع بعضهم البعض فوق المنظومات والأدوات
إنتاج برامج صالحة للعمل فوق التوثيق الكامل للبرامج
تعاون ومشاركة العميل فوق التفاوض في بنود العقد
الاستجابة للتغييرات المفاجئة فوق الالتزام بخطة عمل محددة
ويعني ذلك أنه على الرغم من أن العناصر على الجانب الأيسر تعد ذات أهمية كبيرة،
فإننا نعطي قيمة أكبر للعناصر على الجانب الأيمن.
Soft Skill:
Session 01: Software Development Life Cycle.
- What are the advantages and disadvantages of the waterfall model? And what can we do to avoid the disadvantages?
- Can a software project skip any phase of the SDLC?
- How much of every phase is really required?
- What is the relation between the phases?
- Who is responsible of every phase?
- Way it drown why it is looks like a stare? And why it is called waterfall?
- What other models exists? And what additions they provide?
Agile sessions at Majisa.

I started to facilitate a series of short sessions in my company about the Agile practices. Now after a almost two years of using Scrum there, I still feel we are not fully implementing it. So, I thought that giving the team some information about the Agile concepts will help them and start acting according to something they believe of not something they told to do.
The sessions will be only 30 min each every Sunday and Wednesday so there will be a small topic every session and I'll try it to be based more on discussions rather than lecturing.
I'll start by the Agile manifesto the Agile principles then we will pick one practice every session and discuss how can we implement it in our company. I tried to translate as much of the subject to Arabic as possible so everyone can understand and to benefit the Arabic readers of this blog.
I'll also try to include some soft skills in the beginning of every session.
I'll post what we will discuss every session here with links to some resources and then post the results of the discussions so the blog readers can benefit from the posts and add more discussions through the comments.

