الگو اسکرام


اسکرام یک روش چابکِ تکرارشونده و افزایشی برای مدیریت پروژه است که معمولاً در الگوی تولید نرم‌افزار چابک به عنوان نوعی متدولوژی توسعه نرم‌افزار دیده می‌شود. با اینکه روش اسکرام در واقع برای مدیریت محصولات تولید و توسعه پروژه‌ها پیشنهاد شده بود، اما استفاده آن در مدیریت پروژه‌های تولید نرم‌افزار متمرکز شد؛ همچنین امکان دارد جهت مدیریت تیم نگهداری نرم‌افزار، مدیریت پروژه‌ها یا برنامه‌های عمومی مدیریت خط مشی‌ها استفاده شود.








الگوهای بهبودسازی

الگوی تکامل قابلیت یکپارچه سازی (CMMI)

الگوی تکامل قابلیت یکپارچه‌سازی (CMMI) یکی از الگوهای پیشنهادی و تکنیک‌های پیشتاز است. ارزیابی سازمان‌های مستقل و رتبه‌بندی در مورد کیفیت چگونگی تعریف فرایندهای آن سازمان‌ها را دنبال می‌کند، نه بر کیفیت خود فرایندها یا نرم‌افزار تهیه شده است. الگوی CMMI جایگزین الگوی CMM شده است.








ایزو ۹۰۰۰

ایزو ۹۰۰۰ یک استاندارد رسمی سازماندهی فراینده ساخت محصولات و روشی برای مدیریت و نظارت پیشرفت کارهاست. در اصل این استاندارد برای بخش تولید وساخت(صنعتی) ایجاد شد.ایزو ۹۰۰۰ همچنین برای فرایند تولید نرم‌افزار نیز به خوبی استفاده شده.مانند الگو CMMI مدرک ایزو ۹۰۰۰ هیچ تضمینی راجع به کیفیت نتایج نهایی ندارد و فقط فرایندهای کاری را فرموله و قالب استاندارد رسمی می دهد.








ایزو ۱۵۵۰۴

ایزو ۱۵۵۰۴ که با عنوان فرایند تشخیص و تعیین بهبود قابلیت نرم‌افزار (به انگلیسی: Software Process Improvement and Capability Determination)(مخفف انگلیسی: SPICE) نیز شناخته می‌شود، چارچوبی برای ارزیابی فرایندهای نرم‌افزار است. این استاندارد تنظیمات قالب روشنی برای مقایسه فرایندها به شمار می‌رود. SPICE خیلی شبیه CMMI استفاده می‌شود. فرایندهای این الگو برای مدیریت، کنترل، راهنمایی و نظارت تولید نرم‌افزار است. این الگو جهت سنجش سازماندهی تولید و توسعه یا تیم پروژه بصورت واقعی در طول مدت تولید نرم‌افزار استفاده می‌شود. تجزیه و تحلیل این اطلاعات برای شناسایی نقاط ضعف و حرکت به سمت بهبود پروژه استفاه می‌شود. همچنین برای تشخیص نقاط قوت پروژه که می تواند برای سازمان یا تیم پروژه ادامه پیدا کند یا برای امور مشترک یکپارچه شود.







برنامه‌ریزی

برنامه ریزی، فرایندی برای رسیدن به اهداف است. بسته به فعالیتها، هر برنامه می تواند که بلند مدت، میان مدت یا کوتاه مدت باشد. برای مدیرانی که در جستجوی حمایت‌های بیرونی هستند، برنامه ریزی، مهمترین و کلیدی‌ترین سند برای رشد است.برنامه ریزی می تواند، نقش مهمی در کمک به جلوگیری از اشتباهات یا تشخیص فرصتهای پنهان بازی کند. برنامه ریزی به پیش بینی آینده و ساختن آینده تا حدودی قابل تصور کمک می کند. آن پلی است بین آنجایی که هستیم و آنجایی که می خواهیم برویم. برنامه ریزی به آینده می نگرد.

برنامه‌ریزی یا طرح‌ریزی یعنی اندیشیدن از پیش. متخصصین از زوایای متعدد برای برنامه‌ریزی تعاریف متعددی ارائه کرده‌اند که برخی از آنها از این قرار است:

تعیین هدف، یافتن و ساختن راه وصول به آن،
تصمیم‌گیری در مورد اینکه چه کارهایی باید انجام گیرد،
تجسم و طراحی وضعیت مطلوب در آینده و یافتن و ساختن راه‌ها و وسایلی که رسیدن به آن را فراهم کند،
طراحی عملیاتی که شیئی یا موضوعی را بر مبنای شیوه‌ای که از پیش تعریف شده، تغییر بدهد.

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






مدیران، برنامه ریزی و تصمیم گیری

تصمیم گیری، رکن اساسی تمام وظایف مدیریتی و در عین حال، مبنای برنامه ریزی است چرا که نمی توان گفت برنامه ای وجود دارد مگر اینکه تصمیمی اتخاذ شده باشد. به عبارت بهتر، تصمیم گیری، هسته مرکزی مدیریت است که در تمامی وظایف دیگر، نموددارد، به همین دلیل برخی (مانند هربرت سایمون) مدیریت و تصمیم گیری را دو واژه مترادف می دانند!

به جرأت می توان گفت برنامه ریزی و تصمیم گیری، برای نیل به اهداف سازمان مکمل اند اما نوع اتخاذ تصمیم نیز نقش به سزایی ایفا می کند با وجودی که تصمیم گیری به کلیه وظایف مدیریتی مربوط می شود، اما اساس برنامه ریزی به شمار می آید و نمی توان گفت برنامه ای وجود دارد بدون اینکه تصمیمی گرفته شده باشد. از این رو، تصمیم گیری از ارکان اساسی فعالیت های مدیریتی به شمار می رود چرا که هر مدیری برای اجرای هریک از وظایف خود، همواره با مواردی مواجه می شود که نیاز به تصمیم گیری دارد.






برنامه ریزی به عنوان وظیفه مدیران

برنامه ریزی از وظایف بسیار مهم مدیران است و با سایر وظایف آنها ارتباطی تنگاتنگ دارد. اگر نگرش مبتنی بر برنامه ریزی در سراسر زندگی فردی و سازمانی تسری یابد، نوعی تعهد به عمل بر مبنای تعقل و تفکر آینده نگر و عزم راسخ بر استمرار آن ایجاد می شود. به نوعی، تحقق اهداف فردی و سازمانی، مستلزم برنامه ریزی است. نیاز به برنامه ریزی از آنجا است که همه سازمان ها با فعالیت در محیطی پویا، مترصد آن هستند که منابع محدودشان را برای رفع نیازهای متنوع و فزاینده خود صرف نمایند و این پویایی محیط و وجود تلاطم و عدم اطمینان ناشی از تغییرات محیطی، بر ضرورت انکار ناپذیر برنامه ریزی می افزاید.

با پذیرفتن اصول پنج گانه مدیریتی، و مبنای برنامه ریزی برای این اصول، به این اجماع نظر می رسیم که برنامه ریزی، فرایندی است دارای مراحل مشخص و بهم پیوسته برای تولید یک خروجی منسجم در قالب سیستمی هماهنگ از تصمیم هاکه در این فرایندی، مراحل مشخص و بهم پیوستهای برای تولید یک خروجی منسجم در قالب سیستمی هماهنگ از تصمیم ها وجود دارد. طی این فرایند، به پیش بینی و تدوین فعالیت هایی پرداخته می شود که باید در جهت نیل به اهداف سازمانی صورت گیرد. به عبارت بهتر در فرایند برنامه ریزی، به: چه کسی؟ کجا؟ کِی؟ چه چیزی؟ چرا؟ چگونه؟ پرداخته می شود و پاسخ به این پرسش ها به انتخاب مأموریت ها، هدف ها و اقداماتی برای نیل به آنها می انجامد که مستلزم تصمیم گیری و انتخاب از میان راه های مختلف است. برنامه ریزی می تواند، نقش مهمی در کمک به جلوگیری از اشتباهات یا تشخیص فرصت های پنهان بازی کند. برنامه ریزی به پیش بینی آینده و ساختن آینده تا حدودی قابل تصور کمک می کند. آن پلی است بین آنجایی که هستیم و آنجایی که می خواهیم برویم. برنامه ریزی به آینده می نگرد.






تعریف برنامه ریزی

