The Story of XP

  • یوسف مهرداد بی‌بالان

from: www.extremeprogramming.org

The author of this website is Don Wells. He learned about how teams become unproductive while at Honeywell and General Electric. He then learned a great deal about teams becoming super productive while building expert diagnostic systems for the US Army and Ford Motor Co. Many artificial intelligence practices are now common in software development.

The turning point in current software development came in the mid-1990s. Many people were re-examining the idea that software must be built like hardware. Jeff Sutherland and Ken Schwaber were formalizing a new process called SCRUM. Alistair Cockburn was working on Crystal Clear. Chrysler was doing its part by trying to build traditional business systems using object-oriented technology. This is a common approach now that Java is used in almost all domains, but was very advanced in the previous millennia.

Don was hired on to the Chrysler Comprehensive Compensation (C3) project as an expert in object technology and GUIs. It didn’t take long for him to spot some serious trouble. The team was splintered into 3 groups that worked in competition instead of cooperation. The project was becoming overdue. Estimates were showing it way over budget. It was also way too complex and riddled with redundant code (Conway’s Law) to ever work reliably in production. His assessment of the situation was to start over. There was time to make the deadline but only if the team worked together in cooperation and sharing as opposed to competition and isolation.

You can probably imagine that starting a project over after millions of dollars were already invested is a tricky situation. Don had to wait for exactly the right moment. That moment came when a consultant named Kent Beck was hired to optimize the C3 system’s performance. Kent decided to spend a half hour with each of the developers to get an idea of what needed to be done. When he began talking to Don he ended up spending 3 hours. At the end of that time Don had convinced Kent that the current code base would never make it into production. Kent presented that result to Chrysler management and they agreed.

The project was halted and Don began not just mending fences but completely tearing them down between team members. Chrysler management noticed what he was doing and offered him the position of chief architect. Don graciously refused while explaining his concept of everyone owning and contributing to the system’s design. No one understood his goal yet.

Kent Beck was hired to spend a couple days each month on the C3 project. Chrysler also hired Ron Jeffries to join notable agile proponents Martin Fowler and Chet Hendrickson on the project. Kent mixed together the best practices Don Wells is on the left from several emerging agile processes with things he had learned while working with Ward Cunningham. The C3 team created a new process formulation by watching what helped or hindered. Doing more of what helps and less of what hinders resulted in a minimal process with high flexibility.

Kent wanted the team to integrate code often, but it wasn’t working. Kent had appointed an integration czar with integration lieutenants in a hierarchy. Integrating that way put a chief architect back into the project and slowed them down till they were integrating once every three weeks and taking days to do it. A hot spot of complexity was also brewing. Don came up with an idea. It would solve the current integration problem, allow design simplifications, and lead the team to his ultimate goal of collective ownership.

Don proposed to the team that they set up an extra computer on an empty desk where all integration would take place. They would integrate and release new code to the repository when ever they wanted without prior permission so long as it ran all the unit tests. Management hated the idea. The team was mixed about it. Management played their trump card by not allowing Don to have an extra computer. So Don simply moved his own computer to the empty desk and told everyone it was the integration station. He wanted to do more pair programming anyway.
That simple change made a huge difference. People began releasing code at least once a day if not more. Sharing an integration computer made people more cooperative and the design tighter because everyone was responsible for making it better. Anyone could change any code and know changes would not be lost. People began writing more unit tests then they had before because it ensured their code would run even if some one else made some changes.
The real prize in that change was what came to be known as collective ownership. The entire team owns the entire code base. The entire team is responsible for developing and extending the system design. The team worked together cooperatively at a much faster pace than anyone expected. Don has some rough estimates and believes the team was going six and a half times faster than before the project was restarted.
With C3 back on schedule Don moved back to Ford Motor Co. This time he was to help a financial application get back on track. The application was the Vehicle Cost and Profitability System (VCAPS) that calculated how much it actually cost to build a car or truck. It was in trouble because of serious quality and performance issues. More time was spent fixing bugs than adding required features.
The first big change Don made was to write a unit test framework and create the first unit tests. It was a “white knuckle” assignment because he had two weeks to write code and one week to debug. The unit tests and framework took the entire first two weeks to finish. But once the unit tests were in place the actual code only took one week to write, no debugging needed. The assignment was brought in on time with none of the expected bugs. This was a good start.
As the number of unit tests grew management noticed a one third reduction in production bugs. At that time Don was able to set up an integration station and began continuous integration and collective ownership. More Extreme Programming (XP) practices were introduced until the second XP project was running. As production bugs dropped even further the team became more productive eventually reaching a factor of ten times. This second XP project verified that XP was a viable process and C3 was not just an anomaly.
Soon after leaving the VCAPS project in 1999 Don created this website. At that time information on the XP process was either very Extreme Programming Perspectives XP Agile Universe 2002 XP Agile Universe 2003 confusing or biased towards Smalltalk projects. There was also a great deal of discussion going on about whether or not XP would even work. Don perceived a need for a simple explanation of the basics that everyone would agree upon. Having been on two XP transformations he felt qualified to be the author.

