Programmer City «شهر برنامه‌نویس»
1.09K subscribers
4.2K photos
954 videos
159 files
1.96K links
دنیای برنامه‌نویسی و مهندسی کامپیوتر🌈

📱ارتباط با ما: پیج اینستاگراممون🎈
IG: ProgrammerCity ✅

لینک ناشناسمون:✨
https://t.me/BitnetChat_bot?start=sec-ehdiahcie
Download Telegram
📋 قبل از شروع یک پروژه، حداقل این مواردو مشخص کن:

🎯 هدف پروژه

دقیقاً قرار است چه مشکلی حل شود؟

🧩 امکانات

چه Featureهایی داخل پروژه هستند؟

🚫 محدوده پروژه

چه چیزهایی فعلاً جزو پروژه نیستند؟

⏱️ زمان‌بندی

شروع و تحویل پروژه چه زمانی است؟

💰 هزینه و پرداخت

مبلغ و مراحل پرداخت چگونه است؟

🔄 تغییرات

اگر مشتری بعداً Feature جدیدی خواست، چه اتفاقی میفته؟

🛠️ پشتیبانی

بعد از تحویل چه میزان پشتیبانی ارائه میشه؟

📦 تحویل

دقیقاً چه فایل‌ها، دسترسی‌ها یا امکاناتی تحویل داده میشه؟

📌 این جزئیات فقط برای مشتری نیست.

برای خود برنامه‌نویس هم یک محافظ جدی در برابر سوءتفاهم‌های آینده است.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
🎯 یک سناریوی واقعی:

مشتری سفارش یک ربات تلگرام داده.

در توافق اولیه نوشته شده:

🤖 ثبت سفارش
📦 مدیریت محصولات
👨‍💼 پنل مدیریت
🔔 اعلان سفارش

وسط پروژه مشتری میگه:

> «راستی پرداخت آنلاین هم اضافه کن.»

حالا چه کار میکنی؟

1️⃣ چون مشتریه، رایگان اضافه میکنم.
2️⃣ میگم اصلاً انجام نمیدم.
3️⃣ بررسی می‌کنم که آیا خارج از Scope اولیه است؛ اگر هست، زمان و هزینه اضافه آن را مشخص میکنم.
4️⃣ پروژه رو متوقف میکنم. 😅

👇 انتخابتو بنویس.

📌 این دقیقاً یکی از مهارت‌هاییه که یک فریلنسر تازه‌کار باید یاد بگیره:

نه گفتن به درخواست مشتری نیست؛ مدیریت حرفه‌ای درخواست‌های خارج از Scope است.

📅 فردا میریم سراغ یک اتفاق خیلی رایج:

😈 مشتری وسط پروژه میگه: «فقط یه تغییر کوچیک دیگه...»

و میبینیم چطور باید با تغییرات پروژه حرفه‌ای برخورد کنیم.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1🔥1
💼 از دانشگاه تا شرکت | قسمت ۳۲

😈 «فقط یه تغییر کوچیک دیگه...»

یکی از خطرناک‌ترین جمله‌های فریلنسری! 😂

پروژه رو شروع کردی.

مشتری وسط کار پیام میده:

> «راستی اگه میشه این قسمتو هم اضافه کن.»

میگی:
«باشه.»

فردا:

> «اینم اگه بشه تغییر بدی خیلی خوب میشه.»

میگی:
«باشه.»

پس‌فردا:

> «یه امکان کوچیک دیگه هم یادم اومد...»

و ناگهان:

📦 پروژه‌ای که قرار بود ۱۰ روزه تموم بشه،
شده یک پروژه ۳۰ روزه!

اما قیمت؟

همون قیمت اولیه. 😐

📌 اینجاست که مفهوم Scope اهمیتشو نشون میده.

هر چیزی که بعد از توافق اولیه به پروژه اضافه میشه، لزوماً «یک تغییر کوچک» نیست.
ممکنه یک Feature جدید باشه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1🔥1
🔄 حالا اگر مشتری وسط پروژه یک قابلیت جدید خواست، چکار کنیم؟

اول مشخص کن:

❓ آیا این درخواست داخل Scope اولیه بوده؟

اگر بله:

✅ طبق توافق انجامش میدی.

اگر نه:

📝 درخواست جدیدو بررسی میکنی.

بعد مشخص میکنی:

⏱️ چقدر زمان اضافه نیاز داره؟

