استفاده از مفاهیم جدید تولید نرم‌افزار

روند طراحی و توسعه نرم‌افزار طی ده سال گذشته حتی در همین ایران خودمان هم تغییرات زیادی داشته. آن زمان یعنی حدود سال ۷۹ شمسی مردم تازه از شر FoxPro خلاص شده و به دیتابیس‌های مدرن‌تری مثل Access، MS SQL Server و Oracle رو آورده بودند. برنامه‌نویسی در عصر ویندوز راحت‌تر و منظم‌تر شده بود. …

‫ALM چیست؟

ALM یا Application Lofecycle Management به طور اختصار یعنی مدیریت فرایند تولید نرم‌افزار با استفاده از ابزارهای کار تیمی مثل Source Control، Issue Tracking، Build Automation و… در واقع با کمک ALM کلیه امور مربوط به توسعه نرم‌افزار در یک تیم تولید نرم‌افزار به طور یکپارچه مدیریت و هدایت می‌شود. در اینجا منظور از امور …

‫ کتاب Scrum and XP from the Trenches

اگر می‌خواهید اسکرام یاد بگیرید و پروژه‌هایتان را با روش اسکرام مدیریت کنید، اگر می‌خواهید در تولید نرم‌افزار از روش‌های جذاب XP استفاده کنید و اگر نمی‌خواهید درگیر مسائل تئوری شوید و می‌خواهید مستقیماً از روش اسکرام استفاده کنید، یک منبع خوب وجود دارد: خواندن و به کار بردن کتاب Scrum and XP from the …

ضد برنامه‌نویس

یکی از مشکلاتی که همیشه در کار نرم‌افزار وجود داشته تعریف افراد از حرفه برنامه‌نویس/توسعه‌دهنده است. به عنوان مثال به سناریوهای زیر دقت کنید: ۱- فلانی خدای C است و همه برنامه‌هایش را با C می‌نویسد حتی برنامه‌های تحت وبش را —> هر کاری ابزار مخصوص به خودش را لازم دارد. هیچ لزومی ندارد برای …

خداحافظ فراکنش

الان تقریباً شش هفته است که از شرکت فراکنش به یک شرکت جدید منتقل شده‌ام. سه سال و نیم پیش با یک آگهی یک و نیم در سه سانتی نیازمندی‌های همشهری به فراکنش راه پیدا کرده بودم. در طول این مدت فراکنش چیزهای زیادی به من یاد داد که اگر در یک شرکت معمولی بودم …

گاو و مرغ

صبح یک روز بهاری یک مرغ و یک گاو در مزرعه‌ای در کنار هم راه می‌رفتند. مرغ به گاو گفت بیا با هم یک رستوران راه بیندازیم. گاو گفت باشه ولی اسمشو چی بذاریم؟ مرغ گفت اسمشو بزاریم رستوران «کباب و نیمرو». گاو گفت: نه من موافق نیستم. چون من باید از جونم بگذارم تا …

‫Agile و استفاده از آن

اگر بخواهیم Agile را خیلی ساده و بدون استفاده از لغات دقیق و فنی و مرزبندی‌های مربوطه تعریف کنیم، آن وقت Agile یعنی یک نوع روش تولید نرم‌افزار که در آن عمده توجه به انعطاف‌پذیری تیم تولید در پذیرش تغییرات مداوم نیازمندی‌های اولیه نرم‌افزار است. این انعطاف‌پذیری در اثر iterative و incremental بودن این روش …

‫lazy loading در NHibernate

lazy loading از آن قابلیت‌های جالبی است که همه دوست دارند آن را در برنامه خود داشته باشند. با کمک lazy loading که تقریباً همه ORMها آن را پیاده‌سازی کرده‌اند می‌توان بازیافت اطلاعات از دیتابیس را تا حداکثر زمان ممکن به تعویق انداخت. مثلاً فرض کنید آبجکتی به اسم obj1 دارای یک property به نام …