TondTech
ما یه QA میخوایم توی رسمیو، لازم نیست Automation بلد باشید، ولی اگه دوست داشته باشید با هم روش کار میکنیم. برای شروع هم حقوق رو ۳۰ تا ۳۵ در نظر گرفتیم. اگر دوست دارید به من پیام بدین @Merkousha فول تایم / حضوری محل شهرک غرب برای Rasmio.com
از این پیام که گذاشتیم به جای 1 نفر، 2 نفر جذب کردیم تو #رسمیو و دم همه عزیزانی که به اشتراک گذاشتن گرم
حالا یه پوزیشن باز دیگه برای طراح ارشد UI/UX داریم (45-60 میلیون تومان)
فول تایم / حضوری
محل شهرک غرب
https://jobvision.ir/jobs/1255262
حالا یه پوزیشن باز دیگه برای طراح ارشد UI/UX داریم (45-60 میلیون تومان)
فول تایم / حضوری
محل شهرک غرب
https://jobvision.ir/jobs/1255262
جاب ویژن
استخدام طراح ارشد UI/UX در رسمیو
برای مشاهده آگهی استخدام طراح ارشد UI/UX در رسمیو کلیک کنید و رزومه خود را به صورت رایگان ارسال کنید
🔥2
Forwarded from ʜᴜꜱꜱᴇɪɴ ʙᴇʏɢɪ
قسمت سوم :
🔥 اگه فکر میکنی Kibana فقط برای نگاهکردن لاگه… این ویدیو نظرت رو عوض میکنه!
همه جا میگن «الاستیکسرچ سریع و قدرتمنده»، ولی کسی واقعاً نشون نمیده چطوری باید ازش استفاده کرد.
تو این قسمت، بدون هیچ پیچیدگی، مستقیم میریم سراغ قلب ماجرا:
✅ ساخت ایندکس واقعی
✅ سرچهای کاربردی با Match و Multi-Match
✅ اولین Aggregation حرفهای
✅ فهم درست Doc, Index و REST API
و کلی نکتهای که معمولاً هیچجا گفته نمیشه…
اگر حتی یه بار با ElasticSearch کار کردی (یا میخوای شروع کنی)، این قسمت جامپاستارتته!
👇
https://youtu.be/HSodksRVtKU
🔥 اگه فکر میکنی Kibana فقط برای نگاهکردن لاگه… این ویدیو نظرت رو عوض میکنه!
همه جا میگن «الاستیکسرچ سریع و قدرتمنده»، ولی کسی واقعاً نشون نمیده چطوری باید ازش استفاده کرد.
تو این قسمت، بدون هیچ پیچیدگی، مستقیم میریم سراغ قلب ماجرا:
✅ ساخت ایندکس واقعی
✅ سرچهای کاربردی با Match و Multi-Match
✅ اولین Aggregation حرفهای
✅ فهم درست Doc, Index و REST API
و کلی نکتهای که معمولاً هیچجا گفته نمیشه…
اگر حتی یه بار با ElasticSearch کار کردی (یا میخوای شروع کنی)، این قسمت جامپاستارتته!
👇
https://youtu.be/HSodksRVtKU
❤7
رفقا کسی میتونه روی قیمت گذاری این لب تاپ کمک کنه ؟
ASUS ROG Strix SCAR 15 G533ZS HF022W
https://torob.com/p/3e6be61b-cd74-4cf7-b231-ee3a4f1c339e/asus-rog-strix-scar-15-g533zs-hf022w-off-black-gaming-laptop-i9-12900h-32gb-2tb-ssd-nv-rtx3080-8gb-gddr6-win11-home-156-inch-fhd-1920x1080-16-9-300hz-backlit-eng-arb-kb/
ASUS ROG Strix SCAR 15 G533ZS HF022W
https://torob.com/p/3e6be61b-cd74-4cf7-b231-ee3a4f1c339e/asus-rog-strix-scar-15-g533zs-hf022w-off-black-gaming-laptop-i9-12900h-32gb-2tb-ssd-nv-rtx3080-8gb-gddr6-win11-home-156-inch-fhd-1920x1080-16-9-300hz-backlit-eng-arb-kb/
Forwarded from Armin codes (Armin Shaikhy)
ما تو تیم دیجیشهر دنبال یه نیروی QA با دقت بالا، توانمندی فنی و انگیزه برای یادگیری و پیشرفت میگردیم 💙 اگه میخواهی در یک تیم حرفهای و با پروژههای واقعی کار کنی، این فرصت میتونه برای تو مناسب باشه. پیشنیازها و جزئیات رو میتونی اینجا ببینی:
QA_Dgshahr
QA_Dgshahr
❤2
چون دوستان بحث ساخت اسلاید با AI رو کرده بودند در گروه، گفتم خالی از لطف نیست یک بار دیگه این ریپو رو معرفی کنم، کافیه بهش AvalAI APIKey بدین و لذت ببرید
https://github.com/Merkousha/SlideGenie
https://github.com/Merkousha/SlideGenie
GitHub
GitHub - Merkousha/SlideGenie
Contribute to Merkousha/SlideGenie development by creating an account on GitHub.
❤5
به Agentic IDE جدید گوگل AntiGravity سلام کنید، خیلی مهربونه و مدل های خوبی رو به رایگان باهاتون به اشتراک میگذاره
https://youtu.be/SVCBA-pBgt0?si=BKHUbs1L9_P5VZL1
https://antigravity.google/
https://youtu.be/SVCBA-pBgt0?si=BKHUbs1L9_P5VZL1
https://antigravity.google/
YouTube
Welcome to Google Antigravity 🚀
Google Antigravity is an agentic development platform, evolving the IDE into the agent-first era. Antigravity enables developers to operate at a higher, task-oriented level by managing agents across workspaces, while retaining a familiar AI IDE experience…
🔥10❤1👍1
Forwarded from tech-afternoon (Amin Mesbahi)
بعد از دیدن مطلبی که مسعود بیگی در کانال تندتک درباره حذف Story Point از تسکهاشون نوشت، و مواضع مختلفی که در اینباره توی کامیونیتیهای انگلیسی و فارسی وجود داره، تصمیم گرفتم چند خطی رو به این بحث بپردازم. امیدوارم کمک کنه به تصمیمگیری بهتر دوستان...
مرگِ یک آیین قدیمی یا تکامل طبیعی؟
سوال تکراری همیشگی بعد از اینکه یک تیم یا شرکت تخمین Story Point رو کنار میگذاره؛ اینه: «خب جایگزینش چیه؟»
ولی عملا سوال بهتر اینه که اصلاً نیاز واقعیمون به Story Point چی بوده؟ و چرا به وجود اومده؟
این بحث، بحثِ خیلی از تیمهای نوپا و بالغ دنیا طی سالهای اخیر بوده.
عملا Story Point در سالهای ابتدایی پیدایش مفهوم agile در توسعه نرمافزار، ناجی خیلی از تیمها بود. یعنی وقتی تیمها از تخمین زمانی (مثل person-hour یا person-day) خسته شده بودن و میدیدن این اعداد عموما دروغ میگن؛ Story Point با نگاه «بیخیال ساعت شید، فقط بگید این کار نسبت به اون یکی چقدر بزرگتره» به وجود اومد. و واقعاً هم کمک کرد. تیمها بهتر پیشبینی میکردن، Velocity داشتن، ظرفیت اسپرینت مشخص بود.
اما این سالها بعضی از تیمها Story Point رو کنار گذاشتن، مهمترین دلایلی که من دیدم، اینا بوده:
۱. طی گذر زمان؛ Story Point تبدیل به دروغ شد!
همون چیزی که قرار بود جلوی دروغ رو بگیره، خودش تبدیل به دروغ شد.
چرا؟ چون مدیر محصول یا PO میگفت: «این فیچر باید تو همین اسپرینت جا بشه، پس ۸ نزنید، ۵ بزنید!»
یا توسعهدهنده از ترس فشار بعدی، همیشه عدد بزرگتر میزد.
نتیجه؟ Velocity غیرواقعی، تخمین غیرواقعی، بیاعتمادی کامل. من از حدودای ۲۰۱۲-۲۰۱۳ یادم میاد که نهضت NoEstimates# با این گفتمان راه افتاده که تخمین، هزینه داره و اغلب دقتش اونقدری نیست که ارزش هزینهش رو داشته باشه!
۲. تیمها دیگه نیازی به «واحد خیالی» ندارن
وقتی تیم کوچیکه، در اثر تجربه و همنشینی گاهی دیگه نیازی نمیبینن بگن «این ۵ پوینته، اون ۸ پوینته».
فقط میگن: «این کار حدود ۲-۳ روزه، اون یکی یه هفته».
و این تخمین «تقریبی و رنجدار» گاهی دقیقتر از Story Point در میاد!
از طرفی، تیمهای خوب به جای اندازه تسک، روی شکل دادن (Shaping) فیچرها تمرکز میکنند و تخمین ریز نمیزنن.
۳. کار رو باید انجام داد چه یه روز چه ده روز!
بعضی تیمها ماهیت تسکهاشون «ضرورتِ محصوله»، یعنی قابل حذف یا جایگزینی نیست، محصول هم باید تولید شه. لذا برای مدیر و شرکت مهمه که زودتر برسه، ولی اگر چند وقت دیرتر هم بشه، راهی جز پذیرش نداره. اینجاست که تیم میگه خب so what؟ تخمین بزنم که چی بشه؟ من که اول و آخر باید این کار رو انجام بدم!
۴. کارهای روتین، یا قابل پیشبینی هستن
وقتی کارها به طور نسبی زمان مشابهی برای اجرا نیاز دارن، یا توی چند دستهی قابل پیشبینی قرار میگیرن، تکرار مکررات باعث میشه تیم بیخیال تخمین بشه و میدونه چه کاری حدودا طی چی زمانی انجام میشه. اینجا دیگه به جای story point گاها T-Shirt sizing هم جواب میده (S, M, L, XL)
پس کِی و کجا Story Point هنوز مفیده؟
- انترپرایزها: تیم بزرگ، سازمان بزرگ، وابستگیهای بین تیمی زیاد، مدیریت بودجه سختگیرانه و... توی چنین محیطهایی اینقدر در همتنیدگی کارها، بوجه، تیمها، و.. زیاده که یکی از مهارتهای مدیر تیم، کمک به بهبود و تدقیق تخمینهاست. اینقدری که توی شرکتهای بزرگ tech با ماشینلرنینگ و هوشمصنوعی این تخمینها بهبود پیدا میکنه، چون دیر رسیدن یک ماههی یک محصول گاها عدمالنفع یا حتی خسارتهای چند ده میلیون دلاری میتونه به بار بیاره.
قبلا همینجا هم نوشتم که انترپرایز الزاما تعداد کارمند زیاد نیست، باید ساختار و رویهها قابل انترپرایز خطاب شدن باشه!
- تیمهای جدید که هنوز Flow پایداری ندارن
- وقتی تیمها توزیعشده (distributed) هستن و ارتباط لحظهای کمه
یادمون نره که Agile یعنی انعطاف. اگر ابزاری به درد تیم شما نمیخورد، کنارش بگذارید. اینکه process templateهای متنوعی وجود داره، از مدلهای ساده مثل kanban تا scrum و agile و حتی مدلهای خیلی سختگیر و دقیقی مثل CMMI هم هست، یعنی «نسخه واحد برای همه تیمها و محصولات وجود نداره».
سوال این نیست که "Story Point خوبه یا بد؟"
سوال اینه: "برای تیم ما، در مرحله فعلی، چه چیزی بهترین کمک رو میکنه؟"
بعضیها هم که story point رو گذاشتن کنار از سر بلد نبودنشون بوده! نه از سر مناسب نبودنش! و اساسا باید عارضه رو در خودشون پیدا میکردن یا اینکه تا زمان بلوغ، میرفتن سراغ متد دیگهای که مبتنی بر SP نباشه، نه اینکه متد رو نگه دارن و SP رو از دلش بکشن بیرون.
این موضوع خیلی مفصله ولی امیدوارم در حد سرنخ دادن کمک کرده باشه... 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
👏7❤2👍2🔥2
tech-afternoon
It depends - the best answer to most software development questions
❤6
Forwarded from Learning With M
من همیشه برگشت به درون رو می پسندم.
همه چیز از داخل شروع میشه. همون قصه قدیمی که می گفت بچه بودم میخواستم دنیا رو عوض کنم و بزرگتر شدم خواستم کشورم رو عوض کنم، بزرگ تر شدم گفتم شهرم، بعد محلم، بعد خونم و در آخر وقتی خردمند شدم فهمیدم درونم رو باید تغییر بدم، بقیه چیز ها خودش درست میشه.
به نظرم فرهنگمون هم نیاز به توجه داره و اگر خودمون به فکر فرهنگ و ارزش های فرهنگی خودمون نباشیم کسی قرار نیست کاری کنه.
یکی از چیزهایی که خیلی منو به خودش علاقه مند کرده گروه eranshahr.com هستند. در مسیر جالبی در حال کار هستند. انگار نسل Z رو ریختن تو فرهنگ ها.پیشنهاد می کنم دنبالشون کنید.
#شاید_بی_ربط_ولی_عمیق
همه چیز از داخل شروع میشه. همون قصه قدیمی که می گفت بچه بودم میخواستم دنیا رو عوض کنم و بزرگتر شدم خواستم کشورم رو عوض کنم، بزرگ تر شدم گفتم شهرم، بعد محلم، بعد خونم و در آخر وقتی خردمند شدم فهمیدم درونم رو باید تغییر بدم، بقیه چیز ها خودش درست میشه.
به نظرم فرهنگمون هم نیاز به توجه داره و اگر خودمون به فکر فرهنگ و ارزش های فرهنگی خودمون نباشیم کسی قرار نیست کاری کنه.
یکی از چیزهایی که خیلی منو به خودش علاقه مند کرده گروه eranshahr.com هستند. در مسیر جالبی در حال کار هستند. انگار نسل Z رو ریختن تو فرهنگ ها.پیشنهاد می کنم دنبالشون کنید.
#شاید_بی_ربط_ولی_عمیق
Eranshahr
Collection of Iranian Mythological Music — Eranshahr
Explore professional voice actors at Eranshahr, featuring mythic projects, games, and cultural libraries. Connect with talent and enhance your media productions.
💯3❤2🔥1
Forwarded from EverCode
تو سلوشنهای بزرگ دات نت، مدیریت ورژن پکیجهامون میتونه سخت باشه. پکیجهایی که توی چندتا پروژه استفاده شده مثل
Newtonsoft.Json
یا مثلا تو پروژههای تست:
Xunit, NSubstitute, Shouldly
دردسر وقتی شروع میشه که بخوایم ورژن یکی ازین پکیجها رو تغییر بدیم.
مایکروسافت قابلیتی برای پروژههاش تعریف کرده به نام
Central Package Management
به این صورت هست که شما توی سلوشنتون یک فایل به اسم
Directory.Packages.props
میسازین و توی اون اسم پکیجها به همراه ورژنشون رو مشخص میکنین و بعد از اون توی هر پروژهای که خواستین کافیه فقط اسم (بدون ورژن) پکیج رو به فایل csproj پروژهتون اضافه کنین. اینطوری از یجا ورژن پکیج ها رو مشخص میکنین هرموقع خواستین میتونین به راحتی تغییرش بدین.
اگه پروژهای داشته باشین و بخواین دستی به CPM تغییرش بدین، احتمالا کار حوصله سر بر و سختی باشه. اینجاست که CPMGen به کمکتون میاد! با استفاده از cpmgen میتونین با یک دستور خیلی سریع پروژهتون رو به CPM تغییر بدین. این یک ابزار دات نت هست و با استفاده از دستور زیر میتونین نصبش کنین:
dotnet tool install --global CPMGen
قابلیتهاش:
بهصورت خودکار فایلهای .sln یا .csproj را در پروژه پیدا میکنه (یا میتونی مسیر دلخواه بدهی).
یک فایل Directory.Packages.props میسازه و نسخهٔ همهٔ پکیجها را متمرکز میکنه
فایلهای csproj. رو آپدیت میکنه و قسمت ورژن پکیج رو خودش حذف میکنه
امکان بکاپ داخلی داره تا نسخهٔ اصلی فایلها حفظ شود.
در صورت نیاز، پوشهٔ بکاپ رو به .gitignore اضافه میکند.
لینک پروژه:
https://github.com/PureJoyMind/CPMGen
داخل پروژه اطلاعات بیشتری راجب نحوه کار باهاش هست و خود ابزار هم از help ساپورت میکنه.
اگه هم باگی داشت یا قابلیتی بود که دوست داشتین بهش اضافه کنین ایشو بزنین و مشارکت کنین❤️
@ever_code
Newtonsoft.Json
یا مثلا تو پروژههای تست:
Xunit, NSubstitute, Shouldly
دردسر وقتی شروع میشه که بخوایم ورژن یکی ازین پکیجها رو تغییر بدیم.
مایکروسافت قابلیتی برای پروژههاش تعریف کرده به نام
Central Package Management
به این صورت هست که شما توی سلوشنتون یک فایل به اسم
Directory.Packages.props
میسازین و توی اون اسم پکیجها به همراه ورژنشون رو مشخص میکنین و بعد از اون توی هر پروژهای که خواستین کافیه فقط اسم (بدون ورژن) پکیج رو به فایل csproj پروژهتون اضافه کنین. اینطوری از یجا ورژن پکیج ها رو مشخص میکنین هرموقع خواستین میتونین به راحتی تغییرش بدین.
اگه پروژهای داشته باشین و بخواین دستی به CPM تغییرش بدین، احتمالا کار حوصله سر بر و سختی باشه. اینجاست که CPMGen به کمکتون میاد! با استفاده از cpmgen میتونین با یک دستور خیلی سریع پروژهتون رو به CPM تغییر بدین. این یک ابزار دات نت هست و با استفاده از دستور زیر میتونین نصبش کنین:
dotnet tool install --global CPMGen
قابلیتهاش:
بهصورت خودکار فایلهای .sln یا .csproj را در پروژه پیدا میکنه (یا میتونی مسیر دلخواه بدهی).
یک فایل Directory.Packages.props میسازه و نسخهٔ همهٔ پکیجها را متمرکز میکنه
فایلهای csproj. رو آپدیت میکنه و قسمت ورژن پکیج رو خودش حذف میکنه
امکان بکاپ داخلی داره تا نسخهٔ اصلی فایلها حفظ شود.
در صورت نیاز، پوشهٔ بکاپ رو به .gitignore اضافه میکند.
لینک پروژه:
https://github.com/PureJoyMind/CPMGen
داخل پروژه اطلاعات بیشتری راجب نحوه کار باهاش هست و خود ابزار هم از help ساپورت میکنه.
اگه هم باگی داشت یا قابلیتی بود که دوست داشتین بهش اضافه کنین ایشو بزنین و مشارکت کنین❤️
@ever_code
GitHub
GitHub - PureJoyMind/CPMGen: A command-line tool that helps you quickly migrate large .NET solutions to Central Package Management…
A command-line tool that helps you quickly migrate large .NET solutions to Central Package Management (CPM) - PureJoyMind/CPMGen
❤2
این ریپو هم بابک جان معرفی کرد :
https://github.com/Webreaper/CentralisedPackageConverter
https://github.com/Webreaper/CentralisedPackageConverter
GitHub
GitHub - Webreaper/CentralisedPackageConverter: Converts a project to use Centralised Package Management
Converts a project to use Centralised Package Management - Webreaper/CentralisedPackageConverter
❤4
بالاخره روزش رسید که با این عزیز دل خداحافظی کنم.
ASUS ROG Strix SCAR 15 G533ZS HF022W
پردازنده Core i9 12900H
رم ۳۲ گیگ
حافظه 1 ترابایت SSD
کارت گرافیک RTX 3080 با ۸ گیگ GDDR6
صفحه ۱۵.۶ اینچی FHD با نرخ نوسازی ۳۰۰ هرتز عالیه برای گیمینگ سنگین و کارهای حرفهای
قیمت دست دومش تو بازار حدود 220 هست، دست یه CTO بوده که گوشه خونه ش خاک میخورده و گه گداری ریموت میزده باهاش. کار سنگینی هم باهاش انجام نشده واقعا
اگر بهش نیاز دارین بهم پیام بدین @Merkousha
ASUS ROG Strix SCAR 15 G533ZS HF022W
پردازنده Core i9 12900H
رم ۳۲ گیگ
حافظه 1 ترابایت SSD
کارت گرافیک RTX 3080 با ۸ گیگ GDDR6
صفحه ۱۵.۶ اینچی FHD با نرخ نوسازی ۳۰۰ هرتز عالیه برای گیمینگ سنگین و کارهای حرفهای
قیمت دست دومش تو بازار حدود 220 هست، دست یه CTO بوده که گوشه خونه ش خاک میخورده و گه گداری ریموت میزده باهاش. کار سنگینی هم باهاش انجام نشده واقعا
اگر بهش نیاز دارین بهم پیام بدین @Merkousha
🔥16😭3👎1
TondTech
بالاخره روزش رسید که با این عزیز دل خداحافظی کنم. ASUS ROG Strix SCAR 15 G533ZS HF022W پردازنده Core i9 12900H رم ۳۲ گیگ حافظه 1 ترابایت SSD کارت گرافیک RTX 3080 با ۸ گیگ GDDR6 صفحه ۱۵.۶ اینچی FHD با نرخ نوسازی ۳۰۰ هرتز عالیه برای گیمینگ سنگین و کارهای…
یه کوله ROG هم داره که اون هم میدم روش
🤣13❤5
Forwarded from Learning With M
تا حالا شده با کسی صحبت می کنید که سرشار از اطلاعات هست و وقتی باهاش صحبت می کنید می بینید چه قدر این آدم دقیقیه؟
یکم که پیش میرید می بینید که هی به کتاب های مختلفی که خونده شمارو ارجاع می ده.
این آدهم ها(برای من) خیلی آدم های با اهمیت و مهمی هستند.
من همیشه برای جای سوال داشت که چه طور این همه خوب به خاطر میارن و شاید مهمتر اینکه، چطور انقدر مطالعه می کنند.
سهیل از همین نوع آدم هاست، سهیل صمدزاده، مربی و استاد بزرگ من.
این شد که حدودا ۲ سال پیش روش سهیل رو ازش پرسیدم و خیلی برام مفید بود. بعد از دو سال مجدد از سهیل خواهش کردم روشش رو برای من توضیح بده که بتونم رکورد کنم و برای بقیه پخشش کنم.
این شما و این هم توضیحات سهیل عزیز:
https://youtu.be/Wts_m3GCYPk?si=1-nxyYnojtUnvjxd
یکم که پیش میرید می بینید که هی به کتاب های مختلفی که خونده شمارو ارجاع می ده.
این آدهم ها(برای من) خیلی آدم های با اهمیت و مهمی هستند.
من همیشه برای جای سوال داشت که چه طور این همه خوب به خاطر میارن و شاید مهمتر اینکه، چطور انقدر مطالعه می کنند.
سهیل از همین نوع آدم هاست، سهیل صمدزاده، مربی و استاد بزرگ من.
این شد که حدودا ۲ سال پیش روش سهیل رو ازش پرسیدم و خیلی برام مفید بود. بعد از دو سال مجدد از سهیل خواهش کردم روشش رو برای من توضیح بده که بتونم رکورد کنم و برای بقیه پخشش کنم.
این شما و این هم توضیحات سهیل عزیز:
https://youtu.be/Wts_m3GCYPk?si=1-nxyYnojtUnvjxd
YouTube
Learn with me : How I read
توی این ویدیو من از سهیل صمدزاده عزیز(مربی و استاد عزیزم) در مورد روش مطالعه خودش که در گذشته به من یاد داده بود و من از اون استفاده می کنم رو مجدد توضیح داد تا من بتونم رکورد کنم و با بقیه به اشتراک بزارم.
این روش روش خیلی کاربردی هست که اگر روش استمرار…
این روش روش خیلی کاربردی هست که اگر روش استمرار…
❤9🔥3🤩1
Forwarded from tech-afternoon (Amin Mesbahi)
- ساختار و سازماندهی تولید چیه؟
ساختار و سازماندهی تولید نرمافزار رو من ذیل ۳ مولفه اصلی بیان میکنم. یعنی فرهنگ، فرایند، و ابزار:
۱: ابزار:
ابزار را شاید بشه سادهترین مولفه از بین ۳ عامل دونست (هرچند خیلیها همین رو هم به درستی ندارن). ابزار یعنی هر سرویس سختافزاری و نرمافزاری که به شما کمک میکنه تا چرخه عمر نرمافزار رو بهتر مدیریت و تجربه کنید. مثلا:
پلتفرم مناسب برای مستندسازی که جستجوی خوب، نسخهبندی، امکانات امنیتی، کامپلاینس، پشتیبانی از نمودار (بهصورت کد، نه صرفاً تصویر)، و کوئری پویا از سورسکد یا سیستم مدیریت پروژه رو فراهم کنه.
یا سرور/سرویس Version Control و CI/CD درست و حسابی (منظورم TFS 2012 اونم به صورت شلخته نیست)
یا ابزارهای مدرن نظارت (منظورم observability است نه monitoring)
یا سرویس Secret Manager (منظورم KeePass نیست طبیعتا)
یا...
۲: فرایند:
از ابتدای چرخه، چه توسط تیم بومی، چه توسط پیمانکار، و چه بهصورت خریداری محصول؛ باید فرایند داشت. فرایند برای استفاده از ابزارها، برای مستندسازی، برای نگهداشت اطلاعات محرمانه، برای نظارت و بازبینی روالها، حتی برای اینکه چجوری و با چه تناوبی تغییر ورژن کتابخونهها و ابزارها، آسیبپذیریها، تغییر لایسنسها و غیره رو مطلع شیم و در موردشون تصمیم بگیریم. یا اینکه طی چه فرایندی و توسط کی، تضمین کنیم که فرایندها در طول زمان، فراموش یا ناکارآمد نشن. اینها همه و همه فرایندهایی هستن که تدوین و جا انداختنشون هزینه و زمان نیاز داره.
همچنین دانش مورد نیاز برای تدوینشون بارها پیچیدهتر از یاد گرفتن سینتکس فلان زبانه و گاها گرونتر! چون باید متناسب با بضاعت و استعداد سازمان انجام بشه؛ چون گاها حرف و عمل مدیران و کارشناسان سازمانها در التزام به فرایندهای جدید، یکی نیست و یا مقاومتهای مرئی و نامرئی زیادی تجربه خواهیم کرد.
۳: فرهنگ:
ابزار و فرایند، قابل خریداری و استقرار هستن؛ اما موفقیت اونها منوط به پذیرش و التزام عملی تیم است. تجربه نشون میده که بدون فرهنگ مناسب، بهترین ابزارها هم در عمل نادیده گرفته میشن؛ و بهترین فرایندها به حاشیه رانده میرن.
فرهنگسازی، حتی از تدوین و استقرار فرایند هم سختتره! فرهنگ نیروی انسانی و فرهنگ سازمانی چیزی نیست که یک شبه به دست بیاد، محصول قابل خریداری و استقرار سریع نیست!
فرق سازمان با جامعه اینه که شما در جامعه وقت، زیاد داری! بین رنسانس تا انقلاب صنعتی چند قرن زمان برد، ولی یک سازمان چند قرن یا چند سال زمان نداره! حساب دو دو تا چهار تا است؛ دیر بجنبی زیانده و ورشکسته میشی. حتی اگر دولتی باشی، به خودت میای و میبینی ۲,۲۴۵,۶۲۳ نفر کارمند داری که راهی جز تعدیل و جایگزینی درصد بسیار بالایی از اونها نداری... و دلیل اصلیش: «فرهنگ نیروی انسانی» است
همونطور که در ادبیات Enterprise Architecture اومده "Culture Ensures Sustainability" فرهنگ، پایداری رو تضمین میکنه. حالا فرهنگ مهندسی در اینجا به معنی ترکیب سه عامل است:
۱. شایستگی فنی (Technical Competence):
تسلط بر معماری، الگوهای طراحی، و...
۲. تعهد به فرایند (Process Commitment):
پایبندی به code review، testing، و documentation
۳. مهارت در ابزار (Tool Proficiency):
استفاده مؤثر از CI/CD، و observability tools
بعضی گزارشهای McKinsey میگن حدود ۷۰٪ پروژههای تحول دیجیتال، به دلایل فرهنگی و سازمانی شکست میخورن. تجربه شخصی من در ایران این عدد رو حتی بالاتر، و حدود۹۰٪ نشون میده.
تغییر فرهنگ، کندترین و حیاتیترین بخش transformation است و نیازمند ۳-۵ سال زمان، تعهد مدیریت ارشد، و گاهی جایگزینی تدریجی ۲۰-۴۰٪ نیروی انسانی است.
به فرض، اگر فردا تحریم برداشته بشه، فلان شرکتِ استارتاپی دیروز که امروز نسبتا بالغ شده، شاید خیلی زود بتونه از سرویسهای متنوع کلادی بهره بگیره و پرسنلش کاراتر عمل کنن. ولی فلان سازمان دولتی تا سالها درگیر انواع مقاومتها و مباحثات زمانبر درباره تغییرات هرچند ساده است. پس ابزار، مولفهی سادهتر، فرایند مولفهی دشوار، و فرهنگ رو میتونیم مولفهی حیاتی و بسیار بسیار دشوار برشمریم!
چکیده:
- Tools Provide Acceleration, Not Discipline
- Processes Create Predictability
- Culture Ensures Sustainability
اگر از این مطلب استقبال بشه، در ادامه، موضوعات زیر رو هر کدوم ذیل ۳ مولفهای که در این مقدمه عرض کردم در یک نرمافزار انترپرایز بررسی میکنم:
بخش دوم: الزامات توسعه و نگهداری محصول
بخش سوم: الزامات زیرساخت
بخش چهارم: الزامات امنیت
بخش پنجم: الزامات طراحی و نگهداشت محصول
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13