نگاهی به واژه نامه های عمومی و تخصصی، کافی است تا تعاریفی از این دسته را پیش روی ما قرار دهد. اغلب واژه نامه های عمومی برنامه ریزی را کار یا فعالیت برنامه ریز؛ شکل گیری برنامه ها؛ ساخت یا ترسیم یک طرح یا نمودار؛ کشیدن طرح، طراحی، تدبیر کردن دانسته‌اند واژه نامه های تخصصی نیز آن را، شیوه و فرایند سیستماتیک و گام به گامی دانسته اند که به تعریف، ایجاد و ترسیم فعالیت های ممکنی می پردازد که با نیازها، علایق و مشکلات موجود یا آینده مطابقت داشته باشند

به عبارت دیگر، برنامه ریزی فرایندی است منظم مداوم وحساب شده ومنطقی جهت دار و دورنگر به منظورهدایت وارشاد فعالیتهای جمعی برای رسیدن به هدف مطلوب است .برنامه ریزی بایدمداومت داشته باشد. اهداف برنامه ریزی به شرح زیراست 1)پیش بینی آینده: برنامه آینده نگر 2)برنامه ساختن وشکل دادن به آینده: برنامه آینده ساز 3)برنامه برای انتخاب یک شکل خاص برای آینده :آینده گزین.

متخصصین ، برنامه ریزی را با توجه به حوزه ی فعالیت خود تعریف نموده اند. این واژه، در زمینه علوم و فنون بیشتر با واژه طراحی (designing) عجین شده. هر چند که:این برداشت تقلیل گرایانه و البته این واژه در متون مدیریتی جایگاهی ندارد!






مزایای برنامه ریزی

برخی از مزایای برنامه ریزی عبارتند از:

افزایش احتمال تحقق اهداف سازمان
ایجاد فرصتِ اجرای منظم تصمیم ها
صرفه اقتصادی
انطباق با شرایط متغیر محیطی
استفاده صحیح از منابع
فراهم شدن ابزارهای کنترل
امکان سنجش میزان پیشرفت
آگاهی کارکنان از اهداف سازمان و نقش خود
تقویت کار گروهی
رسیدن به اهداف شخصی

چالش های برنامه ریزی:

چالش های عمده برنامه ریزی از دید برخی منتقدان این امر عبارتند از:

1. حوادث غیر منتظره ای که می تواند تمام پیش بینی ها را نقش بر آب کند! 2.عوض شدن فکر

تغییر رویه هایی که ممکن است مقاومت ایجاد نماید.

1. صرف هزینه و وقت. 2. محدودیت های کوتاه مدت و مقطعی.






تصمیم گیری

واژه تصمیم در لغت به معنای عزم و اراده به انجام کاری است و از دید علم مدیریت، به معنای انتخاب یک راه از راه های مختلف و در حقیقت، انتخاب بهترین راه برای نیل به اهداف است. تصمیم گیری، بیش از آنکه کاری ساده باشد، فرایندی مرحله دار است.






گونه شناسی تصمیم گیری

گونه های مختلفی از تصمیم گیری را از دیدگاه های مختلف می توان شناسایی نمود. برخی از این گو نه ها عبارتند از:

تصمیم گیری به اعتبار برنامه (برنامه ریزی شده و برنامه ریزی نشده)
تصمیم گیری به اعتبار میزان اطلاعات
تصمیم گیری به اعتبار تصمیم گیرنده (فردی و گروهی)
تصمیم گیری به اعتبار درجه استقلال
تصمیم گیری به اعتبار میزان ساختار یافتگی
سایر موارد







مراحل تصمیم گیری

برآیند نسبتاً کلی از مراحلی که برای فرایند تصمیم گیری در متون مختلف طرح شده است را می توان در موارد زیر خلاصه نمود:

اطمینان از وجود نیاز به تصمیم
تعیین معیارهای تصمیم گیری
تشخیص میزان اهمیت معیارها
کشف راه حل ها
ارزیابی راه حل ها
انتخاب بهترین راه حل








برنامه‌سازی مفرط
برنامه‌سازی مفرط (به انگلیسی: extreme programming) که به اختصار XP نیز خوانده می‌شود، یک متدولوژی توسعه نرم‌افزار است که در آن هدف افزایش کیفیت نرم‌افزار و پاسخ‌گویی به نیازمندی‌های در حال تغییر کاربر است. به عنوان گونه‌ای از توسعه چابک نرم‌افزار (agile software development) از انتشار (release)های متناوب در چرخه‌های کوتاه توسعه با هدف بهبود قابلیت تولید و معرفی نقاط کنترلی (Check Point) برای تطابق با نیازمندی‌های جدید کاربر، دفاع می‌کند.








اسکرام
چارچوب یا فرایند مدل اسکرام یک چارچوب تکرارپذیر و افزایشی برای کنترل پروژه (مدیریت نرم‌افزار) است که معمولاً در زیر شاخه مدل فرایند تولید نرم‌افزار چابک و سریع است. و یک نوع مدل تولید نرم‌افزار در مهندسی نرم‌افزار بحساب می‌رود.اسکرام یک چارچوب تولید نرم‌افزار از سری روشهای تفکر چابک (Agile) می‌باشد. اسکرام یک چارچوب یا فرایند؟ مسئله این است، دراین موضوع کاملاً بین متخصصان اسکرام دوگانگی وجود دارد. اشخاصی مانند کن شوئبر (مبدع اسکرام) دائماً از لفظ چارچوب(framework) استفاده می‌کنند و تاکید می‌نمایند که همه باید این مورد را قبول داشته باشند ولی بعضی دیگر از دوستان از لفظ فرایند و یا متدولوژی برای اسکرام استفاده می‌کنند.






تاریخچه

این روش در سال ۱۹۸۶ توسط هیروتاکا تاکوچی و ایکوجیرو نوناکا بعنوان یک خط مشی جدید برای تولید نرم‌افزارهای تجاری که باید قابلیت سرعت در تولید و انعطاف پذیری را داشته باشند، عرضه شده گردید. اسم اسکرام از یک نوع بازی در فوتبال راگبی آمده است

اسکرام (Scurm) یک متدولوژی افزایشی (Incremental) برای مدیریت پروژه‌های نرم‌افزاری است و از رده متدولوژی‌های Agile محسوب می‌شود. این متدولوژی اولین بار در ژاپن اختراع شد و بعدها در سال ۱۹۹۱ توسط Stahl و Degrace توسعه داده شد. درسال ۱۹۹۵ این متدولوژی توسط Ken Schwober و Jeff Stherland بعنوان یک متدولوژی رسمی برای تولید نرم‌افزار بکار گرفته شد.






مشخصات

با اینکه روش اسکرام در واقع یک روش برای کل فرایند تولید نرم‌افزار در پروژه‌ها به شمار می‌رود اما اختصاصاً برای کنترل پروژه نرم‌افزار استفاده می‌گردد، همچنین امکان استفاده از این روش در نگهداری و پشتیبانی نرم‌افزار به عنوان برنامه و خط مشی عمومی وجود دارد.

اسکرام دربردارنده مجموعه‌ای از روش (Practice)ها و نقش‌های از قبل تعریف شده است اما سه ویژگی است که پایه‌های وجودی اسکرام هستند:

۱- شفافیت و روشنی Transparency: یعنی اینکه تمام جنبه‌های مختلف فرایند که بر خروجی آن اثر می‌گذارد بایستی برای آنهایی که فرایند را کنترل می‌کنند مشهود و قابل دید باشد. نه فقط این جنبه‌ها باید شفاف باشد بلکه بایستی مشخص و معلوم هم باشند یعنی اگر کسی که فرایند را ممیزی می‌کند تشخیص دهد که چه چیزی انجام شده، این باید مطابق با تعریف انجام شده Done از دید تمام افراد درگیر در پروژه باشد. اگر توافقی بین همه طرف‌های درگیر در پروژه بر سر معانی و مفاهیم نباشد، مشهود بودن اینکه یک قابلیت یا ویژگی انجام شده یا خیر، دیگر محلی از اعراب ندارند.

۲- ممیزی و وارسی Inspection: جنبه‌های مختلف فرایند تولید نرم‌افزار بایستی مدام به اندازه‌ای در حال وارسی و چک باشند که انحرافات فرایند قابل تشخیص باشد.

