“Order management system যোগ করুন” requirement না।
Heading।
Real work শুরু হয়: কে order create করে, valid কী, কে change করে, state কী, payment fail হলে কী, complete কীভাবে বোঝা যাবে।
Broad idea-কে repeatable structure-এ shippable করি।
User আর trigger
Workflow কোথাও শুরু হয়।
লিখুন:
যখন [trigger], তখন [user] [action] করতে পারে, যাতে [outcome]।
যেমন:
Customer confirmed cart submit করলে operations user inventory review করে order fulfillment-এ নিতে পারে, যাতে accurate delivery update যায়।
এখন useful question করা যায়।
Screen না, state map
Screen representation।
State behavior।
Order:
- draft;
- pending confirmation;
- confirmed;
- waiting for inventory;
- ready for fulfillment;
- shipped;
- delivered;
- cancelled।
তারপর:
- allowed transition;
- actor;
- required data;
- side effect;
- reversal;
- audit event।
UI button-by-button business rule invent করবে না।
Action অনুযায়ী permission
“Admin order manage করবে” broad।
ভাঙুন:
- view;
- search;
- create;
- customer data edit;
- payment state;
- inventory;
- cancel;
- refund;
- export;
- delete।
Role অনুযায়ী action আলাদা।
Backend একই rule enforce করবে।
Failure path লিখুন
Happy path demo বানায়।
Failure path usable product।
External/risky step-এ:
- validation fail;
- concurrent change;
- inventory unavailable;
- provider timeout;
- webhook repeat;
- payment decline;
- email fail;
- permission lost;
- unsafe upload;
- retry duplicate।
User কী দেখে আর system next কী করে—decide।
Relevant non-functional requirement
Generic “secure, scalable, fast” list না।
Workflow-এ attach:
- sensitive action recent auth;
- bounded count-এর পরে pagination;
- queued, access-controlled export;
- safe timeout;
- tenant isolation;
- defined audit retention;
- keyboard completion;
- Bangla/English pair;
- server-rendered primary content।
Specific constraint verify করা যায়।
Acceptance হলো evidence
“Works correctly” acceptance না।
Observable:
- Unauthorized tenant user অন্য tenant order চাইলে safe forbidden/not-found, no data।
- Repeated provider event ID-তে এক transition।
- Invalid inventory quantity-তে input থাকে, field error announce।
- Approved order-এ actor, time, old/new state audit।
Negative behavior-ও acceptance।
Dependency আর owner
External dependency ready না হলে scope বদলায়।
List:
- provider account;
- API access;
- design;
- content;
- domain;
- email sender;
- legal wording;
- data sample;
- stakeholder decision;
- production credential।
Owner আর latest safe date।
Timing ছাড়া “client দেবে” hidden schedule risk।
Exclusion plain language-এ
- এই phase-এ mobile app না;
- historical migration না;
- automated refund না;
- custom report builder না;
- listed role-এর বাইরে role না;
- provider change না;
- offline support না।
Later scope হতে পারে।
Surprise না।
Decision log
Change হলে:
- date;
- decision;
- reason;
- impact;
- owner;
- affected acceptance;
- follow-up।
Old reality নিয়ে debate কমে।
Shippable-scope test
- কে act করে?
- Trigger কী?
- State কী বদলায়?
- Rule?
- Permission?
- Failure?
- User কী দেখে?
- Completion proof?
- Blocker dependency?
- কী included না?
Answer clear হলে estimate honest, delivery verify সহজ।
MVP cut-এর জন্য code-এর আগে SaaS scope। Change communicate করতে async client system।
Brief এক large feature sentence হলে sentence আর target user পাঠান।
- #Requirements
- #Project Scope
- #Product Development
- #Client Communication
- #Delivery

আরও পড়ুন
ইঞ্জিনিয়ারিং, SaaS, ফ্রিল্যান্সিং আর নির্ভরযোগ্য প্রোডাক্ট তৈরির সম্পর্কিত লেখা।