افسوس نخورید!

  • یوسف مهرداد بی‌بالان

Never regret a day in your life. Good days give happiness, bad days give experiences, worst days give lessons, and best days give memories
—Richard Feynman

پایگاه داده گرافی

  • یوسف مهرداد بی‌بالان

پیش‌گفتار:
هر وقت گذرم به گراف و اصل لانه کبوتری می‌افتد یاد استاد عزیزم آقای دکتر بهروز قلی‌زاده در دانشگاه شریف می‌افتم. یادش به‌خیر همیشه جاده قزوین-زنجان-تبریز یک پای ثابت مثال‌های گراف و مسیریابی ایشان بود. با وجود علاقه‌ام به گراف، در تمام این سال‌ها گذرم به گراف و مساله‌های آن نخورده بود، تا این که زمستان پارسال برای آمادگیِ آزمون ابتدایی دوره دکترا معروف به Field Of Study، مطالب مربوط به گراف و درخت و مسیرها را دوباره مرور کردم.

پایگاه داده گرافی:
برای انجام پروژه‌ای نیاز شد که با پایگاه داده گرافی (Graph Database) آشنا شوم. به کمک یکی از دوستان باتجربه‌ام (حسین آقا)، کار با Neo4J را شروع کردم و به کمک راهنما و زیرساخت آموزشی Neo4J و البته همراهی حسین جان، توانستم با آن کار کنم. به راستی که چه دنیای متفاوت و جذابی است. آن چه با مشقت فراوان در پایگاه داده رابطه‌ای می‌توان انجام داد، اینجا با یک کد ساده می‌توان به دست آورد. اگر دوست داشتید نگاهی به آن بیندازید می‌توانید از این آدرس (Neo4j Graph Database Sandbox) استفاده کنید. چه زیباست!

 

گزیده:
«پرارزشترین بخش [مطالعه ریاضی] لحظه‌ای است که می‌گویی آها!. ذوق کشف و لذت فهمیدن چیزی جدید. احساس ایستادن بالای یک بلندی و رسیدن به دیدی شفاف و واضح.» مریم میرزاخانی در مصاحبه با گاردین (مرجع)

مرجع عکس: اینجا

 

The Essence: Small Set of Universal Software Engineering Endeavors

  • یوسف مهرداد بی‌بالان

What is Essence?

Essence provides us with a thinking framework that allows teams to understand where they are and acts as a foundation for their way-of-working. At the heart of the Essence approach is the Essence Kernel – a simple state-driven model of software engineering. The Essence Kernel captures the small set of things that are universal to all software engineering endeavors; the things that a team always has to consider or work with when developing software.

The kernel contains seven key elements – Requirements, Software System, Team, Work, Way of Working, Opportunity and Stakeholders.

Reference: www.semat.org

Quote:
“When I asked Sam Shillace, who ran Gmail and Google Apps for four years, about the costliest mistake he’s seen engineers make, his response was, “Trying to rewrite stuff from scratch — that’s the cardinal sin.” ― Edmond Lau, The Effective Engineer