۳- انطباق Adaption: اگر بازرس و ممیز فرایند پس از بازرسی فرایند، تشخیص داد که یک یا چند جنبه از فرایند خارج از حدود قابل قبول است و باعث غیر قابل پذیرش شدن محصول تولیدی می‌شود، آن شخص باید فرایند یا آنچه که فرایند بر روی آن انجام می‌شود را تنظیم و تعدیل کند. این کار باید در سریعترین زمان ممکنه انجام شود تا از انحرافات بیشتر جلوگیری شود.






نقشها

نقش‌های عمده در اسکرام عبارتند از:

ScrumMaster که وظیفه نگهداری و حفظ فرایند را برعهده دارد.
Product Owner که نماینده ذینفعان (Stakeholders)های پروژه و business است.
Team Member عضوی از یک گروه cross-function است که معمولاً بیش از ۷ نفر نیستند. این افراد عملیات تحلیل٫ طراحی٫ پیاده سازی، تست و... را انجام می‌دهند.

تعریف هر نوع نقش یا سمت به جز سه نقش گفته شده در اسکرام ممنوع است. به عنوان مثال اعضای تیم نمی‌توانند سمت‌های متفاوتی داشته باشند.
روند کار اسکرام

مثل تمام متدولوژی‌های Incremental و Iterative اینجا هم ما دوره‌های زمانی یا iteration داریم که در طی آنها محصول نهایی پروژه بتدریج تکمیل می‌شود. این دوره‌های زمانی را در اسکرام اصطلاحاً sprint نامیده می‌شوند.

در طی یک Sprint که معمولاً یک دوره دو تا چهار هفته است (طول دوره را تیم مشخص می‌کند) اعضاء تیم یک محصول بالقوه قابل ارائه و قابل استفاده را تدریجاً تولید می‌کنند. بطور رسمی دوره هر sprint یک ماه یا سی روز در نظر می‌گیرند.

مجموعه ویژگی‌هایی از محصول نهایی پروژه که در یک sprint محقق می‌شود از یک Requirements Repository بنام Sprint Backlog استخراج می‌شود.

اصطلاح Product Backlog نامی است که به بانک اطلاعاتی نیازمندهای عملیاتی و غیر عملیاتی کل یک پروژه اطلاق می‌شود و در حقیقت مجموعه‌ای اولویت بندی شده از نیازمندی‌های سطح بالای سیستمی است که در نهایت بایستی تحویل داده شود.







Sprint Planning Meeting

مواردی از Product Backlog که در طی یک sprint بایستی انجام شود در طول جلسه برنامه ریزی sprint مشخص می‌شود. اصطلاحاً این جلسه را Sprint Planning Meeting می‌نامند.

در طول این جلسه، Product Owner اعضاء تیم را دربارهٔ مواردی از Product Backlog محصولی که می‌خواهند تکمیل شود، آگاه می‌کند. سپس اعضاء تیم مشخص می‌کنند که چه مقدار از موارد مشخص شده توسط Product Owner را می‌توانند در این sprint انجام دهند و چه میزان از آنرا در sprintهای بعدی.

مواردی از Product Backlog که قرار است در یک Sprint انجام شود را اصطلاجاْ Sprint Backlog می‌نامند. مفاد Sprint Backlog در واقع توافقی است بین اعضاء تیم و Product Owner برای انجام بخشی از نیازمندی‌های پروژه در طول sprint جاری و بهرحال طبیعی است که بعد از تصویب شدن مفاد یک sprint، هیچکس نمی‌تواند آنرا در طول sprint تغییر دهد. در طول دوره، نیازمندی‌های لحاظ شده در Sprint Backlog از Product Backlog بر داشته می‌شوند. اما امکان دارد به دلایلی که در ادامه می‌آید این نیازمندی‌های دوباره به Product Backlog برگردد.

مانند تمام متدولوژی‌های iterative توسعه نرم‌افزار در اسکرام نیز Time Boxed است، به این معنی که sprint بایستی دقیقاً سروقت تمام شود و اگر نیازمندی‌های اشاره شده در Spring Backlog به هر علتی تکمیل نشده باشند آنها را کنار گذاشته و دوباره وارد Product Backlog می‌کنند.

بعد از خاتمه یک sprint، اعضاء تیم طی جلسه‌ای به Product Owner و سایر ذینفعان پروژه نشان می‌دهند که چکار کرده‌اند و چطور از نسخه جاری نرم‌افزار می‌شود استفاده کرد.

در ساده‌ترین روش معمولاً از نرم‌افزارهای صفحه گستره (Spread Sheet) همچون LibreOffice Calc یا Microsoft Excel برای ساختن و نگهداری Product Backlog و Sprint Backlog استفاده می‌شود، اما می‌توان از طیف وسیعی از ابزارهای نرم‌افزاری که برای استفاده در تیمهای Agile نوشته شده‌اند نیز استفاده کرد.








توسعه‌دهنده نرم‌افزار

تولیدکننده نرم‌افزار یا توسعه‌دهنده نرم‌افزار (به انگلیسی: Software developer) در مبحث توسعهٔ نرم‌افزار به هر کسی اطلاق می‌شود که بخشی از فرایند تولید نرم‌افزار را برعهده داشته باشد. یعنی هر یک از موقعیت‌های زیر جزو توسعه‌دهندگان محسوب می‌شوند:

مدیر پروژهٔ نرم‌افزار
تحلیل‌گر کسب و کار نرم‌افزار
طراح نرم‌افزار
برنامه‌نویس
آزمون‌گر نرم‌افزار

برای هر برنامه یا نرم‌افزاری ممکن است تمام یا بخشی از اعضای این تیم حاضر باشند.







توسعه نرم‌افزاری چابک

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






تاریخچه
سوابق

متدهای توسعهٔ افزایشی نرم‌افزار به سال ۱۹۵۷ برمی‌گردند. در سال 1974، E.A. Edmonds در مقاله‌ای فرایند توسعهٔ تطبیقی نرم‌افزار را معرفی کرد. هم‌زمان و به طور مستقل متدهای مشابه توسعه یافت و توسط مرکز توسعهٔ سیستم‌های شرکت تلفن نیویورک زیر نظر Dan Gielan گسترش یافت. اوایل دههٔ 1970، Tom Gilb شروع به انتشار مفاهیمی در مورد کنترل تحولی پروژه (EVO) کرد، که به مهندسی رقابتی توسعه یافت. در طول نیمه تا انتهای دههٔ 1970 Gielan به طور گسترده در ایالات متحده در مورد این متدولوژی، تجارب و فواید آن سخنرانی‌هایی ارائه داد.

متدهای توسعهٔ به اصطلاح چالاک و چابک نرم‌افزار اواسط دههٔ ۱۹۹۰ به صورت یک عکس‌العمل در مقابل متدهای سنگین آبشاری مطرح شد، که توسط منتقدان آن به صورت یک مدل توسعهٔ به شدت منظم، دسته‌بندی‌شده، میکرو مدیریتی و آبشاری توصیف شده است. استدلال‌کنندگان متدهای چالاک و چابک ادعا می‌کنند، این متدها به منزلهٔ بازگشت به تجارب توسعهٔ نرم‌افزار در اوایل تاریخ هستند. پیاده‌سازی‌های اولیهٔ متدهای چابک، شامل Rational Unified Process (1994)، Scrum (1995)، Crystal Clear، برنامه‌نویسیExtreme (1996)، توسعهٔ تطبیقی نرم‌افزار، توسعهٔ ویژگی‌محور و متد توسعهٔ سیستم‌های دینامیک (DSDM، 1995) می‌شود. بعد از انتشار مانیفست چابک در سال ۲۰۰۱، اکنون این‌ها به طور معمول به متدولوژی‌های چابک برمی‌گردند.






مانیفست چابک

در فوریهٔ ۲۰۰۱، تعداد ۱۷ توسعه‌دهنده‌ی نرم‌افزار، در Snowbird یوتا ملاقاتی داشتند تا در مورد متدهای توسعه‌ی چالاک گفتگو کنند.

آنها برای توصیف رویکردی که اکنون به عنوان «توسعه‌ی چابک نرم‌افزار» شناخته می‌شود، مانیفستی برای توسعه‌ی چابک نرم‌افزار منتشر کردند. بعضی از نویسندگان این مانیفست اتحاد Agile را ایجاد کردند ، یک سازمان غیرانتفاعی که توسعه‌ی نرم‌افزار را بر اساس اصول مانیفست ترویج می‌دهند.







