![]() | |||
Joel on Software יואל על תוכנה
| |||
|
מבוא לוול-סטריט
צרור עצות לסטודנט למדעי המחשב למרבה המזל, רוב הסטודנטים שחצנים מספיק כדי לעולם לא להיזקק לעצת המבוגרים, דבר נכון לעשותו בעולם מדעי המחשב, משום שבעולם הזה, המבוגרים נוטים לאמר דברים כמו "הדרישה למחשבים שפועלים עם כרטיסיות ניקוב תעלה על מאה מיליון עד שנת 2010" ו"מתכנתי LISP מבוקשים מאוד בימינו". גמלים וברווזוני גומי כאשר אתה קובע מחיר, אתה שולח איתות. אם המחיר של המתחרה שלך נע בין $100 לבערך $500, ואתה מחליט, מה יכול להיות, המוצר שלי הוא בערך באמצע הדרך, אז אני אמכור אותו ב- $300, אז, איזה מסר אתה חושב שאתה משדר ללקוחות? אתה אומר להם שאתה חושב שהתוכנה שלך היא "ככה." יש לי רעיון יותר טוב: קח $1350. עכשיו לקוחותיך יחשבו, "בוא-נה, הדבר הזה צריך להיות הדובדבן שבקצפת היות והם לוקחים פצצה של מחיר בעבורו!"
מאמר אסטרטגיה ה' במחשבותי על עקרון המוצר המשלים במיקרו כלכלה, שמתי לב למשהו מענין לגבי תוכנות 'קוד פתוח': רוב החברות שמשקיעות הרבה כסף על פיתוח קוד פתוח עושות את זה כי זו אסטרטגיה עסקית טובה בשבילן, לא בגלל שהן פתאום הפסיקו להאמין בקפיטליזם והתאהבו בעקרונות החופש. מאמר אסטרטגיה ה' חמישה עולמות אתה מפתח תוכנה. גם אני. אבל ייתכן שאין לנו את אותם מטרות ודרישות. למעשה, יש מספר עולמות שונים של פיתוח תוכנה, וחוקים שונים חלים לעולמות שונים.
צחצח והברק סיבה אחת שמפתה אנשים לכתוב את כל הקוד שלהם מחדש היא שבסיס הקוד המקורי לא תוכנן בשביל מה שהוא עושה עכשיו. הוא תוכנן כאב-טיפוס, כניסוי, כתרגיל למידה, כדרך להגיע מאפס להנפקה ראשונית של מניות בבורסה בתשעה חודשים, או כהדגמה חד-פעמית. ועכשיו הוא צמח לבלגן גדול ושביר וכזה שבלתי אפשרי להוסיף לו קוד; וכולם מתלוננים, והמתכנתים הישנים מתפטרים מתוך יאוש והחדשים שמביאים במקומם אינם יכולים להבין ממנו שום דבר, אז הם איכשהו משכנעים את ההנהלה לוותר ולהתחיל מחדש, בזמן שמיקרוסופט משתלטת על נתח השוק שלהם. היום תנו לי לספר לכם סיפור על מה שהם יכלו לעשות במקום זאת. אש בתנועה רבים מהימים שלי הולכים כך: (1) נכנס לעבודה (2) בודק דואר אלקטרוני, קורא באינטרנט וכו' (3) מחליט שאולי אלך לאכול צהריים לפני שאני מתחיל לעבוד (4) חוזר מארוחת צהריים (5) בודק דואר אלקטרוני, קורא באינטרנט וכו' (6) לבסוף מחליט שאני חייב להתחיל (7) בודק דואר אלקטרוני, קורא באינטרנט וכו' (8) מחליט שוב שאני באמת חייב להתחיל (9) מפעיל את העורך המקולל ו (10) כותב קוד ללא הפסק עד שאני מגלה שכבר 7:30 בערב. איפשהו בין שלב 8 שלב 9 נראה שיש איזשהו באג, מפני שאני לא תמיד מצליח לחצות את התהום הזאת.
ממשק משתמש למתכנתים כשמשתמשים מתחילים לעבוד עם תוכנה חדשה, הם לא מגיעים עם דף ריק. יש להם ציפיות לגבי האופן שבו התוכנה תעבוד. אם הם כבר עבדו עם תוכנה דומה בעבר, הם יצפים שהתוכנה תפעל על פי כללים בסיסיים מסויימים, והם ינחשו איך אמור לעבוד ממשק המשתמש. מבחן יואל: 12 צעדים לקוד טוב יותר האם שמעתם על SEMA? זו מערכת אזוטרית למדי למדידת האיכות של קבוצות תוכנה. יקח לכם בערך שש שנים להבין אותו. לכן המצאתי מבחן משלי, מאוד לא אחראי, דווקא רשלני במיוחד, במטרה למדוד את האיכות של קבוצות תוכנה. החלק הכי טוב בו הוא שהוא לוקח בערך שלוש דקות. בזמן שתחסכו, תוכלו ללמוד רפואה.
דברים שאסור לעשות, חלק א יש סיבה מוסתרת שמתכנתים תמיד רוצים לזרוק את הקוד ולהתחיל מחדש. הסיבה היא שם חושבים שהקוד הישן הוא זבל. והנה השקפה מעניינת: הם קרוב לוודאי טועים.
שני סיפורים במייקרוסופט, אם אתה מנהל התוכנית שעובד על אסטרטגית מאקרו של אקסל, ואפילו אם אתה בחברה בקושי ששה חודשים, זה לא משנה – אתה האלהים של אסטרטגית מאקרו של אקסל, ואין אף אחד, אפילו לא עובד מספר 6, שיכול להפריע לך. נקודה. | |||
![]() יואל ספולסקי ייסד את Fog Creek Software, בית תוכנה קטן בניו יורק. במשך שירותו הצבאי (בנח"ל מוצנח) היה בין מייסדי קיבוץ חנתון שבגליל. לאחר לימודים באוניברסיטת ייל, עבד בתור מתכנת ומנהל ב-Viacom, Microsoft, ו-Juno. | |||
אלה דעות של בן אדם אחד ותו לא.
© 1999-2005 Joel Spolsky. כל הזכויות שמורות.