המשמעות של בקשת פיטצ'רים לתכנה

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

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

רוב המתכנתים בעצם, ממש לא אוהבים שמבקשים מהם שינוי שאחרי תכנון. רוב המבקשים לא מבינים למה, ויותר חמור, לרוב לא מבינים למה לפעמים אני יכול להגיד שזה יקח עכשיו חודש שלם של פיתוח (כאשר המימוש המקורי לקח שבוע וחצי). העניין הוא שלא רק מדובר בשינוי לוגיקה כלשהי, אלא צריך לשמור על אותה התנהגות שינה כאילו שום דבר השתנה, אבל לחשוב בגישה שונה, מהמימוש המקורי אשר לא מאפשר לי לספק את השינוי. זה גם אומר שצריך לפעמים להתנתק לגמרי ממה שהיה מקודם, ולחשוב ב state of mind אחר, דבר שמאוד קשה כשיש משהו בנוי מולך. אבל במידה ואין לי אפשרות כזו, אז כיצד אפשר לספק את אותה הגישה בעצם ?

גישות כמו Agile, או אפילו market driven נחמדות על הנייר, אבל לא תמיד אפשריות, ולרוב לא באמת ניתן לחשוב על כל גישה עתידית יכולה לצוץ לה פתאום, ולכן גם כאשר כותבים את הקוד הגמיש ביותר ביקום, עדיין יש מקומות לשכתוב בעקבות בקשות, ואז צרך להבין מה באמת חשוב, ומה הוא רק nice to have, והאם ההשקעה הזו באמת טובה וחשובה.

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

כתיבת תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s