این مقاله شامل فایلهای تکمیلی برای دانلود است. برای دانلود لازم است که عضو کار و کسب باشید. در صورت داشتن اشتراک، لینک دانلود برای شما ظاهر خواهد شد. اگر عضو نیستید میتوانید
هماکنون عضو شوید.
این مقاله دارای
نسخه PDF انگلیسی است. جهت دسترسی به لینک دانلود نسخه انگلیسی
هماکنون عضو شوید.
درباره نویسنده
میگل گرینبرگ، ساکن ایرلند و دارای سالها سابقه مدیریت تیمهای توسعه نرمافزاری است. وی در این مقاله مهم و پرطرفدار، به خوانشی بسیار ساده و قابل اجرا از مدیریت پروژه رسیده است که برای هر تیم نرمافزاری میتواند بسیار مفید باشد.
خلاصه مطلب
- در این مقاله میگن گرینبرگ با تکیه بر سالها تجربه مدیریت و اجرای پروژههای نرمافزاری با استفاده از ایدههای اصلی مدیریت پروژه (Agile) روشی بسیار ساده و کاربردی ارائه میدهد.
من پروژههای شخصی زیادی را با مدیریت پروژه، در کنار شغل خود انجام دادهام. نیمه شبها و حتی در تعطیلات آخر هفتهها نیز کار کردهام. اما نکته این است که من برای چند روز یا چند هفته روی این پروژهها کار کرده و سپس علاقه خود را از دست داده و یا خسته میشوم. تنها در چند پروژه موفق شدم آن را از شکل گیری ایده تا اتمام پروژه مدیریت کنم. تنها در یک نگاه کوچکتر، من توانستم محصولی را که مردم میخواستند استفاده کنند، و حتی برای آن پولی پرداخت کردند به اتمام برسانم.
من اعتقاد دارم که از تمام پروژههایی که شروع کردم، پروژههایی را که توانستم تکمیل کرده و به اتمام برسانم، آنهایی بودند که آنها را جدی گرفته و شروع به ایجاد برنامه و مدیریت زمان خود کردم.
برای من، اینکه مدام مجبور باشم که در رابطه با آنچه که در مرحله بعد به عنوان اتمام وظیفهام باید انجام دهم، تصمیم گیری کنم، موجب میشود که از انجام پروژه لذت نبرده و آن را رها کنم. من متوجه شده ام که اگر به همان اندازه که در برنامه ریزی و تصمیم گیریها تعیین شده است، کار کنم میتوانم پیشرفت کنم بنابراین تکمیل پروژه برایم آسان تر میشود. در این صورت احساس میکنم که در واقع شخص دیگری بخشهایی از کار را انجام میدهدو فقط پروژه نیاز به تکمیل دارد، بنابراین میتوانم چیزهای سرگرم کننده را انجام دهم. وقتی یک کار را تمام کردم، تنها یکی دیگر را از این لیستها انتخاب کرده و انجام میدهم بدون اینکه خیلی در موردش فکر کنم. خندهدار است که ذهن چگونه کار میکند.
جنبه ی دیگری را نیز باید در نظر گرفت. برای بسیاری از پروژهها پایان مشخصی وجود ندارد. این تقریبا برای مدیریت پروژه تمام پروژههای نرمافرازی وجود دارد. هنگامیکه یک پروژه نرم افزاری موفق میشود، حتی اگر شما توانستید مدیریت خوبی داشته باشید، افرادی که از آن استفاده میکنند، و درخواست ایجاد ویژگیهای جدید و ایجاد نسخه ۲٫۰ را دارند، وجود خواهند داشت. اگر یک پروژه به این مرحله برسد، کاربران همیشه شروع به پرسیدن سوالاتی میکنند که در نگاه اول ساده به نظر میرسد، اما تیمهای کوچک یا توسعه دهندگان مستقل، زمان زیادی را برای پاسخدهی در نظر خواهند گرفت: «چه زمانی یک ویژگی دلخواه کاربران در دسترس قرار خواهد گرفت؟»
از این سوال متنفر هستم. خوب بالاخره، من در پروژههایی کارمیکنم که برایم سرگرمکننده هستند. این حقیقت که یک پروژه شخصی بزرگ شده و تبدیل به یک محصول واقعی میشود که یک منبع درآمد اضافی برای من تولید میکند، بیاهمیت است، من باید هر روز در محل کار به این سوال پاسخ دهم. افرادی هستند که خود را به عنوان کاربران محصول من مینامند.
در اینجا استفاده از تکنیکهای ساده مدیریت پروژه به ما کمک میکند. در گذشته من به این سوال پاسخهای صریح میدادم یا به راحتی در مورد آنها دروغ میگفتم. داشتن یک برنامه به شما کمک میکند تا پاسخهایی نزدیک به واقعیت داشته باشید.
بنابراین ممکن است شما بپرسید که مدیریت پروژه چیست؟
در واقع چیز زیادی نیست. شما میتوانید پروژه خود و زمان خود را با اکسل یا Google Docs مدیریت کنید.
شروع مدیریت پروژه آسان
اگر میخواهید ساده ترین رویکرد را اجرا کنید، میتوانید پروژه خود را فقط با ایجاد فهرست وظایفی که باید آنها انجام دهید مدیریت کنید و وظایف انجام شده و کارهایی که هنوز کامل نشده اند را پیگیری کنید. هنگامیکه کاری را انجام میدهید، آن را فقط از لیست حذف کنید و سپس برای ادامه کار دیگری را دنبال کنید. اگر در هر زمانی متوجه شدید که کاری را از قلم انداخته اید، بلافاصله به لیست خود رجوع کرده و قبل از اینکه آن را فراموش کنید، آن را اضافه کنید. قلم و کاغذ همه چیزهایی است که برای این کار نیاز دارید.
من شروع به پیگیری پروژههای خود با روش قلم و کاغذی که در بالا توضیح داده شد، کردم اما در طول زمان، روش خود را تکامل و تصحیح کردم. در حال حاضر از سیستمی استفاده میکنم که برخی از ایدهها را از متدلوژی تفکر چابک (Agile) میگیرد. حتی اگر این ایدهها از دنیای نرم افزاری باشد، آنها واقعا میتوانند به هر نوع پروژه اعمال شوند.
روش فعلی مورد استفاده ی من بسیار ساده است و میتوان آن را در یک صفحه گسترده اجرا کرد.
بک لاگ
بک لاگ شامل لیست وظایفی است که برای تکمیل پروژه خود نیاز است که آنها راانجام دهید، و همچنین شامل اطلاعاتی مربوط به آن وظایف است.
نمونه بک لاگدر صفحه گسترده مثال، مطمئن شوید که بر روی منوی بک لاگ در پایین سمت چپ کلیک کنید اگر آن برگه فعلی نیست. برای این مثال، من سه گروه کاری را با ۱۰ وظیفه توزیع شده در میان آنها تعریف کردم.
ستونهایی که در جدول بک لاگ داریم:
وظایف: این ستون ساده است، فقط شامل یک توضیح کوتاه برای هر کار است.
- ستون انتشار (Release): ستون Release شامل یک تک توضیح برای هرکار است که این برای من بسیار مفید است چراکه در بیشتر مواقع بیشترایدههایی که من برای پروژه خود دارم، کارهایی نیست که بخواهم بلافاصله انجام دهم، بلکه بیشتر تفکراتی برای پیشرفت در آینده است. داشتن برنامه ریزی برای دو یا سه انتشار در بک لاگ اجازه میدهد که این ایدهها را برای آینده دنبال کنند.
- شما میتوانید از هر متن برای نشان دادن یک Release استفاده کنید. در مثال من از «بتا»، «۱٫۰» و «۲٫۰» استفاده میکنم، اما شما میتوانید از هر برچسبهایی که دوست دارید استفاده کنید. همانطور که وظایف خود را به بک لاگ خود اضافه میکنید، انتشاری را انتخاب کنید که درک بیشتری از آن دارید.
- برآورد (ساعت): برآورد وظیفه بخش بسیار مهمی از اطلاعاتی است که برای پاسخ به سوالاتی از نوع “چه زمانی کار انجام میشود؟” استفاده میشود. شما باید حدس بزنید که چقدر طول میکشد که کاری را انجام دهید. ابتدا شاید ارزیابی دقیق آن دشوار شود، اما هرچه بیشتر آن را انجام دهید بهتر میتوانید به آن برسید. من دوست دارم تخمینهای خود را یر اساس ساعت کاری بنویسم اما شما میتوانید از هر واحد زمانی استفاده کنید. مهم است که برآوردها بدون در نظر گرفتن چیزهایی مانند چند ساعت دریک روز کار میکنید یا برنامه تعطیلات شما، در یک خط زمانی باشند.
اگر یک کار بسیار پیچیده است که شما برای اتمام آن زمان بسیار بزرگی را برآورد میکنید یا شاید حتی نمیتوانید حتی یک زمان را تخمن بزنید، این نشان میدهد که این کار باید به بخشهای کوچکتر تقسیم شود.
در این حوزه پیشنهاد میکنیم صفحه دوره مدیریت پروژه چابک Agile را هم ببینید.
من متوجه شدم که برآورد دقیق تر زمانی را در وظایف کوتاه مدت میتوان انجام داد. در عمل، فکر کنم هر کاری را که بیش از یک هفته برای تکمیل آن زمان نیاز دارد، وظایفی است که باید به بخشهای تقسیم شود. به عنوان مثال، اگر تقریبا ۱۶ ساعت در هفته به پروژه خود اختصاص دهید، باید وظایف خود را طوری تقسیم بندی کنید که همه آنها برآورد زمانی ۱۶ ساعت یا کمتر داشته باشند.