شنبه 14 شهریور 1394

چرا مستند فنی

چرا مستند فنی

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

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

دو داستان مجزا را در زیر تعریف خواهم کرد: دو شخص در دو کمپانی مستقل شروع به نوشتن ورژن دوم از یک نرم افزار می کنند.یکی از این افراد بدون در نظر گرفتن مستندات و برای اینکه زودتر کار را جمع کند شروع به نوشتن کد می کند. ورژن دو دارای یک قابلیتی است که باید از ورژن یک پشتیبانی کند.

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

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

در سوی دیگر در کمپانی دوم برنامه نویسی وجود دارد که بدون داشتن مستندات فنی شروع به نوشتن کد نمی کند.این برنامه نویس برای هماهنگ کردن ورژن قبلی با ورژن جدید تنها بیست دقیقه وقت صرف فکر می کند و متن زیر را یاداشت می کند:

    زمانی که ما یک فایل از ورژن قدیمی را باز می کنیم،این فایل باید به ورژن جدید تبدیل شود.

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

    زمانی که ما یک فایل از ورژن قدیمی را باز می کنیم،این فایل باید به ورژن جدید تبدیل شود ولی در رم این کار انجام می شود و درصورتی که کاربر تایید کند آن فایل ذخیره خواهد شد.

این دفعه مدیر کمپانی متن را می خواند و پیشنهاد می دهد که این قابلیت به شکل زیر تغییر کند:

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

این برنامه برخلاف برنامه ریزی(دو هفته ای) ۳ هفته زمان برد.ولی بعد از اینکه به دست مشتریان رسید،کاربران بدون مشکل شروع به کار کردن با آن کردند.

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

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

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

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

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

شرکت داده پردازی فراتک با طراحی بیش از 500 وب سایت، در سال های فعالیت خود و با به کارگیری این تکنولوژی آماده ارائه خدمات در زمینه طراحی وب سایت با ویژگی های منحصر به فرد است. از نمونه کارهای ما دیدن فرمایید: www.faratechdp.com
ویرایش: واحد تحقیق و توسعه شرکت داده پردازی فراتک ( طراحی سایت مشهد)

مرتبط: نمونه طراحی سایت - طراحی سایت مشهد
 

نظرات

قوانین ارسال نظر

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