Iranian Software Engineers
71 subscribers
213 photos
5 videos
19 files
131 links
Download Telegram
👆روند تبدیل برنامه نویس به مدیرپروژه 👆
@SoftwareEngineers
🍁دوره آموزشی مدیریت پروژه چابک
#Agile
🌟 درس ششم

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

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

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

این دوره ادامه دارد.....
🍁دوره آموزشی مدیریت پروژه چابک
#Agile

🌟 درس هفتم

به نمونه‌ها فکر کردین؟
اولین نمونه‌ای که می‌خوام براتون تعریف کنم چیزیه که خود این دوره آموزشی جزئی از اونه (:
ماجرا اینه که مدت اخیر به تولید دو دوره آموزشی آنلاین فکر می‌کردم، یکی درباره اسکرام و یکی دیگر آمادگی آزمون PMP. دلیلش هم اینه که دوره آموزشی آنلاین فارسی برای هیچکدوم به اندازه کافی وجود نداره و شرکت تو دوره‌های کلاسی هم گرون و مشکله. از طرف دیگه به تازگی R.E.P هم شدیم و در نتیجه دوره‌مون می‌شه اولین دوره رسمی آنلاین آمادگی آزمون PMP به زبان فارسی. تازه برای اسکرام هم می‌تونیم این امکان رو به شرکت‌کننده‌ها بدیم که تو آزمون PSM I شرکت کنن، بدون این‌که نگران پرداخت ارزی باشن. خیلی خوبه، مگه نه؟
خوب، این به نظر من خوب میاد، ولی کی می‌دونه واکنش بازار چی خواهد بود؟ برای تولید دوره خیلی باید وقت و هزینه کرد و اگه عده کافی اون رو نخرن ضرر می‌کنیم.
پس کاری که کردیم این بود که به جای یه دوره آموزشی پیشرفته و پر هزینه، یه نمونه ساده درست کردیم که ببینیم اصلا مردم علاقه به همچین چیزایی دارن یا نه. همین دوره‌ای که دارین می‌بینین.
این دوره بر اساس یه سری الگوهای آموزشی جدید طراحی شده که به نظرم جالب میاد. حالا اون رو هم بعدا می‌فهمیم که بازخوردش چی بوده. نکته بعدی اینه که برای همین دوره هم زیرساختی لازمه که اشتراک‌ها رو مدیریت کنه، ایمیل‌ها رو درست ارسال کنه (طوری که مثلا اسپم نشن)، یه سری آمار بهمون بده که بفهمیم موثر بوده یا نه (مثلا همه تا آخر دوره می‌رن یا به نظرشون کسل‌کننده‌س و وسط کار ولش می‌کنن) و خیلی چیزهای دیگه.
پس چیکار کردیم؟ به جای این‌که وقت و هزینه زیاد صرف فراهم کردن زیرساخت این دوره بکنیم، از یه روش خیلی ساده استفاده کردیم. تو این روش کار دستی زیاد از حد باید انجام داد، بهره‌وریش هم ایده‌آل نیست، قابلیت‌های هیجان‌انگیزی که دلمون می‌خواد رو هم نداره. اگه از این دوره استقبال نشه، این ماجرا رو فراموش می‌کنیم. اگه استقبال بشه، اونوقته که می‌ریم سرمایه‌گذاری می‌کنیم و زیرساخت رو می‌سازیم.
بعد از اون این نوع دوره‌ها رو با زیرساخت مناسب پیش می‌بریم و اگه جواب بده، تازه می‌ریم سرمایه‌گذاری اصلی رو برای دوره‌های آنلاین می‌کنیم.
تازه تمام این چیزهایی که گفتم فقط یه حالت از تطبیق بود. ممکنه وسط راه بر اساس بازخوردها و تحلیل‌ها به این نتیجه برسیم که اگه صرفا روی همین روش تمرکز کنیم و پیشرفته‌ترش کنیم بهتر از دوره آموزشی آنلاین معمولیه. شاید اصلا متوجه بشیم آموزش رو ول کنیم و فقط بریم دنبال توسعه اون زیرساخت برای استفاده موسسه‌های آموزشی دیگه بهتره. کی می‌دونه؟
این می‌شه یه روش چابک.
خوب، بیاین باز هم به مثال فکر کنیم تا فردا.

این دوره ادامه دارد.....
👆 52 Tips & Tricks to Boost .NET Performance @SoftwareEngineers
👆Eight Steps to Effective SQL Server Monitoring @SoftwareEngineers
سرازیرشدن تقاضاهای زیاد به یک سرور یا Ddos چیست؟
Ddosیک نوع حمله ی توزیع شده است که تلاش می کند با از دسترس خارج کردن شبکه ی کامپیوتری برای کاربران بر روی سرور آنلاین اختلال ایجاد می کند.این حمله معمولا با ترافیکی از منابع ناشناخته اتفاق می افتد.هدف این حملات شبکه هایی با منابع مهم است که شامل سایت های بانکی و شبکه های محبوب است و برای کاربرانی که می خواهند به اطلاعات مهم دسترسی داشته باشند چالش ایجاد می کند.در اصل حمله ی Ddos یک حمله ی ترکیبی است که در اغلب موارد از راه دور و از طریق اینترنت سیستم های کامپیوتری را از دور خارج می کند.تا زمانی که این نوع حملات روی مجموعه ای از الگوها تنظیم شود, نشانه ای وجود ندارد که چطور حمله ی Ddos اتفاق افتاده است.
کتاب آموزش اسکرام و کانبان 👆

@SoftwareEngineers
👆👆شرکت خدمات نوین سداد فعال در حوزه پرداخت الکترونیک (PSP) نیاز به افراد متخصص در زمینه بانک اطلاعاتی، برنامه نویسی وب و موبایل دارد.
رزومه خود را به ایمیل مشخص شده در فایل مربوطه ارسال کنید
@SoftwareEngineers
ابزارهای تست امنیت

@SoftwareEngineers
🍁دوره آموزشی مدیریت پروژه چابک
#Agile
🌟 درس هشتم

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

احتمال داره بیس‌کمپ رو نشناسین. این یکی دو سال خیلی معروف شده و در نوع خودش از موفق‌ترین‌هاس. یه نرم‌افزار مدیریت پروژه آنلاینه.کار شرکت سازنده‌ش طراحی وب بوده. کارهای کوچیک می‌گرفته و تعداد مشتری‌هاش هم خیلی زیاد بوده. برای این‌که کارش راحت‌تر بشه یه نرم‌افزار ساده تهیه می‌کنه برای پیگیری کارها بین خودشون و مشتری. می‌خواستن نرم‌افزار رو در همون حد نگه دارن، ولی بعد می‌بینن که مشتری‌ها خیلی ازش استقبال کردن و دایما دارن پیشنهادهای مختلفی برای تقویتش می‌دن. اون‌ها هم دایما اون رو بهتر و بهتر می‌کنن.
در نهایت کار به جایی می‌رسه که اشتراک استفاده از نرم‌افزار رو به جاهای مختلف می‌فروشن. بعد از مدتی می‌بینن که درآمدش داره از درآمد کار اصلی شرکت بیشتر می‌شه و آینده‌ش هم به نظر خیلی روشن میاد. مرحله به مرحله کار رو جلو می‌برن و به جایی می‌رسن که کار اصلی شرکت که طراحی سایت بوده رو متوقف می‌کنن و فقط متمرکز می‌شن روی این نرم‌افزار. الان هم ظاهرا دارن روی نرم‌افزار جدیدی برای مدیریت ارتباط با مشتری (CRM) کار می‌کنن. نسخه‌های اولیه‌ش فکر می‌کنم تموم شده و همچنان دارن چابک پیش می‌رن.
خوب، مثال‌هایی که زدم بیشتر از جنس Startup بودن تا پروژه به مفهوم رایجش. دلیلش اینه که اون‌ها خیلی ملموس‌ترن. همین روش و مکانیزم در مورد بقیه پروژه‌های چابک هم وجود داره. خیلی وقت‌ها البته به جای بازخورد بازار تمرکزمون روی بازخورد کارفرماس، که اون هم از نظر عدم قطعیت فرق چندانی با یه بازار متلاطم نداره .

حالا سوال اینه:‌ برای چه پروژه‌های می‌تونیم از روش‌های چابک استفاده کنیم؟
به نظرم اگه خوب بهش فکر کنین می‌تونین جواب کامل بدین.

این دوره ادامه دارد.....
🍁دوره آموزشی مدیریت پروژه چابک
#Agile

🌟 درس نهم

به نظرتون می‌شه هر پروژه‌ای رو چابک اجرا کرد؟
متاسفانه جواب منفیه!
پروژه اون درمانگاه رو یادتونه؟ مثال یکی از درس‌های قبلی. به نظرتون برای اون پروژه لازمه تطبیقی پیش بریم؟ به نظر من که نه. ارتباط بین محصول و نتیجه انقدر محکم و ساده‌س که نیازی به تطبیق نداریم و خیلی راحت می‌تونیم متعین پیش بریم.
حالا اگه اصرار داشته باشیم چی، می‌شه؟
نه. نمی‌شه. یادتونه، برای تطبیقی اجرا کردن پروژه لازمه که محصولش تدریجی(incremental) تولید بشه و کارمون قدم به قدم (iterative) باشه. هرکدوم این‌ها هم تبعات خودشون رو دارن. مثلا تدریجی بودن، به مفهومی که اینجا مد نظرمونه، مستلزم اینه که خروجی قابل استفاده باشه. آیا می‌شه از یه ساختمونی که نیمه‌کارس و هنوز سقف نداره استفاده کرد؟ نه. پس این محصول نمی‌تونه «تدریجی» تولید بشه.
از طرف دیگه، کار باید قدم به قدم پیش بره و منظورمون اینه که تو هر قدم باید فرآیندهای تولید برای بخشی جدید تکرار بشن، از جمله طراحی. آیا می‌شه فقط بخشی از یه ساختمون رو طراحی کرد، بدون بخش‌های دیگه‌ش؟ مثلا فونداسیون رو طراحی کنیم بدون بقیه قسمت‌های اسکلت؟ نه، چون فونداسیون رو برای تحمل وزن طراحی می‌کنیم که اون هم بستگی داره به طراحی بقیه اسکلت.
خلاصه این‌که هر پروژه‌ای رو نمی‌شه چابک اجرا کرد و این کاملا بستگی داره به محصول پروژه. خودتون یه کم مرور کنین ببینین چه چیزهایی رو می‌شه چابک اجرا کردن و چه چیزهایی رو نمی‌شه. معمولا وقتی می‌شه یه چیزی رو چابک اجرا کرد، روش چابک خیلی مقرون به صرفه‌تر و سریع‌تره. چرا؟ به چراییش فکر کنین تا فردا درباره‌ش صحبت کنیم.

این دوره ادامه دارد.....
https://www.mongodb.com/nosql-explained
این مقاله هم برای دوستانی که در مورد #NoSQL هنوز کنجکاو هستن که کی و کجا استفاده کنند. توضیحات تقریباً خوبی ارائه شده
@SoftwareEngineers