💰 آیا هزینه اضافه داره؟

📅 آیا زمان تحویل تغییر میکنه؟

مثلاً:

پروژه اولیه:

🤖 ربات ثبت سفارش

اما مشتری میگه:

> «میخوام سیستم تخفیف هم داشته باشه.»

این فقط یک خط کد نیست!

ممکنه نیاز داشته باشه:

🎟️ ساخت کد تخفیف
🗄️ تغییر دیتابیس
🛒 اعمال تخفیف روی سفارش
👨‍💼 مدیریت کدها در پنل
🧪 تست حالت‌های مختلف

پس قبل از اینکه بگی:

«باشه، انجامش میدم.»

اول بگو:

«بیایم بررسی کنیم این قابلیت چه تغییراتی در پروژه ایجاد میکنه.»

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1🔥1
🎯 چالش امشب ProgrammerCity

مشتری برای یک سایت فروشگاهی سفارش داده:

🛒 محصولات
👤 ثبت‌نام
💳 پرداخت
📦 ثبت سفارش

وسط پروژه پیام میده:

> «راستی یه سیستم کد تخفیف هم اضافه کن.»

تو چکار میکنی؟

1️⃣ بدون حرف انجامش میدم.
2️⃣ میگم اصلاً انجام نمیدم.
3️⃣ بررسی میکنم، زمان و هزینه اضافه رو مشخص میکنم و با مشتری هماهنگ میکنم.
4️⃣ پروژه رو کنسل میکنم. 😂

👇 شماره گزینه رو بفرست.

📅 فردا میریم یک مرحله جلوتر:

🤝 چطور این درخواست‌های جدیدو با مشتری مطرح کنیم که نه رابطه خراب بشه، نه حق برنامه‌نویس ضایع بشه؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1🔥1
💼 از دانشگاه تا شرکت | قسمت ۳۳

🤝 یک درخواست جدید از مشتری دریافت کردی.

حالا دو واکنش اشتباه وجود داره:

❌ «نه! اصلاً انجام نمیدم.»

یا:

❌ «باشه، هرچی شما بگید.»

هیچ‌کدوم حرفه‌ای نیست.

بهتره اول درخواستو بررسی کنی و بعد خیلی شفاف توضیح بدی:

💬 «این قابلیت در Scope اولیه پروژه نبوده. برای اضافه کردنش حدود X ساعت زمان نیاز داریم و زمان تحویل پروژه هم X روز تغییر میکنه. هزینه این بخش هم X تومان خواهد بود.»

نه دعوا کردی.

نه مشتری رو رد کردی.

نه مجانی کار کردی.

فقط شرایط تغییر پروژه رو شفاف کردی.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
💬 بیایم یک نمونه واقعی ببینیم.

مشتری:

> «میشه امکان کد تخفیفو هم اضافه کنی؟»

پاسخ ضعیف:

❌ «باشه.»

پاسخ بهتر:

💬 «حتماً، امکان اضافه کردن سیستم کد تخفیف وجود داره. این قابلیت در Scope اولیه نبود، بنابراین نیاز به توسعه بخش جدیدی در سیستم داره. برآورد من حدود ۶ ساعت زمان توسعه و تست هست و زمان تحویل پروژه یک روز افزایش پیدا میکنه. اگر تأیید کنید، این قابلیت رو به پروژه اضافه میکنیم.»

🎯 این پاسخ سه چیزو مشخص کرده:

⏱️ زمان
💰 هزینه
📋 تغییر Scope

و مهم‌تر از همه:

مشتری دقیقاً میدونه بابت چه چیزی هزینه پرداخت میکنه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
🎯 حالا تو جواب بده!

مشتری وسط پروژه میگه:

> «این قابلیتو هم اضافه کن، چیز خاصی نیست.»

اما تو میدونی اضافه کردنش حدود ۲ روز زمان میبره.

کدوم پاسخ حرفه‌ای‌تره؟

1️⃣ «باشه، چشم.»
2️⃣ «نه، اصلاً انجام نمیدم.»
3️⃣ «این قابلیت خارج از Scope اولیه است؛ اجازه بدید زمان و هزینه اضافه‌اشو بررسی کنم و جزئیاتو خدمتتون اعلام کنم.»
4️⃣ «اگر پول بیشتری بدید انجام میدم.» 😐

👇 شماره گزینه رو بنویس.