فایل ارائه “متدهای چابک برای مدیران” – سال 92

  • یوسف مهرداد بی‌بالان

فایل ارائه در اسلایدشیر: www.slideshare.net

گزیده:

“Agility is principally about mindset, not practices.” ― Jim Highsmith

یادداشت دکتر لشکربلوکی در ارتباط با هوش مصنوعی

  • یوسف مهرداد بی‌بالان

یادداشتی از آقای دکتر لشکربلوکی در کانال تلگرامی ایشان خواندم (اینجا) که در آن به سرمایه‌گذاری در زمینه‌ی هوش مصنوعی و تکنولوژی‌های پیشرفته اشاره شده بود. برای من آموزنده بود، در نتیجه اینجا یادداشت کردم شاید برای شما هم آموزنده باشد. می‌خواستم بخش‌هایی از آن را بنویسم ولی برای حفظ امانت، همه‌ی یادداشت‌ ایشان را آوردم. یک نکته جالب دیگر، متن معرفی کانال تلگرامی ایشان بود: “سهم من از توسعه ایران شاید این کانال باشد. …“.
————————————————————————————

⭕️کوروش تو بخواب! ما هم می خوابیم!

چرا امارات وزارت هوش مصنوعی ایجاد کرد و اولین وزیر هوش مصنوعی جهان را منصوب کرد؟ به خاطر پرستیژ؟ صد در صد نه! سهم هوش مصنوعی در اقتصاد جهان در سال 2030 به بیش از 15 تریلیون دلار می رسد. بنابراین امارات تصمیم گرفته چند برنامه اجرا کند از جمله برنامه تبدیل دوبی به شهر تمام هوشمند و برنامه چاپ سه بعدی دبی! یعنی چه؟ یعنی تا سال 2030، 25 درصد ساختمان های دوبی با استفاده از فناوری سه بعدی ساخته شود و …

دولت کره قصد دارد علاوه بر سرمایه گذاری ۱.۷ تریلیون وون روی تکنولوژی اتومبیل های خودران، از سرمایه گذاری 35 میلیارد دلاری یک شرکت خصوصی در این زمینه حمایت کند؟ آیا به خاطر این است که خوشی زیر دلشان را زده است و از ماشین های فعلی ناراضی اند؟ قطعا نه! به این خاطر که می دانند آینده خودروها را تکنولوژی های جدید رقم خواهند زد. امروز اگر غفلت کنند فردا را از دست خواهند داد.

گوگل اعلام کرده ۱۰ میلیارد دلار در هند سرمایه‌گذاری انجام می دهد. از خود سوال کنیم چرا گوگل در ایران ۱۰ نه بلکه فقط ۱ میلیارد دلار سرمایه گذاری نمی دهد؟ همین سرمایه گذاری هاست که باعث شده استارت‌آپ های هندی در سال قبل درآمد ۱۴.۸ میلیارد دلاری داشته اند. تقریبا ده سال پیش گردش مالی استارت‌آپ‌های هندی ۵۵۰ میلیون دلار بود که الان ۲۷ برابر شده. چرا ما مانند هند نشدیم؟ آیا هندی ها از ما باهوش ترند؟

طبق شاخص‌های بازارهای سرمایه جهانی، چهار شرکت از ۱۰ برند برتر جهان در حوزه تکنولوژی های پیشرفته، جزو برندهای آسیایی هستند. ده سال قبل یعنی سال ۲۰۱۰ آسیا هیچ نماینده‌ای در این بخش نداشت. چرا ایران هیچ نماینده ای ندارد؟