تمام مانیفست چابک به شرح زیر است:

ما با توسعه نرم‌افزار و کمک به دیگران در انجام آن، در حال کشف راه های بهتری برای توسعه نرم‌افزار هستیم. از این کار به ارزش های زیر می­رسیم :

۱- افراد و تعاملات بالاتر از فرایندها و ابزارها

۲- نرم‌افزار کار کننده بالاتر از مستندات جامع

۳- مشارکت مشتری بالاتر از قرارداد کاری

۴- پاسخگویی به تغییرات بالاتر از پیروی از یک برنامه
با آنکه موارد سمت چپ ارزشمند هستند ولی ما برای موارد سمت راست ارزش بیشتری قائل هستیم.

معنی آیتم‌های سمت راست مانیفست در مفهوم توسعه‌ی چابک نرم‌افزار در زیر توضیح داده شده است:






افراد و تعاملات بالاتر از فرایندها و ابزارها

افراد مهمترین نقش را در پیروزی یک پروژه دارند. یک فرایند عالی بدون نیروی مناسب منجر به شکست می­گردد و بر عکس افراد قوی تحت فرایند ضعیت ناکارآمد خواهند بود.

یک نیروی قوی لازم نیست که برنامه نویسی عالی باشد، بلکه کافیست که یک برنامه نویسی معمولی با قابلیت همکاری مناسب با سایر اعضای تیم باشد. کار کردن با دیگران، تعامل درست و سازنده با سایر اعضای تیم خیلی مهمتر از این که یک برنامه نویس با هوش باشد. برنامه نویسان معمولی که تعامل درستی با یکدیگر دارند به مراتب موفقتر هستند از تعداد برنامه نویسی عالی که قدرت تعامل مناسب با یکدیگر را ندارند.

در انتخاب ابزارها آنقدر وقت نگذارید که کار اصلی و تیم را فراموش کنید. به عنوان مثال می­توانید در شروع به جای بانک اطلاعاتی از فایل استفاده کنید، به جای ابزار کنترل کد گرانقیمت از برنامه رایگان کد باز استفاده کنید. باید به هیچ ابزاری عادت نکنید و صرفاً به آنها به عنوان امکانی جهت تسهیل فرایندها نگاه کنید.






نرم‌افزار کار کننده بالاتر از مستندات جامع

نرم‌افزار بدون مستندات، فاجعه است. کد برنامه ابزار مناسبی برای تشریح سیستم نرم‌افزاری نیست. تیم باید مستندات قابل فهم مشتری بسازد تا ابعاد سیستم از تجزیه تحلیل تا طراحی و پیاده سازی آن را تشریح نماید.

با این حال، مستندات زیاد از مستندات کم بدتر است. ساخت مستندات زیاد نیاز به وقت زیادی دارد و وقت بیشتری را می گیرد تا آن را با کد برنامه به روز نمایید. اگر آنها با یکدیگر به روز نباشند باعث درک اشتباه از سیستم می شوند.

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

اگر فقط مستندات کوتاه از ساختار و منطق سیستم داشته باشیم چگونه می توانیم اعضای جدید تیم را آموزش دهیم؟ پاسخ کار نزدیک شدن به آنها است. ما دانش خود را با نشستن در کنار آنها و کمک کردن به آنها انتقال می­دهیم. ما آنها را بخشی از تیم می­کنیم و با تعامل نزدیک و رو در رو به آنها آموزش می­دهیم.






مشارکت مشتری بالاتر از قرارداد کاری

نرم‌افزار نمی­تواند مثل یک جنس سفارش داده شود. شما نمی‌توانید یک توصیف از نرم‌افزاری که می خواهید را بنویسید و آنگاه فردی آن را بسازد و در یک زمان معین با قیمت مشخص به شما تحویل دهد. بارها و بارها این شیوه با شکست مواجه شده است.

این قابل تصور است که مدیران شرکت به اعضای تیم توسعه بگویند که نیازهای آنها چیست، سپس اعضای تیم بروند و بعد از مدتی برگردند و یک سیستمی که نیازهای آنها را برآورده می کند، بسازند. اما این تعامل به کیفیت پایین نرم‌افزار و در نهایت شکست آن می انجامد. پروژه های موفق بر اساس دریافت بازخورد مشتری در بازه های زمانی کوتاه و مداوم است. به جای وابستگی به قرارداد یا دستور کار، مشتری به طور تنگاتنگ با تیم توسعه کار کرده و مرتباً اعمال نظر می­کند.

قراردادی که مشخص کننده نیازمندیها، زمانبندی و قیمت پروژه است، اساساً نقص دارد. بهترین قرارداد این است که تیم توسعه و مشتری با یکدیگر کار کنند.
پاسخگویی به تغییرات بالاتر از پیروی از یک برنامه

توانایی پاسخ به تغییرات اغلب تعیین کننده موفقیت یا شکست یک پروژه نرم‌افزاری است. وقتی که طرحی را می­ریزیم باید مطمئن شویم که به اندازه کافی انعطاف پذیر است و آمادگی پذیرش تغییرات در سطح بیزنس و تکنولوژی را دارد.

مسیر یک پروژه نرم‌افزاری نمی­تواند برای بازه زمانی طولانی برنامه ریزی شود. اولاً احتمالاً محیط تغییر می­کند و باعث تغییر در نیازمندی ها می­شود. ثانیاً همین که سیستم شروع به کار کند مشتریان نیازمندی­های خود را تغییر می دهند. بنابراین اگر بدانیم که نیازها چیست و مطمئن شویم که تغییر نمی­کنند، قادر به برآورد مناسب خواهیم بود، که این شرایط بعید است.

یک استراتژی خوب برای برنامه ریزی این است که یک برنامه ریزی دقیق برای یک هفته بعد داشته باشیم و یک برنامه ریزی کلی برای سه ماه بعد.






اصول چابک

بر اساس نظرات Kent Beck، مانیفست چابک، بر ۱۲ اصل استوار است:

رضایت مشتری از طریق تحویل سریع نرم‌افزار مفید؛
استقبال از تغییرات نیازمندی‌ها، حتی در اواخر توسعه؛
نرم‌افزار کار زود به زود تحویل می‌شود (هفتگی به جای ماهانه)؛
نرم‌افزار کار مقیاس اصلی پیشرفت است؛
توسعه‌ی پایدار، قادر به حفظ سرعت ثابت است؛
همکاری نزدیک و روزانه بین افراد کسب‌وکار و تیم توسعه؛
مکالمه‌ی رو در رو بهترین شکل ارتباطات است (محل مشترک)؛
پروژه‌ها در اطراف افراد باانگیزه، که باید به آنها اعتماد کرد، شکل می‌گیرند؛
توجه مستمر به برتری فنی و طراحی خوب؛
سادگی- هنر به حداکثر رساندن کارهای انجام‌نشده- ضروری است؛
تیم‌های خودسازمان‌دهی؛
انطباق با تغییرات محدودیت‌ها به طور منظم.

در سال ۲۰۰۵، گروهی به ریاست Alistair Cockburn و Jim Highsmith ضمیمه‌ای تحت عنوان «اعلامیه‌ی وابستگی» برای اصول مدیریت پروژه نوشتند، که مدیریت پروژه‌های نرم‌افزاری را بر اساس متدهای توسعه‌ی نرم‌افزار پیش ببرد..






مشخصات

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

متدهای چابک، وقتی تیم‌ها با هم در یک مکان هستند، بر ارتباطات رو در رو برای تمام مستندات نوشته‌شده تأکید دارد. بیشتر تیم‌های چابک در یک دفتر تک‌واحدی (به نام bullpen) کار می‌کنند، که چنین ارتباطاتی را تسهیل می‌کند. به منظور ساده کردن ارتباطات و همکاری تیمی، گروه معمولاً کوچک (بین 5 تا 9 نفره) است. پروژه‌های بزرگ توسعه می‌توانند توسط تیم‌های کاری چندگانه در راستای یک هدف رایج یا در بخش‌های متفاوت یک پروژه تحویل شوند. ممکن است این امر نیاز به هماهنگی اولویت‌های تمام تیم‌ها داشته باشد. وقتی تیمی در مکان‌های مختلفی کار می‌کند، افراد ارتباط روزانه‌شان را از طریق ویدئو کنفرانس، صدا، ایمیل و... حفظ می‌کنند.

