כלכלה, עסקים- פורטל אקונומיסט
 
 
 
 
 
 
טכנולוגיה, קנין רוחני

מי חכם יותר - תוכניתן net בישראל או תוכניתן java בהודו ?

26/10/2008

בשנים האחרונות אנו עדים לתופעה הולכת וגוברת של פיתוח בשיטת offshore/ near shore על-ידי תוכניתנים בהודו, בתי תוכנה במזרח אירופה, מיזמים המכשירים ומעסיקים נשים חרדיות ועוד. תילי תילים של תיאוריות נכתבו בדבר ניתוח הכדאיות הכלכלית של שיטת עבודה זו מהיבטים של פערים בשכר העובדים, המרחק הרב, הבדלי התרבות והשפה, שעות העבודה השונות וכדומה.

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

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

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

אחת ההגדרות היפות והקצרות בהן נתקלתי למושג Design Patterns היא עשיית תוכנה כ-future proof– עמידה בפני שינויים צפויים בעתיד. לאחרונה, הזדמן לי להעביר מספר קורסים בנושא זה (בשיתוף חברות מיקרוסופט ו e4d) והופתעתי לטובה מהביקוש הרב לקורסים אלו ומההד החיובי שנוצר בעקבותיהם. לכן, החלטתי למדוד את מידת השימוש ב-Design Patterns על-פי חתך גיאוגרפי וטכנולוגי- מי עושה בהן שימוש רב יותר- תוכניתנים הודים או ישראלים ? תוכניתני .net או תוכניתני java?

בכדי לענות על שאלות אלו השתמשתי בשירות החדש של Google, insights search, המאפשר לבדוק פופולאריות של מילות חיפוש (www.google.com/insights/search). גיליתי תוצאות מעניינות:

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

ניתן לראות בבירור, כי מירב השימוש ב-Google ללמידת Design Patterns נעשה בהודו.

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

2. תהיתי שמא לחיפוש המושג Design Patterns לכשעצמו אין משמעות רבה. מושג זה מוביל לתוצאות האומרות, כי יש Design Patterns מתוחכם X ויש Design Patterns אחר Y.

על מנת לבדוק, היכן באמת עושים שימוש באותם פתרונות מתקדמים X ו-Y, עידנתי את החיפוש ובמקום לחפש Design Patterns באופן כללי, חיפשתי Design Patterns ספציפי, כגון: strategy או state. תוצאות אלו כבר היו הרבה פחות מפתיעות:

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

3. מי עושה שימוש רב יותר ב- Design Patterns– תוכניתני מיקרוסופט או תוכניתני java? לכאורה, לא צריך להיות הבדל, שכן מתודולוגיית פיתוח איכותית, שמשמעה שימוש בפתרונות מוכחים, הינה ניטראלית מבחינה טכנולוגית. גם כאן, הופתעתי מהתוצאות:

קיים פער משמעותי בשימוש ב-Design Patterns בין אוכלוסיית תוכניתני java לבין אוכלוסיית תוכניתני מיקרוסופט. (אם נשקלל את הפער בין מספר התוכניתנים בין הסביבות, אזי הפער בשימוש הוא אף גדול יותר. הנתונים מתייחסים לנתוני חיפוש מהשנה האחרונה, ואין משמעות לוותק הפלטפורמה).

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

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

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

הדפסשלח לחברהוסף תגובה  הדלק בהZרקור

אודות אקונומיסט

חדשות כלכלה

פורומים כלכלה

מאמרים כלכלה

לינקים נבחרים

מי אנחנו

כלכלה

הנהלת חשבונות

כלכלת משפחה

לימודי שוק ההון

חברי המערכת

שוק ההון

שירותי מחשוב

כלכלה

מחשבונים

פרסמו אצלנו

נדל"ן

דיני מקרקעין

שוק ההון

מידע פיננסי

תקנון האתר

פרסום ומדיה

משכנתא

פנסיה

רוטנברג עו"ד גירושין 

צור קשר

ספורט ובריאות

פנסיה

יזמות

עסקים קטנים

RSS

טכנולוגיה

ייעוץ מס

משכנתאות

פורקס

       
       

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

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