مستندسازی نرم افزار با ویکی
شرکتهای نرمافزاری با شعار کاغذزدایی ( paperlessشدن) مشتریان خود را تشویق به استفاده از ابزارهای نرم افزاری برای روانسازی فرایندهای کسب و کار می نمایند. اما نگاه به فرایندهای داخلی این شرکتهای نرمافزاری حکایت رطب خورده و منع رطب را یادآور میشود. از مصادیق این رطب خوردگی پایبندی به تولید مستندات کاغذی یا قابل چاپ (print friendly) در قالبهایی مثل word و pdf است. در حالیکه هنوز کارفرمایان و مجریان محترم ایرانی دست از سر متدلوژی RUP برنداشته اند، در هر پروژه باید مستندات متعددی مثل سند چشم انداز، سند موارد کاربرد، سند معماری، اسناد طراحی و … تولید شود. فی المجلس نقدی بر محتوای این اسناد وارد نمی کنیم. لکن معتقدیم برای تولید همین محتوا میتوان از ابزارهای روزآمدتری مثل ویکی استفاده کرد.
آیا استفاده از ویکی برای مستندسازی نرم افزار مناسب است؟
- بزرگترین دانشنامه دنیا (ویکی پدیا) روی بستر ویکی به وجود آمده است.
- اغلب محصولات متن باز مستندات خود را به شکل ویکی ارائه میکنند.
مزایای استفاده از ویکی برای مستندسازی نرمافزار چیست؟
- مستندات به قطعات کوچکتری تقسیم میشود که قابلیت استفاده مجدد بیشتری خواهند داشت. به عنوان مثال سند چشمانداز، سند موارد کاربرد و سند توصیف معماری با هم همپوشانی دارند. در ویکی تعریف کاربر یا کنشگر یک بار صورت میگیرد و در قسمتهای مختلف به آن ارجاع میشود. به این ترتیب همه چیز راجع به یک فرم، فرایند، سرویس یا هر مفهوم دیگری در یک صفحه جمع خواهد شد. بنابراین از تصیمات متضاد یا تناقضگویی در اسناد دارای همپوشانی و دوباره کاری جلوگیری میشود.
- دسترسپذیری بهتر: یکی از لذتبخشترین آوردههای ویکی دسترسپذیر شدن دانش موجود در اسناد است. مستندات مختلفی در پروژه تولید و در طی زمان به فراموشی سپرده میشوند. در ویکی مستندات زنده میمانند، به آنها ارجاع میشود و به مرور تکمیل میشوند. امکان جستجو و وجود لینکهای متقاطع (Cross Reference) بین صفحات مختلف به سادگی ما را به مطالب دلخواه میرساند.
- امکان تبادل نظر: ویکیها معمولاً امکان تبادل نظر (Discussion) روی صفحات را فراهم میکنند. این مباحث نقش مهمی در مستندسازی دانشسازمانی دارند و به نوعی روند تصمیمات و جزئیات آنها را مشخص میکنند.
- اطلاع از آخرین تغییرات: ویکیها برای نمایش و ارسال آخرین تغییرات امکاناتی را ارائه مینمایند. از این امکان برای بازبینی، نظارت و اطلاعرسانی استفاده میشود.
- حفظ سابقه تغییرات: معمولاً در ابتدای اسناد معمولی جدول سابقه تغییرات گنجانده و دستی به روز میشود. ویکی به طور خودکار عامل و زمان تغییر را نگه میدارد. امکان مشاهده نسخ قبلی و مقایسه آنها نیز وجود دارد.
- امکان دسترسی آنلاین کلیه ذینفعان: تیم توسعه شامل تحلیلگران و برنامهنویسان، مشاوران پروژه، تیم نظارت، نمایندگان مشتری و کاربران میتوانند طبق دسترسیهای تعریف شده به طور آنلاین به آخرین نسخ اسناد دسترسی داشته باشند و در تولید و اصلاح آنها مشارکت کنند.
معایب استفاده از ویکی برای مستندسازی نرمافزار چیست؟
- نسخه کلی: هر سند معمولی در ویکی به چندین صفحه تقسیم میشود. ویکی نسخ هر صفحه را نگه میدارد ولی امکان دسترسی به کلیت یک سند در یک مقطع زمانی وجود ندارد. برای حل این مقطع باید از تکنیکها و ابزارهای جانبی استفاده شود.
- قابلیت چاپ: صفحات ویکی نسبت به اسناد Word و PDF آمادگی کمتری برای چاپ شدن دارد. اینجا علاقهمندی برخی کارفرمایان به مستندات کاغدی یا قابل چاپ مشکلساز میشود.
- قابلیت امضا: ویکی قابلیت امضای رسمی ندارد. لذا در صورتی که مجری و کارفرما اطمینان کمی به هم دارند باید روشی برای تبادل رسمی اسناد و تایید آنها طراحی شود.
آیا کارفرما با این روش مستندسازی موافقت خواهد کرد؟
ممکن است کارفرما نسبت به این تغییر رویکرد ابتدا مقاومت کند. تجربه نشان میدهد آشنا کردن کارفرما با مزایا و دستاوردهای ویکی و مشاهده آن در عمل میتواند وی را با این رویکرد همراه نماید. خیلی زود کارفرما شیرینی و تاثیر این تصمیم صحیح را احساس و از آن حمایت مینماید.
آیا ویکی متن باز مناسبی وجود دارد؟
پیادهسازی های متعددی از ویکی وجود دارد. بدون شک معتبرین آنها MediaWiki است که دایره المعارف Wikipeida بر روی آن قرار دارد و پلاگینهای متعدد و متنوعی دارد.