مهم نیست چه دیسیپلین‌های توسعه‌ای لازم است، هر تیم چابک، یک پاسخگوی مشتری دارد. این شخص توسط ذی‌نفعان به نمایندگی انتخاب می‌شود و یک تعهد فردی ایجاد می‌کند که برای پاسخگویی به سؤالات اواسط تکرار، در دسترس توسعه‌دهندگان باشد. در انتهای هر تکرار، ذی‌نفعان و نماینده‌ی مشتریان پیشرفت را بررسی می‌کنند، اولویت‌ها را با دید بهینه‌سازی بازگشت سرمایه (ROI) مجدداً می‌سنجند و از انطباق نیازهای مشتری با اهداف شرکت اطمینان حاصل می‌کنند. بیشتر پیاده‌سازی‌های چابک از ارتباطات غیر رسمی، روزانه و رو در رو در میان اعضای تیم بهره می‌گیرند. این به طور خاص شامل نماینده‌ی مشتری و هر کدام از ذی‌نفعان علاقه‌مند به عنوان ناظر می‌شود. در یک جلسه‌ی مختصر، هر کدام از اعضای تیم گزارش می‌دهند که در روز گذشته چه کرده‌اند، قصد دارند در روز جاری چه کارهایی انجام دهند و موانع پیش روی‌شان کدامند. این ارتباطات رو در رو مشکلات را به محض بروز، افشا می‌کند. «این جلسات روزانه، گاهی به صورت ایستاده یا نشست‌های اسکرام هر روز در یک زمان و مکان ثابت بر‌گزار می‌شوند و نباید بیش از 15 دقیقه طول بکشند. معمولاً جلسات ایستاده این نقش را دارند.»

توسعه‌ی چابک بر کار نرم‌افزار به عنوان مقیاس اصلی پیشرفت تأکید دارد، که با مزیت ارتباطات رو در رو در هم آمیخته شده، و نسبت به سایر متدها مستندات مکتوب کمتری تولید می‌شود. متد چابک ذی‌نفعان را به اولویت‌بندی «خواسته‌ها» با نتایج حاصل از سایر تکرارها، بر اساس ارزش کسب‌وکار مشاهده‌شده در ابتدای تکرار (که با عنوان ارزش‌محور شناخته می‌شود) ترغیب می‌کند.

ابزارها و تکنیک‌های خاص، مانند یکپارچه‌سازی مستمر، تست اتوماتیک یا xUnit، برنامه‌نویسی دوجزئی، توسعه‌ی آزمون‌محور، الگوهای طراحی، طراحی دامنه‌محور، code refactoring و دیگر تکنیک‌ها اغلب برای بهبود کیفیت و افزایش چابکی پروژه به کار می‌روند.

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

در توسعه‌ی چابک نرم‌افزار، یک رادیاتور اطلاعات، صفحه‌نمایشی فیزیکی (معمولاً بزرگ) واقع در صدر دفتر کار است، جایی که رهگذران بتوانند آن را ببینند. این صفحه‌نمایش خلاصه‌ای از آخرین وضعیت محصول(های) نرم‌افزاری را نمایش می‌دهد. این نام توسط Alistair Cockburn ابداع و در کتاب «توسعه‌ی چابک نرم‌افزار» در سال 2002 توصیف شد. ممکن است یک نشانگر نوری برای آگاه کردن اعضای تیم در مورد وضعیت فعلی پروژه‌شان به کار رود.
11:42 am
اختلافات شیعیان در مورد وجود فرزند حسن عسکری


سالهای امامت

حسن عسکری طی سال های امامت خود در سامرا تحت محدودیت های اعمال شده از سوی خلیفه عباسی می زیست. وی زیر نظر جاسوسان معتمد عباسی بود و لذا نمی توانست با شیعیان ارتباط آزادانه داشته باشد و تنها خواص اصحابش با وی شخصاً ارتباط داشتند. وی در سال 260 ه.ق. بیمار شد. معتمد چند نفر مراقب به همراه پزشک و قاضی القضات را بر بالین وی فرستاد.





نهایتاً وی در اثر این بیماری در 8 ربیع‌الاول آن سال مقارن با اول ژانویه 874 درگذشت. معتمد، ابوعیسی فرزند متوکل را فرستاد تا بر وی نماز گزارد. او پس از انجام مراسم در منزلش دفن شد. بنا بر روایت شیخ طوسی عثمان بن سعید در طول بیماری حسن عسکری بر بالین وی بود و مراسم غسل و به خاک سپاری را وی به جا آورد. بدین ترتیب طبق مآخذ قدیم امامیه حسن عسکری آشکارا پسرش را معرفی ننمود و جانشینی را به طور علنی معرفی نکرد. بدین ترتیب امامیه که معتقد بودند زمین نمی‌تواند از حجت خدا خالی باشد و امام بعدی با وصایت توسط امام قبلی معرفی می شود دچار حیرت شدند و به فرقه های متعدد منشعب گشتند.

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




اختلاف بین جعفر و مادر حسن عسکری

بین جعفر و مادر حسن عسکری بر میراث وی اختلافی بروز کرد که توسط مدرسی و جاسم حسین به دو شکل متفاوت تبیین شده است. مدرسی می گوید مادر حسن عسکری، حُدَیث، در نقطهٔ مقابل ادعا کرد که فرزند حسن عسکری هنوز به دنیا نیامده اما کنیزی به نام صغیل از حسن حامله‌است. این ادعا صرفاً برای آن بود که دست جعفر برادر حسن عسکری از ارث کوتاه شود؛ زیرا در صورت فرزنددار بودن حسن، برطبق فقه اهل سنت میراث حسن عسکری تنها به مادر او تعلق می‌گرفت. این ادعا به جایی نرسید و کنیز تا چندین سال تحت نظر بود و فرزندی به دنیا نیاورد. بزرگان شیعه و یاران نزدیک حسن عسکری نیز بعضی جانب جعفر را گرفتند و عده‌ای جانب مادر حسن عسکری را. اما جاسم حسین می گوید طبق روایت شیخ مفید حسن عسکری وصیت نامه ای تنظیم کرد و تمام دارایی خود را به مادرش بخشید. حُدَیث پس از دریافت خبر درگذشت وی از مدینه به سامرا آمد اما تمام اموال تحت سیطره عباسیان درآمده بود و جعفر نیز بر حق خود بر از ارث اصرار داشت. حدیث با استناد به فقه امامیه گفت حسن عسکری وی را وارث خود قرار داده و جعفر حقی درآن ندارد. پس از آنکه محقق شد ثقیل آبستن نبوده قاضی به نفع حدیث رأی داد اما میراث بر خلاف فقه امامیه نصف شد.

