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

برای درخواست اولیه، همین پنج مورد کافی است
- مسئله: اکنون چه کاری را چگونه انجام میدهید و مشکل آن چیست؟
- نتیجه مورد انتظار: پس از انجام پروژه، چه اتفاق مشخصی باید بیفتد؟
- محیط اجرا: آدرس سایت، ووکامرس یا وردپرس و نام سیستمهایی که باید متصل شوند.
- محدوده نسخه اول: حداکثر سه قابلیت ضروری را از امکاناتی که میتوان بعداً ساخت جدا کنید.
- زمان و محدودیت: مهلت موردنظر و، در صورت امکان، بازه بودجه را بنویسید. اگر هنوز مشخص نیست، همان را اعلام کنید.
برای بررسی اولیه، رمز ورود، کلید API یا اطلاعات مشتریان لازم نیست. اگر بعداً دسترسی فنی ضروری باشد، روش امن و سطح دسترسی مناسب جداگانه هماهنگ میشود.
۱. مسئله را با یک سناریوی واقعی توضیح دهید
عبارت «یک افزونه مدیریت سفارش میخواهم» برای برآورد کافی نیست. توضیح دهید کار از کجا شروع میشود، چه کسی آن را انجام میدهد و خروجی کجا باید دیده شود. برای مثال: «بعد از پرداخت موفق سفارش، مدیر فروش خلاصه سفارش را در بله دریافت کند تا مجبور نباشد مرتب پنل فروشگاه را باز کند.»
تعداد تقریبی سفارشها یا کالاها، زمان صرفشده برای کار دستی و خطاهای رایج را هم بنویسید؛ اگر این اطلاعات را ندارید، تخمین خود را با برچسب تقریبی مشخص کنید.
۲. قابلیت ضروری را از توسعه آینده جدا کنید
برای نسخه اول، فهرستی کوتاه از قابلیتهای ضروری تهیه کنید. کنار هر مورد بنویسید نبودن آن مانع استفاده از افزونه میشود یا صرفاً کار را راحتتر میکند. مثلاً ارسال گزارش روزانه ممکن است ضروری باشد، اما نمودار اختصاصی و خروجیهای متعدد به نسخه بعد موکول شوند.
بهتر است موارد خارج از محدوده نیز مشخص شوند: انتقال دادههای قدیمی، تغییر قالب، ساخت اپلیکیشن، خرید مجوز سرویس ثالث یا توسعه پنل جدید لزوماً بخشی از سفارش افزونه نیستند. اضافهشدن هر قابلیت پس از توافق، باید از نظر زمان و هزینه دوباره بررسی شود.

۳. سیستمها، دادهها و دسترسی کاربران را مشخص کنید
برای اتصال به حسابداری، CRM یا پیامرسان، نام و نسخه سیستم مقصد، وجود مستندات API و وضعیت دسترسی به وبسرویس اهمیت دارد. در درخواست اولیه لینک مستندات عمومی را بفرستید؛ توکن محرمانه را داخل فرم قرار ندهید.
- جهت انتقال: اطلاعات از کدام سیستم به کدام سیستم میرود؟
- مرجع اطلاعات: اگر دو سیستم مقدار متفاوت داشتند، کدامیک معتبر است؟
- تطبیق رکوردها: کالا یا مشتری با چه شناسهای شناخته میشود؟
- زمان اجرا: عملیات هنگام یک رویداد انجام شود یا بهصورت زمانبندیشده؟
- خطا: هنگام قطعی سرویس، مدیر چگونه مطلع شود و چه دادهای برای پیگیری لازم است؟
- کاربران: چه نقشی اجازه مشاهده، تغییر تنظیمات یا اجرای عملیات را دارد؟
اگر این پاسخها هنوز معلوم نیست، آنها را بهعنوان سؤال باز ثبت کنید. روشنکردن این موارد بخشی از امکانسنجی است و نباید با فرضهای پنهان جایگزین شود.
۴. قبل از شروع، درباره تحویل و پشتیبانی توافق کنید
پیشنهاد نهایی باید روشن کند چه چیزهایی تحویل میشوند: فایل نصب، کد منبع در محدوده توافق، راهنمای نصب و تنظیمات، مستندات اتصال و سناریوهای تست. مالکیت کد اختصاصی، اجازه استفاده مجدد، مجوز اجزای ثالث و حدود دسترسی به مخزن کد باید صریحاً در توافق ثبت شوند؛ پرداخت هزینه بهتنهایی جای این توافق را نمیگیرد.
رفع خطای قابلیت توافقشده را از افزودن قابلیت جدید جدا کنید. مدت و محدوده پشتیبانی، سازگاری با نسخههای مشخص، مسئولیت تغییر API سرویس بیرونی و هزینه نگهداری آینده نیز باید پیش از شروع روشن شوند. در این راهنما مدت یا هزینه ثابتی برای همه پروژهها فرض نشده است.
۵. معیار پذیرش بنویسید: از کجا بفهمیم کار درست است؟
برای هر قابلیت، یک ورودی و نتیجه قابل بررسی بنویسید. «همگامسازی درست کار کند» مبهم است؛ «در محیط آزمایشی، با تغییر موجودی کالای دارای شناسه معتبر در سیستم مرجع، مقدار متناظر در فروشگاه طبق تناوب توافقشده بهروز شود و خطای شناسه نامعتبر ثبت شود» قابل آزمودن است.
سناریوی موفق، قطع سرویس، داده نامعتبر و اجرای دوباره را تا حد مرتبط با پروژه مشخص کنید. سپس تعیین کنید چه کسی تست را انجام میدهد و نتیجه چگونه ثبت میشود.

