امروزه بسیاری از پروژه های برنامه نویسی با منطق open source تولید می شوند. یکی از ویژگی های open source بودن این است که برنامه نویس ها از نقاط مختلف جغرافیایی روی پروژه کار می کنند.
یکی از مسائلی که در کار تیمی از راه دور و یا همان دورکاری پیش می آید، هماهنگی سخت بین برنامه نویسان است. فرض کنید که مدیر پروژه چگونه باید سیاست ها را تدوین و به برنامه نویسان ابلاغ کند؟ مدیر فنی چگونه Task ها را به برنامه نویسان Assign کند؟ اگر برنامه نویسی قسمت مورد نظر را نوشت چگونه در هسته ی اصلی کد بنویسد؟ و مسائل دیگری از این دست که یک تیم برنامه نویسی را با چالش های جدی روبه رو می کند.
به همین جهت می خواهیم به بررسی هفت تا از بهترین ابزارهای مشارکت جمعی در پروژه های برنامه نویسی را بررسی و خصوصیات هر کدام را ذکر کنیم:
غالبا، جلسات اعضای تیم زمان بر و بدون ثمر هستند. چرا که افراد شرکت کننده در جلسه فراموش می کنند که دستورالعمل ها و پیشنهاداتشان را با خودشان به جلسه بیاورند، همچنین در حین جلسه معمولا نظراتی رد و بدل می شود که افراد فراموش می کنند آنها تبدیل به یک task کنند و فرد خاصی را مامور انجام آن کنند.
اپلیکیشن Agreedo این مشکلات را حل می کند. با این ابزار ایده ها تبدیل به دستورالعمل می شوند و وارد روال پروژه می شوند. همچنین هر تصمیمی که در حین پروژه گرفته شود، به فرد مورد نظر Assign می شود. تمام این task ها هم مانند task های عادی پروژه قابل پیگیری توسط مدیر پروژه هستند.
این ابزار برای سیستم عامل های Windows, Mac, iOS و Android موجود است و برای تیم های Remote یا همان تیم هایی که در آن دورکاری می کنند بسیار مفید است.
کار با Wunderlist بسیار ساده است، به همین علت هم افراد به راحتی می توانند از آن استفاده کنند و دغدغه ی استفاده ی روزانه از آن را نداشته باشند. همانطور که می دانید پیگیری task ها مهم ترین فاکتور یک تیم سالم است، اما این دلیل نمی شود که باعث شود زمان زیادی از شما در طول روز به این خاطر گرفته شود. منطق بکار رفته در Wunderlist باعث می شود که شما زمان کمتری را به مدیریت task ها بپردازید، چرا که کار با آن بسیار ساده است.
در زیر با تعدادی از این قوانین آشنا شوید:
خیلی سخته که مطلبی را بخواهید به کسی بفهمانید و آن فرد در مقابل شما نباشد. Skitch به شما کمک می کند که این کار را به ساده ترین شکل ممکنه انجام دهید. با کمک این ابزار می توانید یک متن کاملا نشانه گذاری شده را برای یکی دیگر از اعضای تیم بفرستید. مثلا یک متنی بنویسید که در آن از علامت های جهت، اشکال مختلف، ابزار هایلایت و … استفاده کنید.
جدا از اینکه استفاده از این ابزار بسیار ساده است، مطلب دوست داشتنی دیگر در موردش این است که به راحتی می توان اسکرین شات گرفت(command+shift+6)، متن را به سرعت ایمیل کرد (command+shift+m) و یا اینکه آن را تبدیل به فایل عکس نمود (command+e).
نرم افزار Draft دقیقا مانند github عمل می کند، اما با کمی پیچیدگی کمتر. این ابزار به شما کمک می کند که روی فایل های Markdown با افراد مختلف به طور همزمان کار کنید و در نهایت به سادگی از آن خروجی بگیرید به فرمت های PDF، HTML، DOCX و Markdown.
این ابزار بسیار مناسب است برای کار روی اسناد حقوقی و یا مقالاتی که چند نفر همزمان روی آن مشغول کار هستند. غیر از اینکه برنامه نویسان از این ابزار می توانند استفاده های زیادی بکنند، در اصل این ابزار برای استفاده های نویسندگان ابدا شده است.
Dropbox یک سیستم مجازی ذخیره و نگه داری اطلاعات است که تقریبا همه ی ما اسم آن را شنیده ایم و با آن کار می کنیم. نکته ای که در مورد Dropbox شنیدنی است این است که اپلیکیشن های زیادی با استفاده از API می توانند به دراپ باکس متصل شوند و از امکانات آن استفاده کنند. به طور پیش فرض تا ۲ گیگابایت به صورت رایگان می توانید از فضای dropbox استفاده کنید که به ازای دعوت هر یک از دوستانتان به دراپ باکس تا ۲۵۰ مگابایت می توانید فضای رایگان خود را افزایش دهید. البته بیشتر از ۸ گیگابایت نمی توانید به این روش بدست آورید. برای داشتن فضای اضافی تر می بایست پلن های غیر رایگان را انتخاب کنید.
شایان ذکر است که Google Drive تا ۱۵ گیگابایت فضای رایگان را در اختیار کاربران قرار می دهد. البته قابلیت های این دو سیستم با یکدیگر متفاوت است و هر کدام توانایی های خاص خود را دارند.
اپلیکیشن پیام رسانی Slack برای استفاده در ارتباطات تیمی فوق العادست. در واقع این نرم افزار آنقدر جنبه ی fun دارد که همه آن را دوست دارند. بسیاری از تیم های برنامه نویسی که Remote کار می کنند از این اپلیکیشن برای پیام رسانی و ارتباطشان استفاده می کنند. البته بعضی اوقات مدیر پروژه ها به این نتیجه می رسند که این ابزار بیشتر ضرر میرساند تا استفاده. من معتقدم این طرز تفکر از آنجا ناشی می شود که هر ابزاری را می توان درست یا غلط مورد استفاده قرار داد.
قابلیت فوق العاده ی Slack این است که از طریق آن می توانید سایر ابزارهای مورد استفاده در پروژه اتان را نیز کنترل کنید.
اپلیکیشن های زیر می توانند از طریق Slack کنترل شوند:
خود من به شخصه از این اپلیکیشن استفاده های زیادی می کنم. برای من بسیار کاربردی است. در واقع در وقت یک مدیر تیم خیلی صرفه جویی می کند. اما کار این اپلیکیشن چیست؟
zapier می تواند اپلیکیشن های مورد استفاده در یک پروژه را بهم وصل کند. به عنوان مثال فرض کنید که بخشی از تیم شما از Google Drive و بخشی دیگر از Dropbox استفاده می کند. در zapier شما می توانید برای هر کاری یک zap (یک کار خاص) تعریف کنید. در این مثال شما یک zap تعریف می کنید که فایل های ذخیره شده در Google Drive را به Dropbox انتقال دهد و هر زمان هم که این کار را انجام داد، اعضای تیم را از این قضیه مطلع سازد.
بسیاری Zap (دستوالعمل) های دیگر به ذهنتان می رسد که می توانید در zapier مورد استفاده در پروژه اتان تعریف کنید و بهره ی کافی را ببرید. اپلیکیشن Zapier یک رقیب و رفیق دیگر هم دارد که آن را در لینک زیر دنبال کنید. بسیار مفید است.
همکاری از راه دور بسیار سخت است. شما هیچگاه نمی توانید تنها با استفاده از تلفن و پیامک یک تیم برنامه نویسی با آن همه حواشی را مدیریت کنید. ابزارهای ارتباط از راه دور را کامل بشناسید و در پروژه های خود استفاده کنید. هر چه بیشتر اپلیکیشن های قوی و کاربردی را در این زمینه بشناسید، پروژه اتان سریعتر جلو می رود و زودتر به نتیجه می رسید.
امروزه استفاده از ابزارهای مشارکت جمعی نه تنها یک فکر درست بلکه یک ضرورت است. اگر ابزارهای دیگری در این زمینه را می شناسید در قسمت کامنت ها آن را ذکر کنید تا سایرین هم با آن آشنا شوند.