به نوشته جاسم حسین، ابوسهل نوبختی روایت می کند اصحاب سر حسن عسکری که احادیث وی را روایت می کردند و نایبان او بودند پس از درگذشت وی متفق‌القول بودند او از خود پسری برجا گذاشته که امام است. آنان شیعیان را از پرسیدن نام او و افشای وجودش برای دشمنان منع می کردند. همچنین طبق گزارش های شیخ صدوق، شیخ طوسی و رجال نجاشی حسن عسکری پیش از فوت پسر خود را به عنوان جانشین به چهل تن از اصحاب نزدیکش معرفی کرده و به آنها دستور داده درطول غیبت وی از عثمان بن سعید و پسرش محمد بن عثمان اطاعت کنند. بخش بزرگتری از شیعیان این نظر را پذیرفتند هر چند در بدو امر در خصوص زمان تولد، نام وی و اینکه آیا وی مهدی قائم است یا خیر اختلاف داشتند. ما به نوشته مدرسی تا زمان مرگ حسن عسکری صحبتی از فرزند وی به میان نبود و حسن عسکری نیز در وصیتش تنها از مادرش نام برده بود. پس از مرگ او، اصحاب نزدیکش به رهبری عثمان بن سعید عمری، این مسأله را اعلام کردند که حسن عسکری پسری می‌داشته که جانشین مشروع امامت است. طبق گفته عمری، این پسر مخفی نگاه داشته شده بود چرا که بیم آن می‌رفت که توسط دولت دستگیر شود و به قتل برسد. در مقابل، فاطمه (خواهر حسن عسکری) و جعفر (برادر حسن عسکری) اعلام کردند که فرزندی از امام شیعه به دنیا نیامده‌است. حکیمه، عمه حسن عسکری، نیز به وجود فرزندی از حسن عسکری معتقد بود (در روایتی خود شاهد بدنیا آمدن بوده‌است؛ اما در روایتی دیگر از او نقل شده که خود تولد فرزند حسن را ندیده‌است بلکه از نامه‌ای که حسن به مادرش نوشته بود از تولد این فرزند آگاه





فرزند غایب

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

بیشتر وکلای محلی که تا پیش از فوت امام شیعه مسئولیت برقراری ارتباط بین شیعیان و امامان و جمع‌آوری خمس و وجوهات شرعی برای شیعیان را برعهده داشتند، گفتهٔ عثمان بن سعید را تایید کردند. اما بعضی شک خود را در مورد وجود چنین فرزندی ابراز نمودند. در این میان عثمان بن سعید از سامرا به بغداد مهاجرت کرد. عثمان آن دسته از وکلا که به او وفادار بودند را در سمت خود نگه داشت و آنان به نیابت امام و نیز جمع‌آوری وجوهات شرعی برای امامی که تولدش را وعده داده بودند، ادامه دادند.بگفتهٔ حسین مدرسی، اکثریت شیعیان در شهرهای متفاوتی از ایران، به‌خصوص قم وضع موجود را پذیرفتند و به پرداخت وجوهات به نائبان ادامه‌دادند. اما عراق و کوفه وضع متفاوتی داشت. بسیاری یا شاید حتی اکثریت شیعیان، امامت جعفر را پذیرفتند. بزرگان و متکلمانی از شیعه مانند علی بن حسن بن فضال، برجسته‌ترین روحانی شیعه در کوفه، از این جمله بودند. اما جعفر نیز مدت زیادی عمر نکرد و چند سالی پس از فوت برادرش حسن عسکری (۲۷۱ ق.) درگذشت.در این میان عثمان بن سعید در بغداد تا زمان مرگ (حدوداً بین ۲۶۰ تا ۲۶۷ ق) به اداره دستگاه امامت ادامه داد. او اصرار داشت که در تماس مستقیم با فرزند حسن عسکری است.




تاریخچه اعتقاد به امام دوازدهم و غیبت

یک دیدگاه رایج در میان پژوهندگان تاریخ تشیع آن است که باور به تعداد ائمه (دوازده امام) و اینکه امام دوازدهم همان مهدی موعود است، بطور تدریجی در میان شیعیان تکامل یافته‌است. در مقابل جاسم حسین می گوید طبق شواهد احادیثی مبنی بر آنکه امام دوازدهم همان قائم موعود خواهد بود پیش از سال 260 ق. مطرح بوده است.

در خصوص روند شکل‌گیری اعتقادات شیعه دوازده امامی، به گفتهٔ امیرمعزی، منابع دورهٔ حیرت، بحران عمیقی را نشان می‌دهد. بررسی منابع این دوران شک و ابهام عمیق شیعیان در مورد تعداد امام‌های شیعه و حتی موضوع غیبت را نشان می‌دهد. ابوجعفر برقی (وفات ۲۸۰ ق /۸۸۷ یا ۸۹۳ میلادی)، در فصل اول کتابش، که اختصاص به تفسیرهای مختلف از اعداد دارد، به اعداد ۳ تا ۱۰ می‌پردازد، اما در مورد عدد ۱۲ چیزی نمی‌گوید. یا هم عصر او صفار قمی (۲۹۰ ه.ق. / ۹۰۲ م.) در کتابش بصائر الدرجات تنها ۵ حدیث از میان دو هزار حدیث کتابش، در مورد تعداد امامان به امام دوازدهم اشاره می‌کند و هیچ اشاره‌ای به غیبت نمی‌کند.چند دهه بعد ابن‌بابویه (۳۰۶ تا ۳۸۱ ه.ق./ ۹۲۳ تا ۹۹۱ م.)، معروف به شیخ صدوق، احادیثی زیادی در مورد عدد دوازده و در میان آن در مورد دوازده امام نقل می‌کند. ایتان کولبرگ نیز آثار نویسندگان امامیهٔ هم عصر وفات حسن عسکری (مثال ابن برقی و صفار قمی) را بررسی می‌کند و چنین بیان می‌کند که «نبود عقاید خاص شیعه دوازده امامی در این آثار، احتمالاً به این معنا می‌باشد که اعتقاد به دوازده امام تا آن زمان هنوز جزء اصول اعتقادی امامیه درنیامده بود.» به نوشته امیرمعزی برای اولین بار اشاره به دو غیبت امام دوازده را در آثار ابوسهل نوبختی می‌بینیم که به قول او دومی از اولی سخت‌تر است. از او دو نظریه در مورد امام غایب در منابع متاخر ذکر شده‌است. یکی اینکه امام دوازدهم مرده‌است و فرزند او از دیدگان پنهان شده‌است و امامت از این فرزند به فرزند بعدی منتقل می‌شود تا زمانی که امام خود را بر مسلمانان علنی نماید. دیگر آنکه وجود او بصورتی روحانی باقی‌مانده‌است. به نوشتهٔ امیرمعزی هیچکدام از این دو تئوری در اعتقادات متاخرتر شیعه ادامه پیدا نکرده‌است.به گفته وی تنها از زمان شیخ کلینی بود که اعتقاد به وجود امام دوازده در منابع شیعه به تواتر به چشم می‌خورد. پذیرش این دیدگاه در ابتدا با مقاومت بسیاری از سوی خود شیعیان مواجه شد. در مقدمهٔ کتاب الغیبة (تألیف حدود ۳۳۳ تا ۳۴۲ ق.) به قلم ابن ابی زینب نعمانی (وفات ۳۶۰ ق.) ، نویسنده تأسف می‌خورد که اکثریت شیعیان امام دوازدهم را نمی‌شناسند و حتی وجود او را قبول ندارند. ابن بابویه (شیخ صدوق) مشاهدات مشابهی دارد هنگامی که او با سیل سؤالات شیعیان خراسان مواجه شده بود که از هویت امام دوازدهم می‌پرسیدند.

در این زمان محدثان شیعه سعی در اثبات وجود امام شیعه و برطرف کردن شک موجود در میان شیعیان نمودند.به نوشته مدرسی از راویان سنّی حدیث، گفتاری منسوب به پیامبر رسیده است که بر اساس آن دوازده خلیفه پس از او خواهند بود که همگی از قبیله قریش هستند (و اینکه پس از این دوازده خلیفه هرج و مرج بر جامعه حکمفرما خواهد بود). این گفتار خیلی پیشتر از غیبت امام دوازدهم شیعیان در سال ۲۶۰ هجری رواج داشته است. بطور قطع این حدیث هم در زمان امویان و در حمایت از مشروعیت ایشان و هم در زمان جنبش‌های ضد اموی برسر زبان‌ها بود (به‌گفته سید حسین مدرسی محدثان شیعه حتی حدیث دوازده خلیفه را حدیثی ضد شیعی می‌دانستند و آنرا «بایکوت» کرده‌بودند.) بنابرین هیچ‌کس نمی‌توانست ادّعا کند که این گفتار به هیچ عنوان نوشته امامیه در دوران پس از غیبت بوده باشد. در واقع هیچ شاهد مکتوبی از دهه‌های آخر سده سوم هجری وجود ندارد که نشان دهد این گفتار هیچ‌گاه توجه راویان شیعه حدیث را جلب کرده بوده یا کسی در جامعه شیعه فکر کرده باشد که این حدیث می‌توانسته مربوط به آنها بوده باشد. تا حدود سال ۲۹۵ هجری که شیعیان دنباله‌رو انتظار داشتند امامت تا آخرالزمان ادامه پیدا کند و تعداد امامان را بیش از این می‌دانستند، در ابتدا توجهی به این حدیث نمی‌کردند. شیعیان در این زمان متوجه «حدیث دوازده خلیفه» شدند. از این زمان بود که محدثان شیعه آنقدر حدیث در مورد دوازده بودن تعداد امامان یافتند که خود مبنای کتاب‌های مستقلی در این باب شد.ایتان کولبرگ با ذکر این مطلب که تمایل به عدد دوازده جایگاه ویژه‌ای در تمدن‌های باستانی داشته‌است می‌نویسد.احتمالاً روایات تورات و انجیل در مورد «دوازده قبیلهٔ بنی‌اسرائیل» و «دوازده حواریون عیسی»، ریشهٔ ترجیح اسلامی برای نسبت دادن عدد دوازده بر شمار رهبران بوده‌است. به عنوان مثال از واژه «نقبا» نه فقط برای ۱۲ قبیله بنی‌اسرائیل (اشاره شده در قرآن)، بلکه برای دوازده نمایندهٔ پیامبر در اهالی مدینه یا دوازده رهبری که قیام عباسیان علیه امویان را رهبری کردند نیز استفاده شده‌است. یا یکی از غلات شیعه به نام ابومنصور عجلی (اعدام در سال ۱۲۱/۷۳۸) خود را ششمین پیامبر از سلسله ۱۲ پیامبری معرفی کرد که آخرین آنها «قائم» خواهد بود.به هر حال اشارات زیادی در تورات و انجیل در حمایت از اینکه عدد دوازده، عدد مربوط به تعداد «مؤمنان برگزیده» است وجود دارد (هر چند به همین میزان، اشارات زیادی در مکاشفه یوحنا در حمایت اینکه عدد ۴ یا ۷ تعداد برگزیدگان است وجود

به نوشته ساشادینا دغدغهٔ اصلی بزرگان شیعه در این زمان اثبات وجود واقعی فرزند حسن عسکری و معرفی او به عنوان امام غایب به شیعیان بود. با کوشش‌های شماری از متکلمان و محدثان شیعه امامی مانند ابوسهل نوبختی (و. ۹۲۳ م.)، ابوجعفر ابن قبه (وفات حدود 319 ق.)، کلینی (و. ۳۲۹ ه.ق. / ۹۴۱ م.)، نعمانی و بخصوص ابن بابویه (و. ۳۸۱ ه.ق. / ۹۹۱ یا ۹۹۲ م.) اثر ارزنده او کمال الدین که معمار و تبیین کنندهٔ نظریه امام غایب و دوران غیبت و ظهور منجی بخش امام غائب است، این هدف حاصل آمد.در این زمان کلینی در احادیث باب غیبت کتاب اصول کافی، که در خلال این دوره گردآورده‌بود، به موضوع غیبت و علت آن پرداخته‌است.بخصوص نعمانی در کتاب الغیبه به تبیین نظریهٔ غیبت از طریق احادیث پرداخت و او برای نخستین بار اصطلاحات «غیبت صغری» و «غیبت کبری» را به کار برد.پس از وی ابن بابویه (و. ۹۹۱-۹۹۲) در کتاب کمال الدین در خصوص گردآوری احادیث مربوط به امام دوازدهم و غیبت وی کوشید.به گفتهٔ عبدالعزیز ساشادینا در فاصله زمانی نوبختی و هنگامی که شیخ مفید (و. ۴۱۳ ه.ق. / ۱۰۲۲ م.) مطالب خود را دربارهٔ امام دوازدهم ارائه داد، موضوع جانشینی حسن عسکری در بین شیعیان امامی جا افتاده بود.به هر شکل، تا سالهای پایانی غیبت صغری، مصادف با دهه سی و چهل قرن دهم میلادی اکثریت شیعه امامیه، امامت امام دوازدهم از نسل حسن عسکری را پذیرفته بودند.

به گفتهٔ سعید امیر ارجمند اعتقاد به غیبت در نزد شیعیان، در میان مجموعه عقایدی بود که از کیسانیه وارد شیعه شد. با این حال وی تأثیر واقفیّه (که بر امامت موسی کاظم توقف کردند) را در پذیرش ایده غیبت توسط شیعه امامیه مهم تر می‌داند. اولین نوشته های کلامی در زمینه غیبت را حدود سی سال پس از مرگ حسن عسکری و در آثار ابوسهل نوبختی و ابن قبه رازی می‌توان یافت. این دو که تمایلات معتزله داشتند به جای اتکا به احادیث راه حلی کلامی را برای نظریه غیبت بر گزیدند. ایده‌ای که در وضعیت بحران از نو واقفیان به عاریت گرفته‌شده‌بود.به نوشته پوناوالا آثار بجا مانده از آن زمان شیعه چنین می‌نمایاند که شیعیان در ابتدا پیش‌بینی نمی‌کردند که غیبت امام غایبشان مدت زیادی ادامه داشته‌باشد. اما زمانی که غیبت امام شیعیان طولانی شد و حجت بن حسن ظهور نکرد، شیعیان بتدریج امام پنهان را همان مهدی موعود پنداشتند. از حدود سال ۲۹۵ ه.ق./۹۰۸ م. بود که شیعیان متوجه شدند که اوضاع غیرعادی‌تر از چیزی است که در ابتدا می‌پنداشتند و امام حاضری در آینده نزدیک وجود نخواهد داشت و نیز پرسش در مورد تعداد قطعی امامان مورد بحث شیعیان قرار گرفته‌است. از این زمان است که حدیث‌هایی مبنی بر اینکه «تعداد امامان دوازده نفر می‌باشد» بر سر زبان‌ها افتاد.به نوشتهٔ ورنا کلم مرگ علی بن محمد سمری (329 ق.)، آخرین نائب امام غایب، و آغاز دورهٔ غیبت کبری بار دیگر حیرت را در میان شیعیان برانگیخت. آنها نهایتاً در سدهٔ پنجم به تبیینی عقلی در کلام شیعه از غیبت امام دست یافتند.در این زمان علمای شیعه با رویکرد کلامی به تبیین نظریه غیبت برخاستند.متکلمان از جمله شیخ مفید (و. ۴۱۳ ه.ق. / ۱۰۲۳ م.) و شاگردانش بخصوص سید مرتضی (۱۰۴۴-۱۰۴۵) به تدوین نظریات کلامی امامت جهت تبیین ضرورت وجود امام زنده در شرایط غیبت پرداختند.






دوران امامت و غیبت

دوره سفرا یا غیبت صغری

بنابر اعتقاد شیعه دوازده امامی، این دوره از مرگ حسن عسکری در سال ۲۶۰ ه.ق. (۸۷۴ م.) آغاز شده و تا سال ۳۲۹ ه.ق. (۹۴۱ م.) به طول انجامیده‌است. در این دوره، مهدی تنها از طریق چهار سفیر یا نائب و آن هم در شرایط خاص با شیعیان تماس می‌گرفت. در طی دوران غیبت صغری، شیعیان از طریق این چهار نائب با مهدی در ارتباط بوده و درخواست‌ها و مسائل خود را طرح می‌کرده‌اند و پاسخ می‌گرفتند.

به نوشتهٔ ساشادینا و جاسم حسین، شبکهٔ وکلا در دوران امامان مسئول گردآوری خمس، زکات و سایر وجوهات شرعی شیعیان برای امامان بود. در شرایطی که چند امام آخر به‌شدت تحت نظارت و مراقبت بودند و امکان ارتباط مستقیم شیعیان با امامان وجود نداشت، عملاً اداره امور ساختار مرکزی جامعه شیعه بر عهدهٔ وکلا بود. در شرایط غیبت امام، وکلا سرپرستی و رهبری مجازی جامعه شیعه را در خصوص امور دینی و مالی برعهده گرفتند. جاسم حسین می گوید بتدریج رهبری شبکه وکلا تبدیل به تنها مرجعی شد که می توانست مشروعیت امام جدید را تعیین و اثبات کند. برای نمونه محمد جواد وصیت خود در خصوص نصب علی هادی به عنوان امام بعد را به رئیس شبکه وکلای خود گفت.به نوشتهٔ ساشادینا، در منابع اولیه از جمله کتاب‌های کلینی و ابن بابویه (شیخ صدوق)، به وکلا به طور عمومی اشاره شده و ابن بابویه چندین نفر را نام برده‌است که به گفتهٔ وی با مهدی در ارتباط بوده و سمت وکالت را بر عهده داشته‌اند بی‌آنکه کسی از آنها را به عنوان وکیل ویژه یا نائب خاص معین کند. اما بخصوص برخی از وکلا بطور نیابی خمس را از شیعیان می‌گرفته‌اند و عثمان بن سعید نیز یکی از وکلای حسن عسکری بود. ساشادینا از بررسی روایات ابن بابویه نتیجه می‌گیرد تعداد وکلا محدود به چهار تن نبوده و اصطلاح نیابت خاص در دوره‌های بعد برای تبیین غیبت صغری ایجاد شده‌است.

به نوشتهٔ ساشادینا، در شرایطی که جامعه شیعه پس از مرگ حسن عسکری دست کم به چهارده فرقه منشعب شده بودند، پذیرش نهایی این عقیده که حسن عسکری فرزندی داشته که امام آخر و دوازدهم شیعه است در اواخر قرن سوم و اوائل قرن چهارم هجری رخ داد. این امر به رهبری محمد بن عثمان و شبکهٔ وکلای او در سراسر سرزمین‌های اسلامی و با کمک ابوسهل نوبختی، متکلم بزرگ شیعه، انجام شد. رابطهٔ نزدیک و دوستانهٔ ابوسهل با خاندان شیعهٔ بنی فرات که وزرای عباسیان بودند نیز پذیرش این امر را حتی در میان سایر مسلمانان تسهیل کرد. بدین ترتیب جامعه شیعه، حول اعتقاد به امامت حجت بن حسن و رهبری محمد بن عثمان مجدداً متحد شد.

به نوشته ورنا کلم از دیدگاه تاریخی اعتقاد به وجود «نواب اربعه» در آثار محدثان و علمای شیعهٔ چند دهه اول دوران موسوم به غیبت صغری به چشم نمی‌خورد. کلینی اشارات مبهمی به نامه‌هایی از امام زمان می‌کند که به دست شیعیان می‌رسیده‌است.حتی در کتاب التنبیه ابوسهل نوبختی —که بین سال‌های ۹۰۳ تا ۹۱۳ نوشته شده— به بحرانی در میان شیعیان اشاره شده‌است. ابوسهل می‌نویسد که تقریباً تمام یاران نزدیک حسن عسکری تا بیست سال بعد از مرگ او درگذشته‌اند. آنها کسانی بودند که ادعا می‌نمودند با امام غایب شیعه در ارتباط هستند و فرمان‌های او را به اطلاع شیعیان می‌رساندند. بعد از مرگ این افراد دیگر نشانی از امام برای شیعیان و اثباتی برای وجود او برای افرادی که دچار شبهه شده یا ناباوران وجود نداشت. در این زمان آنها تنها می‌توانستند به کمک تفسیر احادیث امامان پیشین شیعه، غیبت طولانی امام را توجیه نمایند. در نوشته‌های نویسندگان شیعه تا چند دههٔ بعد از این زمان، به تداوم فعالیت سفرا اشاره نشده‌است.

عنوان سفیر در ابتدا در کتاب الغیبه نعمانی به چشم خورد اما نام و تعداد این نایبان ذکر نشده‌بود. سپس ابن بابویه نام چهار نایب را در کمال‌الدین ثبت نمود و مبسوط‌ترین گزارش‌ها دربارهٔ فعالیت سفرا در کتاب الغیبه ابوجعفر طوسی آمده‌است. به نوشتهٔ ایتان کولبرگ، عمدهٔ این گزارش‌ها بر مبنای دو کتاب که اکنون در دسترس نیست می‌باشد: اخبار ابی العمر و ابی الجعفر العمریان اثر ابن برنیه کاتب و اخبار الوکاله الربعه نوشته احمد بن علی بن عباس بن روح صیرفی. به گفتهٔ کولبرگ در دانشنامهٔ اسلام، اعتقاد به سفرا در نزد خاندان نوبختی شکل گرفت.

ورنا کِلِمْ در دانشنامه ایرانیکا، چنین می‌نویسد که احتمالاً گسترش ایدهٔ نایبان چهارگانه توسط خاندان نوبختی در میان شیعیان انجام شده باشد. اطلاعات موجود در مورد دو نائب اول چنین می‌نمایاند که این دو پس از مرگشان به عنوان نائب خاص امام زمان شناخته شدند؛ زیرا نیابت باید از زمان مرگ حسن عسکری شروع می‌شد. در سطح شخصی باید گفت دو فامیل عمری و نوبختی با هم خویشاوند بودند. دختر ابن عمری، ام کلثوم با یکی از نوبختی‌ها ازدواج کرد و منشی حسین بن روح بود. لازم به ذکر است که به گفتهٔ ورنا کلم، نوهٔ ام کلثوم(ابن برنیه)، منبع اصلی کتاب‌های شیخ طوسی بود که برای اولین بار وجود چهار نائب خاص امام زمان را مطرح نمودند.




نواب اربعه

۱) ابو عمرو عثمان بن سعید عَمری

منابع شیعه اطلاعات کمی در مورد زندگی دو نایب اول امام زمان به دست می‌دهند. عثمان ادعا می‌نمود که فرزند حسن عسکری را به چشم دیده بود. او از وکیلان حسن عسکری و هادی بوده‌است. به اعتقاد کنونی شیعه، عثمان بن سعید مستقیماً توسط حسن عسکری به نیابت تعیین شده بود، هر چند به گفته کِلِم چنین پیداست که تعیین وی به سمت واسطه امام دوازدهم به طور رسمی نبوده‌است.او سازماندهی شیعیان سامرا را به عهده داشت. در زمان حسن عسکری، عثمان پول از شیعیان عراق به شیعیان سامرا (که تحت کنترل شدید عباسیان بودند) می‌رساند. عثمان کسی بود که بعد از مرگ حسن عسکری، مراسم خاکسپاری او را سازمان‌دهی کرد.


۲) ابو جعفر محمد بن عثمان بن سعید

