מי מנהל פרויקטים עם מערכת לניהול פרויקטים?

מאת זהר ארד 26 בספטמבר 2010. 16 תגובות. שייך לקטגוריות היי-טק ו-IT, תוכנה

זה אולי נשמע בנאלי אבל פרוייקט שמנוהל גרוע, נדון כמעט מראש לכישלון. לא משנה כמה הרעיון טוב וכמה האנשים מוכשרים, ניהול גרוע משמעותו אי עמידה בזמנים או ביעדים, חוסר תיאום בין חברי הפרוייקט, תקשורת לקוייה, ציפיות שונות ואווירת תוהו כללית נוסח בבל. זהר ארד ממליץ לכם על כמה מערכות שונות לניהול פרויקטים שיעשו לכם קצת סדר בחיים.

זה אולי נשמע בנאלי אבל פרוייקט שמנוהל גרוע, נדון כמעט מראש לכישלון. לא משנה כמה הרעיון טוב וכמה האנשים מוכשרים, ניהול גרוע משמעותו אי עמידה בזמנים או ביעדים, חוסר תיאום בין חברי הפרוייקט, תקשורת לקוייה, ציפיות שונות ואווירת תוהו כללית נוסח בבל.

שלושת המרכיבים של פרוייקט מצליח הם רעיון טוב, אנשים מוכשרים וניהול נכון. בהנחה ששני התנאים הראשונים התמלאו, נשארת סוגיית הניהול. כאשר מדובר בפרוייקט בו מעורבים מעט אנשים, בדרך כלל אמצעי הניהול הבסיסיים (קרי, מייל, מסנג'ר ושירות שליחים של פיצה), מספיקים כדי לוודא שכל הנוגעים בדבר מתואמים ומכוונים לאותה מטרה. מאידך, אם הייתם פעם חלק מפרוייקט בו מעורבים מספר רב יותר של אנשים מתחומים מגוונים (מעצבים, מנהלי מוצר, מתכנתים, שליחי פיצה ואחד אלוהינו), מן הסתם השתמשתם בכלי כלשהו לניהול פרוייקטים.

אז איזה כלי ניהול פרוייקטים מתאים לכם?

ובכן, בהנחה שמדובר בפרוייקט טכנולוגי (אנחנו גיקים אחרי הכל), בראש ובראשונה עליכם להפנים את מושג שיתוף הפעולה כפי שהוא בא לידי ביטוי בעולם פיתוח העכשווי (בניגוד לפרק המצויין של "רחוב סומסום"). שיתוף פעולה (או Collaboration בלעז), מתייחס לאופן או תהליך עבודה בו קבוצת אנשים חולקת את אותם משאבים בצורה הדדית ובונה, כאשר כל חבר בקבוצה תורם מידעו ממרצו לטובת הכלל. למרות ההקשר הקיבוצי, הדוגמאות הטובות ביותר לשיתוף מסוג זה הן פרוייקט ליבת הלינוקס, מוזילה וויקיפדיה.

לכן, הכלי הראשון שעליכם לאמץ ככלי ניהול פרוייקטים הוא מנהל קוד מבוזר (Distributed Source Control Manager). למרימי הגבה אמהר ואזכיר שגם קבצי פוטושופ ניתן לנהל באמצעות מנהלי קוד, ולכן צוות העיצוב אינו פטור מהשימוש בכלי זה, למרות חסם הכניסה הגבוה לכאורה. הסיבה שמנהלי קוד מבוזרים מומלצים היא מכיוון שהם תוכננו מראש לתמוך בתהליכי עבודה, בהם לא כל חברי הפרוייקט נמצאים פיזית באותו מקום ולכן מציעים גמישות רבה יותר במצבים בהם מספר אנשים רב יותר צריך לשתף פעולה תוך עבודה עם משאבים משותפים.

לאחר שנמנעתם מדריכה על אצבעות חבריכם לפרוייקט בהצלחה ע"י אימוץ מנהל קוד מבוזר, הגיע הזמן לחשוב קדימה ולבחור כלי לניהול לוחות זמנים, יעדים, גירסאות, מוצרים, באגים ושאר מחמלי ליבם של מנהלי הפרוייקטים שכל תפקידם הוא לנווט את עדר חברי הפרוייקט לעבר המטרה הנכספת. כמובן, שעולמנו היה משעמם משהו אם היה לנו רק כלי ניהול פרוייקטים אחד לבחור בו ולכן עלינו להגדיר את צרכינו לפני שנוכל לבחור בכלי מתאים. ממגוון הכלים העצום הזמין לכל דורש, בחרתי להתמקד בשלוש קבוצות שונות של כלי ניהול פרוייקטים, כאשר בכל קבוצה אביא בפניכם את הכלים הבולטים.

אחסון קוד מבוזר

שירותי אחסון קוד הם, כפי שמשתמע משמם, מערכות מקוונות המאפשרות לאכסן ולשתף קוד באמצעות אחד ממנהלי הקוד הנפוצים. בקבוצה זו חברים בין השאר

כל הכלים הללו מאפשרים אחסון ושיתוף קבצים, ניהול מסמכים באמצעות ויקי, ניהול גרסאות ובאגים, ומציעים הן שירותים בחינם והן בתשלום. היתרונות הבולטים במשפחת כלים זו הם עלות ורף כניסה נמוכים הכרוכים פתיחת חשבון באתר נותן השירות בלבד. כלים אלו מתאימים בדר"כ לפרוייקטים קטנים שאינם זקוקים לכלי ניהול זמן ויעדים וכן לפרוייקטים המושתתים על תרבות הקוד הפתוח או פרוייקטים בהן הקוד נגיש לציבור.

שירותי ניהול פרויקטים מקוונים

הכלים בקבוצה זה הם למעשה הכלים המשלימים לשירותי אחסון הקוד המקוונים. בעוד שמנהלי הקוד המקוונים מתרכזים במתן כלים למפתחים, שירותי ניהול הפרוייקטים המקוונים מתמקדים במתן כלים מתאימים למנהלי הפרוייקטים שנועדו לסייע ולייעל את תהליכי ניהול המשאבים והאנשים ולא את ניהול קוד הפרוייקט.

שלושה חברים בולטים בקבוצה זו הם 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 בגלל גחמה אישית שקשורה בממשקים עדינים, פשוטים וכחלחלים.

המסקנה היחידה אליה הגעתי בשנותי כמתכנת היא שמערכת לניהול פרוייקטים היא לא אופציה אלא צורך מהותי, ולכן, כל שנותר לכם, הוא לבחור ולהצליח.

 
 

זהר ארד

בן 35, קיבוצניק שהדרים לעיר הגדולה, מפתח client-side בנשמתו (מטהקפה, קול הקמפוס 106fm ואחרים). משתמש מקינטוש מושבע (שחוטא גם בלינוקס בשעות הפנאי). מעדיף הכל פשוט, מינימליסטי ועובד טוב ומשתדל להמנע מדברים עם הלוגו של מיקרוסופט ונהגי מוניות כעסנים. אוהב הרבה ...

http://www.zohararad.com

פוסטים נוספים של זהר ארד

 

16 תגובות על מי מנהל פרויקטים עם מערכת לניהול פרויקטים?

  1. מאתרן בר-זיק:‏
    פוסט מעולה! הרבה פעמים, במיוחד בקוד פתוח שבו יש מחסור מטורף במנהלים טובים, כל אספקט הניהול מוזנח. ראיתי פרויקטים מעולים שנופלים על ניהול גרוע וראיתי גם פרויקטים גרועים שמצליחים להתרומם (או לפחות להגיע לקו הסיום) עם ניהול טוב.
  2. מאתעידן:‏
    תגידו, לא חסר כאן איזה Team Foundation Server ברשימה? אקסטנסיבילי עם אינטגרציה מצויינת לויז'ואל סטודיו?

    מעבר לכך, פוסט נהדר. המידע מקיף, ומעבר להצגת המוצרים, הוא מציג גם את השיקולים ל"מדוע לבחור בהם", וזה אדיר בעיניי. כל הכבוד.
    • מאתדוד:‏
      עבדתי עם חתיכת התוכנה שהזכרת, ולא היא ממש לא חסרה
  3. מאתזהר:‏
    עידן, השיקול שלי לא לכלול את TFS הוא כפול. ראשית TFS הוא פתרון מאוד יקר ביחס לפתרונות שהצגתי ושנית הוא מבוסס על ניהול קוד מרכזי, שמנסיון אישי עובד בצורה הרבה פחות טובה מהחלופות הזמינות כמו Git ו HG. ל TFS יש בעיות merge עם קבצים בינאריים וחסרונות בטיפול בקונפליקטים שבמנהלי קוד אחרים אין (לפחות לא באותה רמה).

    בנוסף, TFS הוא פיתרון צמוד-סביבה ולא ניתן לעבוד עליו בנוחות מחוץ לסביבת חלונות או לממשק אותו לכלים שאינם מבוססי חלונות בקלות. זהו לדעתי שיקול נוסף שפוסל אותו מלהיות כלי ניהול מתאים לפרוייקטים מבוססי Web ומרובי משתמשים.
  4. מאתפליקס גרצמן:‏
    בתור חברת פיתוח אחרים מה שמאוד חסר הוא כלי ניהול פרוייקטים באינטראקציה עם הלקוח. כל הכלים המוזכרים בפוסט נפסלים כי הם לא תומכי עברית בכלל או ברמה לא מספקת. לשימוש פנימי הם מעולים, אבל זה יוצר כפילות מול הלקוח. ניסינו JIRA, FOGBUGZ ותמיד זה נגמר ממה שהתחיל - עוד אימיילים. כל ההעברות מאימייל למערכת שורף זמן על עבודת מזכירות. מה שמקבלים בסוף הוא אימיילים בין 3-4 אנשים המפוזרים בין מחשבים שונים, קבצים בכל מיני מקומות והכי גרוע - ידע קריטי הקיים רק בראש. מערכת שהלקוח לא יפחד ממנה ובעברית תהיה דבר נפלא.
  5. מאתתום:‏
    זהר, יצא לך להתנסות ב CodeBaseHQ? שמעתי גם עליהם המלצות לא רעות.
  6. מאתזהר:‏
    תום, לא יצא לי לבדוק את CodeBaseHQ למרות שהאתר שלהם נראה מאוד מזמין.

    פליקס, צר לי לשמוע שחסם הכניסה למערכות הללו הוא דווקא העברית. במידה ולא בדקת, ל Redmine יש תמיכה מלאה בעברית הן ברמת המערכת הכללית והן ברמת המשתמש (כלומר אתה יכול להגדיר שפה כללית למערכת ושפה לכל משתמש).

    אם התרגום העברי של Redmine לא מספיק לצרכיך, אני בטוח שתוכל בהשקעה לא גדולה של זמן ליצור תרגום חליפי ולהנות ממערכת מצויינת.
    • מאתפליקס גרצמן:‏
      תודה על ההערה שרדמיין תומך עברית. כשבפעם האחרונה בדקתי את הנושא לפני כשנה רדמיין לא התאים, עכשיו נראה הרבה יותר טוב. עכשיו רק נשאר לראות עם ווינדוס 2008 יריץ את זה. אם הכל ילך טוב, מבטיח מדריך בעברית :)
      • מאתזהר:‏
        לא בטוח כמה יהיה לך קל להריץ רדמיין על חלונות 2008. זו לא מערכת כבדה, כך שכל שרת לינוקס בינוני יספיק לך. אתה אפילו יכול לאכסן באמזון או משהו כזה.

        בהצלחה
  7. מאתיגאל:‏
    אני מאוד רוצה להמליץ גם על מערכת (לניהול פרויקטים) בשם ActiveCollab
    היא אמנם אינה בחינם, אבל מאוד טובה, מנסיון.
    וכמובן גם אתר כמו GitHub, שתמורת תשלום מינימאלי, תוכלו לשדרג את פיתוח התוכנה שלכם בכמה וכמה רמות, לא רק בגלל האתר והאפשרויות שלו, גם בגלל השימוש בסורס קונטרול, git.
  8. מאתניר:‏
    מה אתה מגדיר ניהול פרוייקט?
    איך זה שבאף אחד מהכלים האלה אין ניהול דרישות?
  9. מאתזהר ארד:‏
    ניר, אני לא בטוח שאני מבין את כוונתך ב"ניהול דרישות".

    תוכנת ניהול פרוייקטים כפי שאני מכיר אותה מכילה כלי עזר לניהול אנשים ומשימות מחד וניהול ידע וקוד מקור מאידך.
  10. מאתתמיר:‏
    כדאי לציין את הכלים של חברת Rational , ששייכת כיום ל- IBM . החברה מתמחה בכל מה שקשור למחזור החיים של פיתוח תוכנה (ALM) - ניהול שינויים, דרישות, בדיקות, תצורה ופרוייקטים.

    כלים לא זולים אבל נחשבים לליגת העל בתחומם.
    • מאתגשם:‏
      מניסיוני כלי RATIONAL הם זוועת הזוועות. כבדים, מגושמים, לא ידידותיים, קשים מאוד להטמעה וזאת מבלי להיכנס למחיר.

      מתאים לגורילות כמו אמדוקס וקומברס
  11. מאתגיא:‏
    כמענה לחלק מהתגובות פה, אני יכול להעיד , כמישהו שמגיע מתחום ניהול פרוייקטי תוכנה ויצא לו להכיר לא מעט כלים שהוזכרו כאן (וכלים נוספים), שהצלחה של כלי כזה או אחר בתחום הזה תלויה באיכות ההטמעה שלו ובאיכות ההתאמה שלו לצרכי הארגון.

    אפשר לקחת כלי בינוני, וע"י ההטמעה/התאמה, להפוך אותו למצויין לארגון.
    אפשר לקחת כלי מצויין, אבל ההטמעה/התאמה, או החוסר בהם, יגרמו לו להיות בינוני או גרוע.
  12. מאתשרון כהן:‏
    יופי של פוסט!

    אני בהחלט חושב שכדאי לעבוד על מערכת ניהול פרויקטים שמסדרת
    את הכל מול העובדים והצוותים , זה פשוט מפשט הכל.

    העלויות ביין האיחסון העצמי למקוון הן שונות מאד ולכן חשוב לציין את זה.

    תודה רבה ( :
    שרון
    ניהול פרויקטים

כתיבת תגובה

האימייל שלך לא יוצג באתר. (*) שדות חובה מסומנים

Protected by WP Anti Spam