الگوی قابل کپی برای شرح نیاز افزونه
میتوانید متن زیر را تکمیل و در بخش توضیحات فرم درخواست پروژه ارسال کنید. موارد نامشخص را خالی نگذارید؛ بنویسید «نیاز به بررسی دارد».
آدرس سایت و نوع کسبوکار: مشکل فعلی و روش انجام دستی: کاربران این قابلیت: نتیجه مورد انتظار: سه قابلیت ضروری نسخه اول: امکانات قابل انتقال به نسخه بعد: سیستمهای متصل، نسخهها و لینک مستندات عمومی: دادههای ورودی و خروجی / جهت انتقال: تعداد تقریبی کالا، سفارش یا کاربر: نمونه نتیجه درست و شرایط خطا: مهلت موردنظر و بازه بودجه (در صورت مشخصبودن): سؤالها و محدودیتهای باز:
نمونه شرح نیاز: گزارش سفارشهای ووکامرس در بله
این نمونه فرضی است و گزارش نتیجه یک پروژه یا وعده عملکرد نیست. فروشگاه میخواهد پس از پرداخت موفق، خلاصه سفارش برای مدیر مشخصی در بله ارسال شود. نسخه اول شامل شماره سفارش، مبلغ و اقلام است. ارسال اطلاعات تماس مشتری، گزارش نموداری و پاسخگویی خودکار به مشتری خارج از محدوده این نسخه هستند.
معیار پذیرش پیشنهادی: سفارش پرداختشده پیام ایجاد کند؛ سفارش ناموفق پیام فروش ایجاد نکند؛ اجرای دوباره همان رویداد پیام تکراری نفرستد؛ در صورت خطای سرویس، نتیجه قابل پیگیری باشد. جزئیات تلاش مجدد، نگهداری گزارش خطا و زمان مورد انتظار ارسال باید در امکانسنجی تعیین شوند.
برای دیدن نمونهای از این حوزه میتوانید نمونهکار ربات گزارش ووکامرس را بررسی کنید. برای پروژههای اتصال چند سیستم نیز نمونه اتصال هلو، ووکامرس و کانالهای فروش مرتبط است.
پرسشهای پیش از سفارش
اگر اطلاعات فنی API را ندانم، میتوانم درخواست بدهم؟
بله. مسئله، نتیجه مورد انتظار و نام نرمافزارها را بنویسید. وجود API و امکان دریافت دسترسی باید پیش از ارائه پیشنهاد قطعی بررسی شود.
آیا با همین توضیحات، قیمت و زمان قطعی اعلام میشود؟
این اطلاعات برای شروع بررسی است. برآورد نهایی به دامنه قابلیتها، وضعیت سایت، اتصالها و تستها بستگی دارد. عوامل مؤثر بر هزینه ساخت افزونه را هم بررسی کنید.
آیا سورس کد و پشتیبانی همیشه شامل پروژه است؟
نوع فایلهای تحویلی، حقوق استفاده از کد و محدوده پشتیبانی باید در پیشنهاد و توافق همان پروژه مشخص شوند. درباره اجزای دارای مجوز ثالث نیز باید جداگانه بررسی شود.
شرح نیاز اولیه را ارسال کنید
آدرس سایت، مشکل فعلی، نتیجه مورد انتظار و قابلیتهای ضروری را در فرم درخواست بررسی پروژه افزونه بنویسید. این درخواست برای شروع بررسی است و به معنی ثبت سفارش قطعی یا تضمین امکان اجرا نیست.