📌 یک برنامه‌نویس حرفه‌ای فقط بلد نیست کد بزنه؛
بلده انتظار مشتریو هم مدیریت کنه.

و حالا یک سؤال مهم‌تر:

اگر مشتری با قیمت تغییر موافقت نکرد، چکار کنیم؟

🤔 آیا باید پروژه رو متوقف کنیم؟
یا راه دیگری وجود داره؟

📅 قسمت بعدی دقیقاً میریم سراغ همین موضوع...

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
💼 از دانشگاه تا شرکت | قسمت ۳۴

😐 مشتری با هزینه‌ی تغییرات موافقت نمیکنه؛ حالا چی؟

تصور کن داری یک ربات تلگرام میسازی.

امکانات اولیه مشخص شده:
🤖 ثبت سفارش
📦 مدیریت محصولات
👨‍💼 پنل مدیریت

وسط پروژه، مشتری درخواست سیستم تخفیف میده.

تو بررسی میکنی و میگی اضافه کردنش زمان و هزینه‌ی جداگانه داره.

اما مشتری جواب میده:

💬 «مگه چقدر کار داره؟ همینو هم روی پروژه انجام بده دیگه!»

اینجا سه انتخاب داری:

❌ بدون توافق، رایگان انجامش بدی.

❌ وارد بحث و دعوا بشی.

✅ یا حرفه‌ای مذاکره کنی!

یادت باشه: مشتری حق داره درخواستشو مطرح کنه؛ تو هم حق داری محدوده‌ی توافق‌شده‌ی پروژه رو حفظ کنی.

راه‌حل، دعوا کردن یا کوتاه اومدن همیشگی نیست؛ راه‌حل، پیدا کردن توافق روشنه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤2👏1
🤝 اگر مشتری هزینه‌ی تغییرات رو قبول نکرد، این سه راه رو امتحان کن:

۱. ارزش تغییر رو توضیح بده.

به‌جای اینکه فقط بگی «هزینه داره»، توضیح بده این قابلیت چه بخش‌هایی رو درگیر میکنه و چرا زمان توسعه و تست لازم داره.

۲. گزینه‌ی ساده‌تری پیشنهاد بده.

مثلاً به‌جای سیستم تخفیف پیشرفته با کلی شرط، در نسخه‌ی اول فقط امکان ثبت یک کد تخفیف ساده رو ارائه کن.

البته باید مشخص باشه این نسخه دقیقاً چه امکاناتی داره.

۳. پروژه رو مرحله‌بندی کن.

میتونی امکانات ضروری رو طبق توافق فعلی تحویل بدی و قابلیت جدید رو به فاز بعدی منتقل کنی.

📌 یک نکته‌ی مهم:

اگر درخواست مشتری از قبل جزو توافق بوده، نمیتونی صرفاً به دلیل سخت‌تر شدن کار، اونو تغییر جدید محسوب کنی.

اول توافق اولیه رو بررسی کن؛ بعد تصمیم بگیر.

👨‍💻 حرفه‌ای بودن یعنی هم از حق خودت محافظت کنی، هم راه‌حل مناسبی جلوی مشتری بذاری.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤2👏1
🎯 چالش امشب ProgrammerCity

مشتری سفارش یک ربات مدیریت سفارش داده.

وسط پروژه میخواد سیستم تخفیف هم اضافه بشه.

تو اعلام میکنی که این قابلیت خارج از توافق اولیه است و هزینه‌ی جداگانه داره.

مشتری میگه:

💬 «من بیشتر از این بودجه ندارم!»

تو چکار میکنی؟

1️⃣ قابلیتو رایگان اضافه میکنم تا مشتری ناراحت نشه.

2️⃣ محترمانه توضیح میدم و یک نسخه‌ی ساده‌تر یا اجرای مرحله‌ای پیشنهاد میکنم.

3️⃣ بدون توضیح پروژه رو متوقف میکنم.

4️⃣ اصرار میکنم حتماً باید هزینه‌ی کامل رو پرداخت کنه.

👇 شماره گزینه‌اتو بنویس و اگر تجربه‌ای داشتی، تعریف کن!

📅 فردا میریم سراغ مرحله‌ی بعد:

🚀 وقتی مشتری با شرایط پروژه موافقت کرد، قبل از شروع کدنویسی چه کارهایی باید انجام بدیم؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤2🔥1