اگر در مسیر توسعه نرمافزار هستید، میتوانید از روشهای مختلفی برای مستندسازی فنی استفاده کنید. منظور از مستندسازی، تهیه اسناد و مطالب مربوط به توسعه نرمافزار است. تیم توسعه باید فرایند ساخت یک محصول نرمافزاری را در فایلهای مکتوب آماده کند و برای این کار میتواند از رویکردهای چابک و آبشاری استفاده کند. در این مقاله از بلاگ آسا میخواهیم انواع روشهای مکتوب کردن تحلیلهای توسعه نرمافزار را توضیح بدهیم و با ویژگیهای آنها آشنا شویم.
مستندسازی فنی در توسعه نرمافزار چیست؟
فرقی نمیکند نرمافزار شما در مراحل اولیه توسعه باشد یا در مرحله بهروزرسانی قرار دارد، همه مراحل توسعه باید در قالب سندهای مختلف نوشته شود. به فرایند نوشتن این اسناد مستندسازی گفته میشود. در این مطالب، باید درباره عملکرد محصول صحبت کنید و اطلاعات مربوط به پروژه را یکپارچهسازی کنید.
بهعلاوه، نوشتن مراحل مختلف توسعه باعث میشود که افراد فعال در پروژه سوالهایشان را بپرسند و درباره بخشهای نرمافزار نظر دهند. نکته مهم این است که هنگام نوشتن تحلیلهای نرمافزاری باید چرخه عمر توسعه محصول را در نظر بگیرید و امکان مشارکت و گفتوگو بین سرمایهگذاران و توسعهدهندهها را فراهم کنید. بهعلاوه، ثبت مستندها به شما کمک میکند که بین مهندسها و سرمایهگذارهای محصول به هماهنگی برسید و انتظارات سرمایهگذارها را برآورده کنید.
معرفی انواع روشهای مستندسازی فنی در توسعه نرمافزار
شما میتوانید با توجه به نوع توسعه محصول از ۲ روش چابک (Agile) و آبشاری (Waterfall) استفاده کنید. در ادامه، ویژگیهای هر دو رویکرد را توضیح میدهیم.
رویکرد آبشاری
اگر میخواهید از رویکرد آبشاری (Waterfall) استفاده کنید، باید برای هر مرحله از توسعه، هدفهای مشخصی را تعریف کنید. برای استفاده از این روش باید زمان معقولی را برای برنامهریزی محصول در نظر بگیرید و اهداف اصلی پروژه را در مراحل اولیه مشخص کنید. بنابراین، برای اجرای رویکرد آبشاری در ثبت سندها باید به طور دقیق برنامهریزی کنید و بودجه و زمانبندی هر مرحله را مشخص کنید. نکته مهم این است که برنامهریزی آبشاری برای توسعه بلندمدت مناسب نیست، چون انعطاف لازم را ندارد و نمیتواند احتمالات و تغییرات را پیشبینی کند.
رویکرد چابک
یکی از روشهای مستندسازی فنی در توسعه نرمافزار، رویکرد چابک است. برای اجرای رویکرد چابک باید بین توسعهدهندگان، سرمایهگذارها و مشتریهای نهایی هماهنگی برقرار کنید. بهعلاوه، انعطافپذیری و توانایی واکنش سریع به تغییرات از ویژگیهای اصلی رویکرد چابک هستند.
در مراحل اولیه روش چابک یا Agile به مستندات جامع احتیاج ندارید. به بیان دیگر، لازم نیست همه مراحل را با دقت زیاد پیشبینی و مکتوب کنید؛ چون ممکن است برنامهها با پیشرفت پروژه تغییر کنند. بنابراین، امکان برنامهریزی به موقع در روش چابک وجود دارد. امروزه، بسیاری از شرکتها و استارتاپها از روش چابک برای مستندسازی فنی استفاده میکنند. این رویکرد به آنها اجازه میدهد که رو به جلو حرکت کنند و روی مستندات جامع کار کنند. اما در فرایند توسعه نرمافزار، چه اطلاعاتی را ثبت میکنیم؟ در بخش بعدی انواع مستندات فنی را توضیح میدهیم.
انواع مستندات فنی در توسعه نرمافزار
هدف از مستندسازی فنی در توسعه نرمافزار این است که توسعهدهندگان و سرمایهگذاران پروژه با هم هماهنگ باشند و به سوی یک هدف حرکت کنند. برای اینکه بتوانید به رویکرد هماهنگی برسید، باید با انواع مستندات نرمافزاری آشنا شوید. در ادامه، انواع این اسناد را توضیح میدهیم.
مستندسازی محصول
مستندسازی محصول شامل ثبت اطلاعات محصول در حال توسعه و دستورالعملهای مخصوص است. اگر میخواهید اسناد مربوط به محصول را ثبت کنید، باید مشخصات فناوری، منطق کسبوکار، دستورالعملها و الزامات را توضیح دهید. مستندسازی محصول در دو نوع سیستم و کاربر تعریف میشود.
در مستندسازی سیستم، اسناد سیستم و بخشهای آن را توصیف میکنیم. الزامات، تصمیمها، طراحی، معماری، کد منبع برنامه و سوالات متداول هم در این بخش قرار میگیرند. از طرف دیگر، مستندات کاربر روی کاربر نهایی محصول و مدیران سیستم تمرکز میکند و به کاربر آموزش میدهد. بنابراین مستندات کاربر راهنمای عیبیابی، نصب و راهنمای مرجع است.
مستندسازی فرآیند
استانداردها و مستندات پروژه، برنامههای آزمایشی، گزارشها، یادداشتهای جلسه و مکاتبات تجاری در این دسته قرار میگیرند. بنابراین، اطلاعات مربوط به فرایند توسعه و نگهداری را باید در مستندات فرایند تعریف کنید. در ادامه برای درک بهتر هر کدام از انواع اسناد، ویژگیهای آنها را توضیح میدهیم.
ویژگیها و جزئیات مستندات سیستم
هنگام نوشتن مستندسازی سیستم باید یک نمای کلی از سیستم ارائه کنید. این نمای کلی به مهندسان و سهامداران کمک میکند تا فناوری اصلی سیستم را درک کنند. بهعلاوه، در مستندات سیستم باید درباره سند نیازمندیها، طراحی معماری، کد منبع، داکهای اعتبارسنجی، اطلاعات تایید و آزمایش و راهنمای روش نگهداری صحبت کنید. مهمترین جزء در اسناد سیستم، سند الزام محصول است. اما سند الزام محصول چیست و چگونه تهیه میشود. در بخش بعدی، به این سوال پاسخ میدهیم.
سند الزام محصول چیست؟
در سند نیازمندی محصول درباره عملکرد سیستم صحبت میکنیم و شرح کار را توضیح میدهیم. سند نیازمندی محصول میتواند کاربردی و غیرکاربردی باشد. بهعلاوه، در این سند باید قوانین کسبوکار و داستانهای کاربر را به طور واضح و شفاف توضیح دهید. البته، نباید این نکته را فراموش کنید که سند شما نباید یک طومار طولانی شود. پس به اندازه کافی درباره ویژگیها، کارکردها، نگهداری و هدف محصول صحبت کنید.
توصیه ما این است که برای تهیه سند الزام محصول از یک الگوی ثابت و واحد استفاده کنید و از اعضای تیم بخواهید که به این الگو پایبند باشد. مثلا میتوانید الگوی ثابت را در یک صفحه از گوگل داک تنظیم کنید و وضعیت سند، اهداف و پیشزمینه را توضیح دهید. برای تنظیم دقیق سند الزام محصول، بهتر است نکتههای زیر را رعایت کنید.
با نقشها و مسئولیتها شروع کنید
در ابتدای سند درباره شرکتکنندگان پروژه مثل مالک محصول، اعضای تیم و سهامداران صحبت کنید و اهداف رویداد target را برای اعضای تیم شرح دهید.
اهداف تیم و اهداف کسبوکار را تفکیک کنید
اهداف تیم و اهداف کسبوکار را به طور جداگانه توضیح دهید و در یک فرم کوتاه بولتوار تعریف کنید.
پیشزمینه و تناسب استراتژیک را توضیح دهید
در این بخش، میتوانید به سوالهای تیم پاسخ دهید. معمولا اعضای تیم درباره هدف استراتژیک فعالیتها و چرایی محصول صحبت میکنند. در این قسمت، هدف استراتژیک اقدامات تیم را توضیح دهید. آیا فعالیتهای تیم با اهداف شرکت همسو است؟
پیشفرضها را تعریف کنید
بخش مهمی از مستندسازی فنی در توسعه نرمافزار، توضیح پیشفرضها است. در سند الزامات محصول، پیشفرضها را توضیح دهید. تعریف این پیشفرضها به پیشرفت فعالیتهای تیم کمک میکند.
داستانهای کاربر را مشخص کنید
در هر پروژهای، مجموعهای از داستانهای کاربر وجود دارد. داستانها یا User Stories سندی است که از نگاه کاربر تنظیم شده است. بنابراین، باید خودتان را در جایگاه کاربر نرمافزار بگذارید و سند را از دیدگاه او تنظیم کنید. در User Stories میتوانید درباره اقدامات مشتری و نتایج دلخواه هم صحبت کنید.
سناریوی مطلوب را بنویسید
در این بخش، میتوانید معیارهای پذیرش را شرح دهید. خودتان را در جایگاه کاربر نرمافزار بگذارید و به نتیجه رضایتبخش فکر کنید. حالا میتوانید سناریوی مطلوب را از دید کاربر نهایی محصول تنظیم کنید.
به سوالات پاسخ دهید
سوالات بخش جداییناپذیر روند پیشرفت پروژه هستند. بهتر است قبل از مشکلات و ابهامات احتمالی، در سندها به سوالهای اعضای تیم پاسخ دهید.
لیستی برای کارهای انجامنشده تعریف کنید
بخشی از روند مستندسازی فنی در توسعه نرمافزار، تعریف کارهای انجامنشده است. تهیه این لیست به شما کمک میکند که پروژههای آینده را سازماندهی و اولویتبندی کنید.
سند طراحی معماری نرمافزار چیست؟
اصلیترین بخش کار در مستندسازی فنی توسعه نرمافزار، توضیح مشخصات فنی و تصمیمهای معماری نرمافزار است. سند طراحی معماری به چگونگی ساخت محصول میپردازد و نتیجه آن یک نمای کلی از معماری محصول است.
شما در این سند میتوانید دامنه کامل کار را توضیح دهید و نقاط عطف را تعیین کنید. نکته مهم این است که همه اعضای تیم در تنظیم طراحی معماری مشارکت میکنند و راهنمایی کلی را بیان میکنند. سند طراحی معماری نرمافزار از بخشهای اطلاعاتی زیر تشکیل شده است:
خلاصه و پسزمینه
در این بخش به اهداف اصلی پروژه و مشکل اصلی میپردازید. نرمافزار شما چه مشکلی را حل میکند و به چه نتیجهای میرسد؟ پاسخ این سوالها را به طور خلاصه توضیح دهید.
معماری و اصول طراحی
بخشی از مستندسازی فنی به اصول معماری و طراحی میپردازد. سعی کنید در این بخش روش و راهحل خودتان را توضیح دهید. مثلا اگر از معماری میکروسرویسها استفاده کنید، حتما این نکته را عنوان کنید.
توضیح داستانهای کاربر
داستانهای کاربر را با توجه به فرایندهای کسبوکار و سناریوهای موجود توضیح کنید. در این بخش، لازم نیست به جزئیات فنی بپردازید.
جزئیات راهحل و نمایش نموداری
برای توصیف راهحل میتوانید از سرویسهای برنامهریزیشده، ماژولها و اجزای مختلف استفاده کنید. دیاگرامها و نمودارهای گرافیکی هم برای درک بهتر راهحل به شما کمک میکنند.
مستندسازی طراحی تجربه کاربری
یکی از فرایند مستندسازی فنی در توسعه نرمافزار، تهیه مستندهای مربوط به تجربه کاربری است. برای تهیه این سند باید شخصیتهای کاربر، سناریوی کاربر، نقشه سناریو، نقشه داستان کاربر و راهنمای سبک UX را بدانید. پرسوناهای کاربر در مرحله تحقیق بررسی میشوند. در این مرحله، میتوانید با کاربرها مصاحبه کنید و نظرسنجی برگزار کنید.
سناریوی کاربر مراحل انجام کار را توصیف میکند. وقتی کاربر میخواهد کاری را در نرمافزار انجام دهد، مراحل مختلف را طی میکند. این مراحل در سناریوی کاربر بیان میشوند. شما میتوانید سناریوهای کاربر را به صورت تصویری یا متنی تهیه کنید. نقشههای سناریو مجموعهای از سناریوهای کاربر در یک سند واحد هستند. در نهایت، نقشههای سایت، وایرفریمها، موکاپها، نمونههای اولیه و طرحهای جریان کاربر یا Flow Schemes هم در سندهای تجربه کاربری تعریف میشوند.
سخن پایانی
در این مقاله، انواع مستندسازی فنی در توسعه نرمافزار را توضیح دادیم و نکات مربوط به شیوه مستندسازی را به طور خلاصه بیان کردیم. اگر جزء تیم محصول هستید یا وظیفه نوشتن اسناد نرمافزاری به عهده شماست، میتوانید با استفاده از نکات این مقاله با انواع مستندهای فنی آشنا شوید و در تهیه آنها نقش موثری را ایفا کنید.
منابع:
دیدگاهتان را بنویسید