مهندسی چابک نرم‌افزار

مدرس: دکتر رامان رامسین پیش‌نیاز: برنامه‌سازی شی‌گرا (جاوا)
ترم: محل برگزاری: کلاس مجازی
زمان ارائه: یک‌شنبه و سه‌شنبه ۱۵:۰۰ تا ۱۶:۳۰ مشاهده: دریافت لایسنس

از مدیریت سنتی پروژه تا توسعه تدریجی نرم‌افزار و پاسخ سریع به تغییرات

در پروژه‌های نرم‌افزاری، تغییر نیازمندی‌ها اجتناب‌ناپذیر است. اولویت‌های مشتری تغییر می‌کنند، قابلیت‌های جدید به محصول اضافه می‌شوند و تیم توسعه باید بتواند بدون از دست دادن کنترل پروژه، خود را با شرایط جدید هماهنگ کند. روش‌های سنتی مدیریت پروژه همیشه برای مواجهه با این تغییرات کافی نیستند؛ اینجاست که مهندسی چابک نرم‌افزار اهمیت پیدا می‌کند.

در درس مهندسی چابک نرم‌افزار با اصول و روش‌هایی آشنا می‌شوید که به تیم‌های توسعه کمک می‌کنند کار خود را به شکل تدریجی سازمان‌دهی کنند، پیشرفت پروژه را مستمر ارزیابی کنند و در برابر تغییرات، تصمیم‌های مناسب‌تری بگیرند.

این دوره با تمرکز بر دو رویکرد مهم، یعنی Scrum و Disciplined Agile Delivery (DAD)، و همچنین رویه‌های کاربردی چابک، دیدی منسجم از مدیریت و توسعه چابک نرم‌افزار در اختیار شما قرار می‌دهد.

چرا یادگیری مهندسی چابک نرم‌افزار اهمیت دارد؟

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

آشنایی با مهندسی چابک به شما کمک می‌کند درک بهتری از این جنبه‌های توسعه نرم‌افزار پیدا کنید و با روش‌هایی آشنا شوید که برای مدیریت تغییرات، بهبود همکاری تیمی و تحویل تدریجی قابلیت‌های نرم‌افزاری به کار می‌روند.

در این دوره چه خواهید آموخت؟

با گذراندن این درس، با مفاهیم و روش‌هایی آشنا می‌شوید که به شما کمک می‌کنند:

  • اصول و ارزش‌های توسعه چابک را درک کنید و تفاوت آن را با رویکردهای سنتی توسعه نرم‌افزار بشناسید.
  • با چارچوب Scrum و مفاهیم، برنامه‌ریزی و فعالیت‌های تکرارشونده آن آشنا شوید.
  • مراحل و نقش‌های اصلی در چارچوب DAD را بشناسید و با نحوه سازمان‌دهی فرایند تحویل نرم‌افزار آشنا شوید.
  • با روش‌های برنامه‌ریزی و مدیریت کار در تیم‌های نرم‌افزاری آشنا شوید.
  • نقش کانبان (Kanban) را در مدیریت جریان کار و مشاهده وضعیت فعالیت‌ها درک کنید.
  • با رویه‌های کاربردی چابک در مدیریت تیم و طراحی نرم‌افزار آشنا شوید.

این دوره برای چه کسانی مناسب است؟

این درس برای دانشجویان علوم کامپیوتر و مهندسی کامپیوتر، توسعه‌دهندگان نرم‌افزار، اعضای تیم‌های فنی و افرادی مناسب است که می‌خواهند درک بهتری از فرایند توسعه و مدیریت پروژه‌های نرم‌افزاری پیدا کنند.

همچنین برای افرادی که در مسیر حرکت به سمت مسئولیت‌هایی مانند سرپرستی تیم توسعه یا مدیریت پروژه‌های نرم‌افزاری هستند، آشنایی با چارچوب‌ها و اصول چابک می‌تواند زمینه مناسبی برای توسعه دانش حرفه‌ای فراهم کند.

یک گام به سوی مدیریت بهتر پروژه‌های نرم‌افزاری

برای توسعه موفق نرم‌افزار، تنها دانستن اینکه چه چیزی باید ساخته شود کافی نیست؛ باید بدانیم چگونه کار را برنامه‌ریزی کنیم، وظایف را سازمان‌دهی کنیم و با تغییرات کنار بیاییم.

در دوره مهندسی چابک نرم‌افزار میکرومستر شریف، با اصول، چارچوب‌ها و رویه‌هایی آشنا شوید که به شما کمک می‌کنند فرایند توسعه نرم‌افزار را از دیدگاهی منسجم‌تر و حرفه‌ای‌تر بررسی کنید.

سرفصل‌ها

  1. مقدمه و مفاهیم اولیه
    • تاریخچه تکاملی روش‌های چابک، بررسی منشور چابک و اصول چابکی (۱ جلسه)
  2. متدولوژی اسکرام (Scrum)
    • مفاهیم اساسی (۲ جلسه)
    • برنامه‌ریزی سطح بالا (۲ جلسه)
    • فعالیت‌های تکراری (۲ جلسه)
  3. متدولوژی DAD (Disciplined Agile Delivery)
    • چارچوب کلی (۳ جلسه)
    • فرایند (۳ جلسه)
    • نقش‌ها (۳ جلسه)
  4. رویه‌های کاربردی چابک (Agile Practices)
    • مدیریت تیم، طراحی و کانبان (Kanban) (۲ جلسه)

ارزیابی

  • تمرین‌ها: ۶ نمره
  • آزمون پایان دوره: ۱۴ نمره

منابع

  1. K.S. Rubin. Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley, 2012.
  2. K. Schwaber, J. Sutherland. The Scrum Guide. Published online at: https://scrumguides.org/, November 2020 (last visited: 30 April 2024).
  3. S.W. Ambler, M. Lines.Choose Your WoW: A Disciplined Agile Delivery Handbook for Optimizing Your Way of Working. Project Management Institute, 2020.
  4. Agile Alliance. Agile 101: Subway Map to Agile Practices. Published online at: https://www.agilealliance.org/agile101/subway-map-to-agile-practices/, 2023 (visited: 30 April 2024).
  5. H. Kniberg, M. Skarin. Kanban and Scrum: Making the Most of Both. InfoQ, 2009.