☑️⭕️تحلیل و تجویز راهبردی:
کوروش آسوده بخواب، زیرا که ما بیداریم! این جمله را ظاهرا محمدرضاشاه در جشن‌های ۲۵۰۰ ساله در برابر آرامگاه کوروش خطاب به او گفته است. گاهی اوقات که سرمایه‌گذاری‌های هوشمندانه جهان را با وضعیت خودمان مقایسه می‌کنم می‌گویم من اگر امروز بخواهم به کوروش چیزی بگویم احتمالا می‌شود این: کوروش تو بخواب! ما هم می خوابیم!
براستی زمانی که کشورهای دیگر جهان روی هوش مصنوعی، اتومبیل های خودران، اینترنت اشیاء، چاپ سه و چهار بعدی، روبات ها، بیگ دیتا و واقعیت مجازی سرمایه گذاری های سنگین میلیارد دلاری می کنند. دغدغه ما چیست؟ فیلترینگ یا عدم فیلترینگ اینستاگرام، افزایش یا کاهش قیمت دلار، صف خرید گوشت و مرغ و پوشک بچه، کره و روغن در ماه های مختلف. افق فکری همه تنزل پیدا کرده است به پوشک بچه و قیمت دلار! وقتی در اخبار می خوانم که معاون اول رییس جمهور مملکت بابت تخم مرغ جلسه اضطراری گذاشته، می خواهم سرم را بکوبم به دیوار! فکر نکنید شوخی می کنم کافیست الان در موتور جستجوی گوگل تایپ کنید: معاون اول رییس جمهور و تخم مرغ. می فهمید که واقعا چنین مساله ای بوده و چنان جلسه ای گذاشته شده است.
مدیران ارشد باهوش کشورها فهمیده اند باید در حوزه‌های آینده‌ساز سرمایه گذاری کنند. پس باید خودشان مستقیما سرمایه‌گذاری کنند (مانند دوبی) یا فضا را فراهم کنند که چنین سرمایه گذاری هایی در آن کشور انجام شود (مانند هند) یا هر دو (مانند چین).

☑️⭕️چه می توان کرد؟
1▫️ هم حاکمان و هم شهروندان، افق فکری خودمان را گسترش دهیم، با جهان آشنا شویم. روندهای جهانی را بشناسیم و به آینده جهان در ده، بیست و پنجاه سال آینده فکر کنیم. با صنایعی میلیارد دلاری آینده یعنی اینترنت اشیاء، چاپ سه بعدی، روبات ها، هوش مصنوعی، ژن درمانی، قطعات یدکی بدن آشنا شویم (گزارش تصویر جهان در سال ۲۰۳۰ به ویژه برای مدیران ارشد کشور، مدیران ارشد کسب وکار و جوانان زیر ۲۵ سال تدوین شده است: لینک دانلود (https://t.me/Dr_Lashkarbolouki/38)).

2▫️شرایطی را فراهم کنیم که سطح دغدغه های مردمان این سرزمین از تخم مرغ و پوشک بچه و قیمت دلار، قرعه‌کشی خودور بالاتر بیاید و ذهن شان رها شود برای پرداختن به خلق آینده (کارآفرینان) یا سرمایه گذاری روی آینده (سرمایه گذاران). کشور را از مسایل حاشیه‌ای و فرسایشی (مانند تنش با جهان، تخاصم ایدئولوژیک، تحریم، خودی و غیرخودی و فیلترینگ و …) برهانیم. راهش آنست که اولویت‌های کشور را نه در مقابله که در رشد و پیشرفت تعریف کنیم. مردمی که از فردای خود اطمینانی ندارند نمی توانند به ده سال آینده فکر کنند.

3▫️ فعلا تا اطلاع ثانوی دولت هیچ پولی ندارد برای امور توسعه‌ای و سرمایه‌گذاری‌های آینده ساز. باشد! ولی همین دولت/حکومت می تواند بدون یک ریال هزینه، فضای کسب وکار و سرمایه گذاری را برای سرمایه گذاران در حوزه‌هایی مانند بلاک چین، هلث تک، هوش مصنوعی و … فراهم کند! باور کنیم باور کنیم فراهم کردن بستر سرمایه گذاری داخلی و خارجی بر حوزه‌های آینده‌ساز (آن هم بدون یک ریال هزینه) بیش از تخم مرغ و پوشک بچه اهمیت دارد!

افکار عمومی درباره‌ی هوش مصنوعی

  • یوسف مهرداد بی‌بالان

برای خروج از جستجو کلید ESC را بفشارید