این کتاب یک کار پژوهشی نیست. من مروری بر تحقیقات پیشین انجام نداده ام. آنچه که میخواهید بخوانید یادآوری خاطره ها، مشاهدات و نظرات شخصی من در طی ۲۰ سال سر و کار داشتن با Agile است – نه بیشتر نه کمتر.
این کتاب برای برنامه نویسان و غیر برنامه نویسان یکسان است. فنی نیست. هیچ کدی وجود ندارد. هدف این است که بدون وارد شدن به عمق جزئیات فنی برنامه نویسی، تست کردن و مدیریت، یک مرور کلی از هدف اصلی توسعه نرم افزار Agile ارائه دهد. این کتاب، کتابی کوچک است. به این دلیل که Agile مبحث خیلی بزرگی نیست. Agile ایدهی کوچکی در مورد مشکل کوچک تیمهای برنامه نویسی کوچک است که کارهای کوچک انجام میدهند. Agile در مورد مشکل بزرگ تیمهای بزرگ برنامه نویسی که کارهای بزرگی انجام میدهند، ایده بزرگی نیست. تا حدی عجیب است که این راه حل کوچک برای یک مشکل کوچک نامی دارد. با این همه، تقریباً به محض اختراع نرم افزار، مشکل کوچک مورد بحث، در دهه 50 و 60 حل شد. در آن روزها، تیمهای نرم افزاری کوچک یاد گرفتند که کارهای کوچک را به خوبی انجام دهند. با این حال، همه اینها در دهه 1970 از بین رفتند، وقتی که تیمهای نرم افزاری کوچک که کارهای کوچک انجام میدادند، همه درگیر یک ایدئولوژی شدند و تصور کردند که باید با تیمهای بزرگ کارهای بزرگی انجام داد.
آیا قرار نیست با تیمهای بزرگ کارهای بزرگی انجام دهیم؟ خدایا نه! کارهای بزرگ توسط تیمهای بزرگ انجام نمیشوند؛ کارهای بزرگ با همکاری تیمهای کوچک زیادی که کارهای کوچک بسیاری انجام میدهند انجام میشوند. این چیزی است که برنامه نویسان در دهه 50 و 60 به طور غریزی میدانستند. و این همان چیزی بود که در دهه 1970 فراموش شد. چرا فراموش شد؟ من گمان میکنم که دلیلش ناپیوستگی زمان بوده است. در دهه 1970، تعداد برنامه نویسان در جهان شروع به منفجر شدن کردند. پیش از آن، فقط چند هزار برنامه نویس در جهان وجود داشت. پس از آن، صدها هزار نفر بودند. اکنون این تعداد به یکصد میلیون نفر نزدیک شده است.
اولین برنامه نویسان در دهه 50 و 60 میلادی نوجوان نبودند. آنها در دهههای 30، 40 و 50 زندگی خود شروع به برنامه نویسی کردند. در دهه 1970، دقیقاً هنگامی که جمعیت برنامه نویسان در حال انفجار بود، آن پیرمردها داشتند بازنشست میشدند. بنابراین آموزشهای لازم هرگز رخ نداد. درحالی که یک گروه جوان 20 و چند ساله وارد کار میشدند، افراد با تجربه نیز در حال ترک کار بودند و در نتیجه تجربه آنها به طور مؤثری منتقل نشد.برخی میگویند که این واقعه نوعی از دورههای تاریک را در برنامه نویسی آغاز کرده است. به مدت 30 سال، ما با این ایده که باید با تیمهای بزرگ کارهای بزرگی انجام دهیم تلاش میکردیم، اما هیچ وقت نمیدانستیم که راز این بوده است که کارهای کوچک زیاد باید با تعداد زیادی از تیمهای کوچک انجام شود.
برای کمک به محبوب کردن این ایده، ما این ایده را نامگذاری کردیم. ما آن را «چابک» نامیدیم. من این مقدمه را در روزهای اول سال 2019 نوشتم. تقریباً دو دهه از زمان راه اندازی مجدد سال 2000 میگذرد و به نظر من زمان راه اندازی مجدد دیگری فرا رسیده است. چرا؟ زیرا پیام ساده و کوچک Agile طی این سالها گنگ شده است. Agile با مفاهیمLean ، Kanban، LeSS، SAFe ، مدرن، ماهر و بسیاری موارد دیگر آمیخته شده است. این ایدههای دیگر لزوما بد نیستند، اما پیام اصلی Agile نیستند. بنابراین وقت آن است که یک بار دیگر آنچه که پیشینیان ما در دهههای 50 و 60 و آنچه که ما در سال ۲۰۰۰ یاد گرفتیم به ما یادآوری شود. وقت آن است که به یاد بیاوریم که چابک واقعاً چیست.
در این کتاب، شما چیز جدیدی نخواهید یافت، هیچ چیز قابل توجه یا حیرت انگیزی، هیچ چیز انقلابی که الگو را بشکند. آنچه پیدا خواهید کرد بازگویی Agile به همان شکلی است که در سال ۲۰۰۰ گفته شد. اوه، Agile از دیدگاه دیگری گفته شده است، و ما در طی 20 سال گذشته چیزهایی آموخته ایم که آنها را نیز آورده ام. اما در کل، پیام این کتاب پیام 2001 و پیام 1950 است. این یک پیام قدیمی است. این یک پیام واقعی است. این پیغامی است که راه حل کوچک برای مشکل کوچک تیمهای نرم افزاری کوچک که کارهای کوچک انجام میدهند را در اختیار ما میگذارد.