محمد همراه پدرش عثمان بن سعید، وکالت حسن عسکری را بر عهده داشت. از دیدگاه کنونی شیعه، محمد چهل سال وکالت را عهده‌دار بود و طی این مدت وجوهات شیعیان را تحویل می‌گرفت و توقیعاتی از جانب امام به آنان می‌داد. وی سرانجام در سال ۳۰۵ قمری درگذشت.


۳) ابوالقاسم حسین بن روح نوبختی

نکته مهم در مورد او این بود که بعد از ربع قرن٬ ارتباط رسمی با امام غائب از سر گرفته‌شد. اولین توقیعی که نوبختی در ۲۴ شوال ۳۰۵ هجری ارائه نمود٬ فرمانی بود که امام غائب در آن حسین بن روح را بعنوان نفر اول سلسله مراتب شیعه تائید می‌کرد.به گفتهٔ شیخ طوسی شروع نیابت نوبختی به سال ۳۰۶ ه.ق./ ۹۱۷ م. بود. او توقیعاتی را منتسب به امام زمان ارائه می‌کرد و به پرسش‌های علمای قم پاسخ می‌داد. چنین به نظر می‌رسد که حسین بن روح نوبختی بیش از نواب پیشین نزد شیعیان هم عصرش شناخته شده بود. حسین بن روح توانست به عنوان تنها نائب زمان خود توسط شیعیان پذیرفته شود و خاندان نوبختی تأثیر غالبی بر جامعه شیعیان و علما داشتند.حسین بن روح همچنین کوشید تا غیبت را علاوه بر توجیه براساس حدیث، با رویکردی عقلی نیز توجیه نماید.حسین بن روح علاوه بر آنکه در میان شیعیان بغداد از موقعیت اجتماعی خوبی بهره‌مند بود، در میان دستگاه خلافت عباسی بخصوص آل فرات نیز از نفوذ و احترام قابل ملاحظه‌ای برخوردار بود.
در دوران حسین بن روح، ابوجعفر محمد بن علی الشلمغانی (اعدام شده در سال ۳۲۲/ ۹۳۳) دستیار حسین روح و مامور او در بغداد، ادعا کرد که او سفیر واقعی و برحق حسین بن روح است و البته پس از چندی بطور کلی قضیه وجود امام غایب را انکار کرد. همچنین منصور حلاج نیز از کسانی بود که به مخالفت با نیابت حسین بن روح پرداخت و هر دو خشم شیعیان آن زمان را بر انگیختند و با نفوذی که خاندان نوبختی داشتند، توسط دولت عباسی اعدام شدند.


۴) ابوالحسن علی بن محمد سمری (و. ۳۲۹ ه.ق. / ۹۴۱ م.)

از دیدگاه تاریخی، تنها در زمان خاندان نوبختی بود که نواب مورد پذیرش عموم شیعه بودند و کنترل شیعیان را در دست داشتند. در زمان علی بن محمد، این کنترل دوباره از بین رفت و مورد پذیرش عموم شیعیان نبود. با مرگ سمری در سال ۳۲۹ دوران موسوم به غیبت کبری شروع شد.
ساعت : 11:42 am | نویسنده : admin | مطلب قبلی | مطلب بعدی
ظهور | next page | next page