איך בוחרים את הטכנולוגיה המתאימה
-
טוב, אני בתחילת דרכי כעצמאי, מגיעים אלי כל מיני פרוייקטים, ואני מתחיל לפגוש את הדילמה הזו שוב ושוב.
הלקוח רוצה פרוייקט, כמובן שבסוף אפשר לעשות כמעט כל פרוייקט בכמעט כל שפה. אה מה? בדרך כלל יש עדיפות לטכנולוגיה מסוימת, מכל מיני סיבות. רק שאני לא יודע את כל הטכנולוגיות. הכי נוח לי זה פשוט לממש באמצעות הכלים איתם אני רגיל לעבוד, אבל לא תמיד זה הגון כלפי הלקוח. גם אם זה יתן את התוצאה זה עשוי לקחת הרבה יותר זמן פיתוח וכו'.
למשל, אני מפתח פולסטאק, היום יש טראנד לעשות הכל וובי. אבל זה לא תמיד נכון. מגיע לקוח עם סוג של תכנת ניהול לעמותה שלו, לקוחות, צוות, שידורים למ.ס.ב, מערכת טלפונית וכו'. לבנות וובי או אולי בכלל להטמיע לו משהו באקסס כמיטב המסורת בציבור שלנו?
לקוח אחר רוצה אתר. אין לי בעיה לבנות לו, אבל אולי בוורדפרס יהיה הרבה יותר קל/מהיר/זול לבנות ולתחזק? זה אתר קלאסה יחסית. אם אני בונה - אני בונה מאפס בVUEJS, כולל הרשאות, מסד נתונים וכו'.
כל פרוייקט הוא מן הסתם דיון נפרד. אבל יש איזשהו כלל אצבע? היכן אני יכול לקרוא על זה קצת? מה אמות המידה?
אני שואל הן מבחינה טכנית, ולא פחות מבחינת התנהלות הוגנת ומקובלת מול לקוח.אשמח לשמוע שועלים מנוסים ממני.
-
@רפאל אמר באיך בוחרים את הטכנולוגיה המתאימה:
אני לא מתיימר לפתור את ההתלבטויות המוצדקות שלך, אבל אני דוגל בלנסות להיות כמה שיותר גלוי מול הלקוח, להסביר לו מראש את היתרונות ואת החסרונות של הטכנולוגיות השונות, ולהבהיר לו את ההשלכות על המחיר.
זו הגישה הטבעית שלי. זה לא מספיק.
ראשית, בשביל זה צריך להיות ברור מספיק עם האפשרויות השונות, ולהציג לו ספק במובנים שיש לו אפשרות להחליט.
שנית, לפעמים זה מרתיע אותו ואני מאבד פרויקט ללא סיבה, בזמן שיכולתי לבצע אותו באופן שמתאים לי ללא חשש.הגישה שלך רלוונטית צעד אחד אחרי מה שתיארתי. אני עוד קודם. לא בספק אלא בחוסר ידע.
-
@davidnead לדעתי האישית אתה צריך לשים את עצמך במקום הלקוח, ולחשוב מה היית עושה במקומו.
בהרבה פעמים אני אכן ממליץ ללקוחות על אקסס בשלב ראשון, כי זה מה שמתאים לו, גם ביחס לתקציב, וביחס לביצועים שהוא צריך כעת (שזה הסעיף הכי חשוב בד"כ...)
ז"א מחלק את זה ל2 שלבים.כנ"ל באתר, אם לדעתך וורדפרס זה מה שייתן תוצאה מהירה וטובה, וזה מתאים לזה (אתר קלאסי לדוגמא) הייתי חד משמעית הולך על וורדפרס, ואיפה שצריך לקסטם תעשה את זה בכלים שאתה מכיר. זה אפשרי לגמרי.
(כהערת אגב לגבי וורדפרס כאתר סטטי, אני חושב שעדיף לבנות את האתר בכתובת נפרדת, ואז לייצא את האתר כולו לHTML סטטי לגמרי - יש תוספים שעושים את זה. [דוגמא לכזה תוסף]
זה יותר מהיר ויותר מאובטח.
ואז גם אם יש חלקים קטנים שצריכים להיות דינאמיים, אפשר לכתוב אותם בכלים שאתה מכיר ולהטמיע בתוך הHTML המקורי.
רק ממש לשים לב לא לשים את הוורדפרס בתיקייה פנימית, אא"כ מגינים על התיקיה באמצעי נוסף כגון סיסמא נוספת, כי התוקפים כבר מכירים את זה, והרבה פעמים אפשר לראות בלוגים בקשות לתיקיות משנה כמו wp / wordpress / dev וכו') -
נראה ששניכם מפספסים אותי. אתם יוצאים מנקודת הנחה שלי ברור מה האפשרויות הטכנולוגיות והשיקולים, והשאלה היא רק מה להסביר ללקוח.
השאלה העיקרית היא איך לבחור לא איך להסביר ללקוח. אין לי נסיון בכלל הטכנולוגיות, וגם לא תמיד באלו הרלוונטיות. (למשל במקרה של האתר, לא מכיר וורדפרס). ברור שאם אני מכיר טוב את 2 האפשרויות (לפעמים יותר) אני יכול לעשות את השיקול ובמקרה ספק להשאיר לו את ההכרעה. הבעיה היא במקרים (הרבים) שאני מכיר רק צד אחד של המטבע. איך שופטם במקרה כזה?
בחברה מסודרת בשביל זה (בין השאר) יש מנהל פרוייקט. בעצמאי אתה עושה הכל לבד, כולל להיות מנהל פרוייקט. -
@davidnead אמר באיך בוחרים את הטכנולוגיה המתאימה:
בחברה מסודרת בשביל זה (בין השאר) יש מנהל פרוייקט. בעצמאי אתה עושה הכל לבד, כולל להיות מנהל פרוייקט.
גם מנהל פרוייקט בחברה הוא לא תמיד מלאך
ויודע בדיוק מה הטכנולוגיה המתאימה באמת
לרוב הוא פשוט בוחר מהנסיון האישי שלו
ואם תשים 10 מנהלי פרוייקט בחדר, כנראה תקבל הצעות שונות.
לרוב יש גם שיקול של מה הטכנולוגיה שהמפתחים הכי טובים בה כרגע?
יכול להיות שהכי טוב לבנות את המוצר בפלאטר כי הלקוח רוצה מוצר שירוץ על כל הפלטפורמות
אבל אם אתה לא יודע בכלל איך מתעסקים עם פלאטר אז טובת הלקוח היא לבחור טכנולוגיה אחרת או לבחור מפתח אחר.אז אולי צריך לעשות מפה של כל הטכנולוגיות שאתה מכיר ולא מכיר
ולסכם את המעלות והחסרונות של כל אחד, ולהציג ללקוח ולתת לו לבחור
למשל אם מאוד חשוב אבטחה אז כנראה שלא כדאי לבחור בוורדפרס וכן הלאה. -
כהרגלך אתה זורק לאויר שאלות מפוצצות.
אני חושב שהטכנולוגיה הכי טובה ללקוח שלך היא הטכנולוגיה שבה אתה הכי שולט.
למה?
כי הכי הוגן לתת ללקוח שלך את השירות הכי טוב, והוא נובע מהמקצועיות שלך בתחום.
איך אתה היית פותר את הבעייה אם היא הייתה הבעיה שלך?
מסתמא בכלים שאתה שולט בהם הכי טוב.האם העובדה שמטפל לא שולט בכל שיטות הטיפול הקיימות עלי אדמות, כדי להציע למטופל שלו את הטיפול האולטימטיבי לבעיה - היא חוסר הגינות? לעניות דעתי - ממש לא. אבל זו בהחלט פשיעה אם הוא לא מכיר את התחום שבו הוא מציע טיפול.
האם טבח אמור להכיר את כל סוגי המאכלים ושיטות הבישול \ האפיה \ הטיגון וכו'? לא.
הוא יכול להיות מכין עוגות מצויין, הגם שהוא מכין חביתות גרוע. מה בכך אם יתמחה במקצועיותו כקונדיטור צמרת, מי שרוצה עוגה משובחת שיבוא, ומי שמעוניין בחביתה שילך לחנות אחרת?כיון שאני מניח שאתה לא שולט בכל הטכנולוגיות ברמה מקצועית (מחילה אם אני טועה) הגם שאתה מוכשר מאוד ויכול ללמוד הכל בקלות, אתה מסתמא תמצא לך את התחום שאליו אתה הכי מתחבר, ובו אתה הכי זורם ומנוסה, ובו אתה תתמקצע.
שים לב שקיבלת עצות לעיל מחברים שעובדים בתחום כבר שנים, כנראה שזו הדרך ללכת בה.
אתה רוצה לפתח פולסטאק מהקרקעית עד למעלה - מצוין! תעשה את זה הכי טוב שאתה יכול, והלקוח שלך יקבל את התמורה המלאה לכספו, ואת השירות הטוב ביותר שאתה יכול לספק לו.
ובנימה אישית: המומחיות שלי הקטן זה אקסס, וגם עיקר הפרנסה שלי בתכנות היא כרגע ממנה. אני תמיד מבהיר ללקוחות שלי את היתרונות והחסרונות שלה, ואני לא מרגיש שזה מרתיע אותם, אדרבא הלקוחות שלי מאוד מרוצים, ואני מוצא פתרונות כמעט לכל בעיה שצצה - במהירות, וברבות השנים פיתחתי פריימוורק שלם לממשק המשתמש שלה.
אני כן רוצה להיות עדכני ולהרחיב את היכולות שלי, ולכן נפתחתי גם לטכנולוגיות אחרות. למרות שבניתי כמה אתרים מאפס, כולל מסד נתונים, אבטחה ופרונט מלא, עם Node ומונגו, אני הכי נמשך ל-C# ובלייזור, ומשתדל להיות מקצועי בהם. כשארגיש שאני טוב מספיק - אציע ללקוח שלי גם את זה בלי שום רגשות אשמה שמא אני לא מכיר איזו טכנולוגיה יותר טובה. -
@nigun אמר באיך בוחרים את הטכנולוגיה המתאימה:
אז אולי צריך לעשות מפה של כל הטכנולוגיות שאתה מכיר ולא מכיר
ולסכם את המעלות והחסרונות של כל אחד, ולהציג ללקוח ולתת לו לבחורכיוון שקשה לדעת מה המעלות וחסרונות של כל טכנולוגיה
אולי ננסה לעשות טבלה משותפת שכל אחד יכתוב מה המעלות והחסרונות של כל טכנולוגיה שהוא מכיר, כנראה שיהיה הרבה מריבות וויכוחים על כל דבר, אבל בסוף אולי יצא תמונה שתתן ללקוחות של כולנו תועלת.הנה פרמטרים שעולים לי כרגע
אבטחה, עלות תחזוק, מהירות פיתוח, גמישות בפרוייקט בעתיד, כמה קשה למצוא מפתחים בעתיד.... -
@odeddvir אמר באיך בוחרים את הטכנולוגיה המתאימה:
כהרגלך אתה זורק לאויר שאלות מפוצצות.
אני חושב שהטכנולוגיה הכי טובה ללקוח שלך היא הטכנולוגיה שבה אתה הכי שולט.
למה?
כי הכי הוגן לתת ללקוח שלך את השירות הכי טוב, והוא נובע מהמקצועיות שלך בתחום.
איך אתה היית פותר את הבעייה אם היא הייתה הבעיה שלך?
מסתמא בכלים שאתה שולט בהם הכי טוב.
האם העובדה שמטפל לא שולט בכל שיטות הטיפול הקיימות עלי אדמות, כדי להציע למטופל שלו את הטיפול האולטימטיבי לבעיה - היא חוסר הגינות? לעניות דעתי - ממש לא. אבל זו בהחלט פשיעה אם הוא לא מכיר את התחום שבו הוא מציע טיפול.
האם טבח אמור להכיר את כל סוגי המאכלים ושיטות הבישול \ האפיה \ הטיגון וכו'? לא.
הוא יכול להיות מכין עוגות מצויין, הגם שהוא מכין חביתות גרוע. מה בכך אם יתמחה במקצועיותו כקונדיטור צמרת, מי שרוצה עוגה משובחת שיבוא, ומי שמעוניין בחביתה שילך לחנות אחרת?
כיון שאני מניח שאתה לא שולט בכל הטכנולוגיות ברמה מקצועית (מחילה אם אני טועה) הגם שאתה מוכשר מאוד ויכול ללמוד הכל בקלות, אתה מסתמא תמצא לך את התחום שאליו אתה הכי מתחבר, ובו אתה הכי זורם ומנוסה, ובו אתה תתמקצע.
שים לב שקיבלת עצות לעיל מחברים שעובדים בתחום כבר שנים, כנראה שזו הדרך ללכת בה.
אתה רוצה לפתח פולסטאק מהקרקעית עד למעלה - מצוין! תעשה את זה הכי טוב שאתה יכול, והלקוח שלך יקבל את התמורה המלאה לכספו, ואת השירות הטוב ביותר שאתה יכול לספק לו.אם הלקוח מבקש אתר בלוגים, והוא יפתח אותו מאפס ולא ישתמש במערכות ניהול תוכן הקיימות, זו תהיה עוולה ללקוח.
אני חושב שכן צריך לברר לפני כן עם מי שמכיר את השטח האם יש דרכים מקובלות לבנות את המוצר שהלקוח מבקש. -
@יוסף-בן-שמעון אמר באיך בוחרים את הטכנולוגיה המתאימה:
@odeddvir אמר באיך בוחרים את הטכנולוגיה המתאימה:
כהרגלך אתה זורק לאויר שאלות מפוצצות.
אני חושב שהטכנולוגיה הכי טובה ללקוח שלך היא הטכנולוגיה שבה אתה הכי שולט.
למה?
כי הכי הוגן לתת ללקוח שלך את השירות הכי טוב, והוא נובע מהמקצועיות שלך בתחום.
איך אתה היית פותר את הבעייה אם היא הייתה הבעיה שלך?
מסתמא בכלים שאתה שולט בהם הכי טוב.
האם העובדה שמטפל לא שולט בכל שיטות הטיפול הקיימות עלי אדמות, כדי להציע למטופל שלו את הטיפול האולטימטיבי לבעיה - היא חוסר הגינות? לעניות דעתי - ממש לא. אבל זו בהחלט פשיעה אם הוא לא מכיר את התחום שבו הוא מציע טיפול.
האם טבח אמור להכיר את כל סוגי המאכלים ושיטות הבישול \ האפיה \ הטיגון וכו'? לא.
הוא יכול להיות מכין עוגות מצויין, הגם שהוא מכין חביתות גרוע. מה בכך אם יתמחה במקצועיותו כקונדיטור צמרת, מי שרוצה עוגה משובחת שיבוא, ומי שמעוניין בחביתה שילך לחנות אחרת?
כיון שאני מניח שאתה לא שולט בכל הטכנולוגיות ברמה מקצועית (מחילה אם אני טועה) הגם שאתה מוכשר מאוד ויכול ללמוד הכל בקלות, אתה מסתמא תמצא לך את התחום שאליו אתה הכי מתחבר, ובו אתה הכי זורם ומנוסה, ובו אתה תתמקצע.
שים לב שקיבלת עצות לעיל מחברים שעובדים בתחום כבר שנים, כנראה שזו הדרך ללכת בה.
אתה רוצה לפתח פולסטאק מהקרקעית עד למעלה - מצוין! תעשה את זה הכי טוב שאתה יכול, והלקוח שלך יקבל את התמורה המלאה לכספו, ואת השירות הטוב ביותר שאתה יכול לספק לו.אם הלקוח מבקש אתר בלוגים, והוא יפתח אותו מאפס ולא ישתמש במערכות ניהול תוכן הקיימות, זו תהיה עוולה ללקוח.
אני חושב שכן צריך לברר לפני כן עם מי שמכיר את השטח האם יש דרכים מקובלות לבנות את המוצר שהלקוח מבקש.לזה בדיוק התכוונתי. אמנם אתה מציין מקרה קיצון, אך לא תמיד צריך להיות מקרה קיצון בשביל שזה יהיה עוולה.
בקשר למה שנאמר
אני חושב שהטכנולוגיה הכי טובה ללקוח שלך היא הטכנולוגיה שבה אתה הכי שולט.
לפעמים הכי נכון זה להפנות אותו למפתח אחר.
אני מאוד התחברתי לכיוון שהוצע כאן של לשקול את המעלות והחסרונות הכלליות של הטכנולוגיה. היות שאין סיכוי שאכיר כל טכנולוגיה ברמה שאוכל לשקול היטב את האפשרות המתאימה, אבל בדרך כלל יש לי מושג כלשהו על ההבדלים.
אם תהיה לי בראש טבלה ברורה על ההבדלים הכלליים בין הטכנולוגיות, אוכל לומר ללקוח: תראה, זו טכנולוגיה יותר כזו וזו משמש יותר במקרים כאלו, אני רגיל להשתמש בטכנולוגיה פלונית דוקא ואני לא יכול להבטיח לך שזה הכי מתאים תעשה את שיקולך.
הייתי שמח לקבל את ההצעה של לגבש יחד טבלה של השוואה בין טכנולוגיות. ולא, היא לא חייבת להיות מושלמת, כך שלא צריך הרבה לריב.
-
אגב, דוגמה (מעשית!) נוספת שעומדת לפני.
מערכת CRM, או ניהול פרוייקטים או ניהול סטודנטים או משהו דומה.
כלומר לקוח שרוצה מערכת לניהול רבנים ותלמידים ושיעורים ומבחנים וכדומה עם התממשקות עם מערכות אשראי ואקסלים וכדו'.
אין לי בעיה לבנות מאפס בNODE+VUE. מצד שני לפחות חלק מהפונקציונליות של המערכת הזו היא קלאסית ויש לה כנראה כלים מקובלים. לדידי לפתח אפליקציה ולחפש לשלב בה חלקית כלים קיימים זה לשבור את הראש. מאידך למה לבזבז את זמנו של הלקוח בלבנות מסד נתונים וAPI מאפס?
מה דעתכם?
-
@davidnead אמר באיך בוחרים את הטכנולוגיה המתאימה:
אגב, דוגמה (מעשית!) נוספת שעומדת לפני.
מערכת CRM, או ניהול פרוייקטים או ניהול סטודנטים או משהו דומה.
כלומר לקוח שרוצה מערכת לניהול רבנים ותלמידים ושיעורים ומבחנים וכדומה עם התממשקות עם מערכות אשראי ואקסלים וכדו'.
אין לי בעיה לבנות מאפס בNODE+VUE. מצד שני לפחות חלק מהפונקציונליות של המערכת הזו היא קלאסית ויש לה כנראה כלים מקובלים. לדידי לפתח אפליקציה ולחפש לשלב בה חלקית כלים קיימים זה לשבור את הראש. מאידך למה לבזבז את זמנו של הלקוח בלבנות מסד נתונים וAPI מאפס?
מה דעתכם?
אולי יש בשביל זה מערכות CRM מוכנות כSaaS
לא יודע איך בודקים את זה. -
@davidnead אמר באיך בוחרים את הטכנולוגיה המתאימה:
שנית, לפעמים זה מרתיע אותו ואני מאבד פרויקט ללא סיבה, בזמן שיכולתי לבצע אותו באופן שמתאים לי ללא חשש.
עוד נקודה היא השאלה באיזה נישה אתה רוצה להתמחות
אם זה לקוח שלא מקדם אותך אז הרבה פעמים כדאי באמת לוותר עליו.
ושוב כדי לדעת לאיפה להתקדם כדאי להכיר מה המעלות והחסרונות של כל טכנולוגיה. -
@davidnead אמר באיך בוחרים את הטכנולוגיה המתאימה:
בחרתי לקבל את זה כמחמאה.
סליחה אם נפגעת, זו באמת הייתה מחמאה מכל הלב, עם קצת פלפל מלמעלה... העיסוק שלנו הוא אחד מארבעה דברים שצריכים חיזוק, ואם בזכותך זוכים כמה מתאי המוח הרדומים שלי להתעורר, ולפעמים לחשב מסלול מחדש, ובכלל - מתעוררים כאן בפורום דיונים מעניינים - זה מאוד מוצא חן בעיני ואני מודה לך!
-
@davidnead אמר באיך בוחרים את הטכנולוגיה המתאימה:
אגב, דוגמה (מעשית!) נוספת שעומדת לפני.
מערכת CRM, או ניהול פרוייקטים או ניהול סטודנטים או משהו דומה.
כלומר לקוח שרוצה מערכת לניהול רבנים ותלמידים ושיעורים ומבחנים וכדומה עם התממשקות עם מערכות אשראי ואקסלים וכדו'.
אין לי בעיה לבנות מאפס בNODE+VUE. מצד שני לפחות חלק מהפונקציונליות של המערכת הזו היא קלאסית ויש לה כנראה כלים מקובלים. לדידי לפתח אפליקציה ולחפש לשלב בה חלקית כלים קיימים זה לשבור את הראש. מאידך למה לבזבז את זמנו של הלקוח בלבנות מסד נתונים וAPI מאפס?
מה דעתכם?
זה גם תלוי מה הלקוח רוצה
לפעמים הלקוח רוצה דווקא מערכת (ולפעמים הוא מתעקש דווקא על וובית) שנתפרה ממש עבורו (הרבה פעמים זה הדבר היותר נכון - ככה לפחות לדעתי בCRM שקצת יותר ספציפי מהרגיל.)
[אגב גם לשלוח למתחרים לפעמים זה טוב, כשאתה מרגיש או מבין שיש כזו מערכת מוכנה וחבל סתם לבזבז את זמנו של הלקוח... אא"כ הוא מתעקש כמו שכתבתי]אגב, ככל שתמשיך הלאה, יהיו לך קלאסים מוכנים ותבנית ראשונה מוכנה, כך שלא ממש תתחיל מההתחלה בכל פרוייקט. אלא ממקום כלשהו באמצע.
(כמו שכתב @OdedDvir לגבי האקסס...)