מי מנהל פרויקטים עם מערכת לניהול פרויקטים?
מאת זהר ארד 26 בספטמבר 2010. 16 תגובות. שייך לקטגוריות היי-טק ו-IT, תוכנה
זה אולי נשמע בנאלי אבל פרוייקט שמנוהל גרוע, נדון כמעט מראש לכישלון. לא משנה כמה הרעיון טוב וכמה האנשים מוכשרים, ניהול גרוע משמעותו אי עמידה בזמנים או ביעדים, חוסר תיאום בין חברי הפרוייקט, תקשורת לקוייה, ציפיות שונות ואווירת תוהו כללית נוסח בבל. זהר ארד ממליץ לכם על כמה מערכות שונות לניהול פרויקטים שיעשו לכם קצת סדר בחיים.
זה אולי נשמע בנאלי אבל פרוייקט שמנוהל גרוע, נדון כמעט מראש לכישלון. לא משנה כמה הרעיון טוב וכמה האנשים מוכשרים, ניהול גרוע משמעותו אי עמידה בזמנים או ביעדים, חוסר תיאום בין חברי הפרוייקט, תקשורת לקוייה, ציפיות שונות ואווירת תוהו כללית נוסח בבל.
שלושת המרכיבים של פרוייקט מצליח הם רעיון טוב, אנשים מוכשרים וניהול נכון. בהנחה ששני התנאים הראשונים התמלאו, נשארת סוגיית הניהול. כאשר מדובר בפרוייקט בו מעורבים מעט אנשים, בדרך כלל אמצעי הניהול הבסיסיים (קרי, מייל, מסנג'ר ושירות שליחים של פיצה), מספיקים כדי לוודא שכל הנוגעים בדבר מתואמים ומכוונים לאותה מטרה. מאידך, אם הייתם פעם חלק מפרוייקט בו מעורבים מספר רב יותר של אנשים מתחומים מגוונים (מעצבים, מנהלי מוצר, מתכנתים, שליחי פיצה ואחד אלוהינו), מן הסתם השתמשתם בכלי כלשהו לניהול פרוייקטים.
אז איזה כלי ניהול פרוייקטים מתאים לכם?
ובכן, בהנחה שמדובר בפרוייקט טכנולוגי (אנחנו גיקים אחרי הכל), בראש ובראשונה עליכם להפנים את מושג שיתוף הפעולה כפי שהוא בא לידי ביטוי בעולם פיתוח העכשווי (בניגוד לפרק המצויין של "רחוב סומסום"). שיתוף פעולה (או Collaboration בלעז), מתייחס לאופן או תהליך עבודה בו קבוצת אנשים חולקת את אותם משאבים בצורה הדדית ובונה, כאשר כל חבר בקבוצה תורם מידעו ממרצו לטובת הכלל. למרות ההקשר הקיבוצי, הדוגמאות הטובות ביותר לשיתוף מסוג זה הן פרוייקט ליבת הלינוקס, מוזילה וויקיפדיה.
לכן, הכלי הראשון שעליכם לאמץ ככלי ניהול פרוייקטים הוא מנהל קוד מבוזר (Distributed Source Control Manager). למרימי הגבה אמהר ואזכיר שגם קבצי פוטושופ ניתן לנהל באמצעות מנהלי קוד, ולכן צוות העיצוב אינו פטור מהשימוש בכלי זה, למרות חסם הכניסה הגבוה לכאורה. הסיבה שמנהלי קוד מבוזרים מומלצים היא מכיוון שהם תוכננו מראש לתמוך בתהליכי עבודה, בהם לא כל חברי הפרוייקט נמצאים פיזית באותו מקום ולכן מציעים גמישות רבה יותר במצבים בהם מספר אנשים רב יותר צריך לשתף פעולה תוך עבודה עם משאבים משותפים.
לאחר שנמנעתם מדריכה על אצבעות חבריכם לפרוייקט בהצלחה ע"י אימוץ מנהל קוד מבוזר, הגיע הזמן לחשוב קדימה ולבחור כלי לניהול לוחות זמנים, יעדים, גירסאות, מוצרים, באגים ושאר מחמלי ליבם של מנהלי הפרוייקטים שכל תפקידם הוא לנווט את עדר חברי הפרוייקט לעבר המטרה הנכספת. כמובן, שעולמנו היה משעמם משהו אם היה לנו רק כלי ניהול פרוייקטים אחד לבחור בו ולכן עלינו להגדיר את צרכינו לפני שנוכל לבחור בכלי מתאים. ממגוון הכלים העצום הזמין לכל דורש, בחרתי להתמקד בשלוש קבוצות שונות של כלי ניהול פרוייקטים, כאשר בכל קבוצה אביא בפניכם את הכלים הבולטים.
אחסון קוד מבוזר
שירותי אחסון קוד הם, כפי שמשתמע משמם, מערכות מקוונות המאפשרות לאכסן ולשתף קוד באמצעות אחד ממנהלי הקוד הנפוצים. בקבוצה זו חברים בין השאר
- GitHub התומך ב Git וב SVN
- BitBucket התומך ב Mercurial
- GoogleCode התומך ב Mercurial וב SVN
- LaunchPad התומך ב Bazzar
כל הכלים הללו מאפשרים אחסון ושיתוף קבצים, ניהול מסמכים באמצעות ויקי, ניהול גרסאות ובאגים, ומציעים הן שירותים בחינם והן בתשלום. היתרונות הבולטים במשפחת כלים זו הם עלות ורף כניסה נמוכים הכרוכים פתיחת חשבון באתר נותן השירות בלבד. כלים אלו מתאימים בדר"כ לפרוייקטים קטנים שאינם זקוקים לכלי ניהול זמן ויעדים וכן לפרוייקטים המושתתים על תרבות הקוד הפתוח או פרוייקטים בהן הקוד נגיש לציבור.
שירותי ניהול פרויקטים מקוונים
הכלים בקבוצה זה הם למעשה הכלים המשלימים לשירותי אחסון הקוד המקוונים. בעוד שמנהלי הקוד המקוונים מתרכזים במתן כלים למפתחים, שירותי ניהול הפרוייקטים המקוונים מתמקדים במתן כלים מתאימים למנהלי הפרוייקטים שנועדו לסייע ולייעל את תהליכי ניהול המשאבים והאנשים ולא את ניהול קוד הפרוייקט.
שלושה חברים בולטים בקבוצה זו הם BaseCamp, ZohoProject ו LightHouse אשר נותנים סל שירותים דומה הכולל, בין השאר, ניהול גרסאות ואבני-דרך, לוחות שנה, ניהול משימות ובאגים, אמצעי תקשורת עם חברי הפרוייקט במייל ובצ'אט, דוחות, וניהול קבצים. בנוסף, BaseCamp ו LightHouse מספקים שלל יישומים לניידים המאפשרים גישה ושימוש במערכת הניהול "תוך כדי תנועה".
BaseCamp מתבלטת בכך שהיא מציעה סל עשיר של יישומים חיצוניים המאפשרים להרחיב את חבילת השירות הבסיסית לפי הצורך.
ZohoProject מתבלטת במתן חבילה בסיסית ללא עלות, מערכת ניהול פגישות עבודה והתממשקות מלאה ל GoogleApps.
LightHouse מתבלטת במתן שירותי אינטגרציה בסיסיים עם מערכות ניהול הקוד הנפוצות באופן המאפשר לקשר בין תיקונים בקוד למשימות ובאגים במערכת הניהול וממשק עבודה מול מערכות אכסון קוד מבוזר אחרות כמו GitHub ו Beanstalk.
שלושת המערכות טובות וראויות, ולכן יש להניח שבחירתכם במערכת אחת תהיה על בסיס העדפה אישית או צורך ספציפי. לי כמובן שמורה פינה חמה בלב ל BaseCamp שהם ההורים של Ruby on Rails אך מכיוון שכל השלוש מציעות אפשרות להתנסות במערכת ללא תשלום, הדרך הטובה ביותר להחליט היא פשוט לנסות ולהווכח.
מערכות באחסון עצמי
הקבוצה השלישית היא קבוצה של מערכות מקוונות המשלבות בין שירותי אחסון הקוד דוגמת GitHub ושירותי ניהול הפרוייקטים דוגמת BaseCamp. ההבדל העיקרי בין מערכות אלו למערכות שנסקרו לעיל הוא שמערכות אלו מצריכות התקנה על שרת ייעודי מאחר שהן למעשה יישום אינטרנטי לכל דבר.
שתי המערכות הבולטות בקבוצה זו הן Trac ו Redmine, כאשר, כראוי לכל קרב נפילים, הראשונה כתובה בפייתון והשנייה ברובי (ריילס למעשה). הן Trac והן Redmine טובות וראויות ומספקות, בנוסף להתממשקות מצויינת עם מנהל הקוד החביב עליכם (כן, גם SVN), יכולות ניהול זמנים, משימות, באגים, מסמכי ויקי, משתמשים, דוחות, תוספים והתממשקות עם תשתית Mylyn לאלו מכם שעובדים ב Eclipse. הן Redmine והן Trac מתאימות למצבים בהם צרכי הפרוייקט כוללים גם יכולות אכסון קוד מבוזר וגם ניהול פרוייקטים או למצבים בהם יש צורך בפיתרון ארוך טווח בעלות מינימלית (לדוגמה, בחברה ולא בפרוייקט חד-פעמי).
ההעדפה הפרטית שלי בקבוצה זו היא ל Redmine, בגלל הממשק הידידותי וחוויית המשתמש הטובה שלה, גמישותה ואפשרויות ההתאמה האישית שלה לצרכי הפרוייקט ובגלל נוחות התקנת התוספים.
לאלו מכם שאינם שולטים ברזי שורת הפקודה, ניתן להתקין את שתי המערכות דרך הפצת BitNami שהיא למעשה אריזה של כל אחת מהמערכות עם שאר התוכנות הדרושות להפעלתה לקובץ התקנה פשוט. אריזה זו מפשטת בהרבה את תהליך ההתקנה ותאפשר לכם לבדוק את המערכות הללו במאמץ מינימלי.
סיכום
ההמלצה הראשונה שלי, כפי שציינתי מוקדם יותר, היא לאמץ תהליך עבודה מבוסס מנהל קוד מבוזר, כתנאי להתחלת פרוייקט של יותר משני אנשים. מעבר לכך, השיקול הראשון, לדעתי, הוא כלכלי ולכן בפרוייקטים קטנים הייתי ממליץ לבחור באחד משירותי אחסון הקוד המבוזרים, או בהתקנת מערכת באחסון אישי (Redmine / Trac), בהנחה שיש גורם טכנולוגי בפרוייקט שיכול להרים מערכת כזו בקלות ובמהירות. את שירותי הניהול המקוונים הייתי שומר למצבים בהם צרכן השירותים העיקרי הוא מנהל הפרוייקט והסובבים אותו, ולא חבר המתכנתים התורן ומתוכם הייתי בוחר ב-LightHouse בגלל גחמה אישית שקשורה בממשקים עדינים, פשוטים וכחלחלים.
המסקנה היחידה אליה הגעתי בשנותי כמתכנת היא שמערכת לניהול פרוייקטים היא לא אופציה אלא צורך מהותי, ולכן, כל שנותר לכם, הוא לבחור ולהצליח.
מעבר לכך, פוסט נהדר. המידע מקיף, ומעבר להצגת המוצרים, הוא מציג גם את השיקולים ל"מדוע לבחור בהם", וזה אדיר בעיניי. כל הכבוד.
בנוסף, TFS הוא פיתרון צמוד-סביבה ולא ניתן לעבוד עליו בנוחות מחוץ לסביבת חלונות או לממשק אותו לכלים שאינם מבוססי חלונות בקלות. זהו לדעתי שיקול נוסף שפוסל אותו מלהיות כלי ניהול מתאים לפרוייקטים מבוססי Web ומרובי משתמשים.
פליקס, צר לי לשמוע שחסם הכניסה למערכות הללו הוא דווקא העברית. במידה ולא בדקת, ל Redmine יש תמיכה מלאה בעברית הן ברמת המערכת הכללית והן ברמת המשתמש (כלומר אתה יכול להגדיר שפה כללית למערכת ושפה לכל משתמש).
אם התרגום העברי של Redmine לא מספיק לצרכיך, אני בטוח שתוכל בהשקעה לא גדולה של זמן ליצור תרגום חליפי ולהנות ממערכת מצויינת.
בהצלחה
היא אמנם אינה בחינם, אבל מאוד טובה, מנסיון.
וכמובן גם אתר כמו GitHub, שתמורת תשלום מינימאלי, תוכלו לשדרג את פיתוח התוכנה שלכם בכמה וכמה רמות, לא רק בגלל האתר והאפשרויות שלו, גם בגלל השימוש בסורס קונטרול, git.
איך זה שבאף אחד מהכלים האלה אין ניהול דרישות?
תוכנת ניהול פרוייקטים כפי שאני מכיר אותה מכילה כלי עזר לניהול אנשים ומשימות מחד וניהול ידע וקוד מקור מאידך.
כלים לא זולים אבל נחשבים לליגת העל בתחומם.
מתאים לגורילות כמו אמדוקס וקומברס
אפשר לקחת כלי בינוני, וע"י ההטמעה/התאמה, להפוך אותו למצויין לארגון.
אפשר לקחת כלי מצויין, אבל ההטמעה/התאמה, או החוסר בהם, יגרמו לו להיות בינוני או גרוע.
אני בהחלט חושב שכדאי לעבוד על מערכת ניהול פרויקטים שמסדרת
את הכל מול העובדים והצוותים , זה פשוט מפשט הכל.
העלויות ביין האיחסון העצמי למקוון הן שונות מאד ולכן חשוב לציין את זה.
תודה רבה ( :
שרון
ניהול פרויקטים