אז יש לכם רעיון לאפליקציה מהפכנית שתשנה את העולם, עכשיו רק נותר לפתח אותה… אבל מאיפה מתחילים?
אחרי שנים בתור מפתח אפליקציות, החלטתי לכתוב את המדריך הזה על מנת לעזור לאנשים שלא בהכרח באים מתחום פיתוח האפליקציות על מנת שיוכלו להכנס לעניינים במהירות, כל זאת עם הסברים פשוטים וקלים ״לעיכול״.
🔥 המדריך הזה בשבילכם אם אתם:
- יזמים/יזמות ללא רקע טכנולוגי המקימים אפליקציה.
- לקראת או בתהליך פיתוח אפליקציה עם חברה חיצונית.
- מתלבטים אם לפתח אפליקציה לאייפון או לאנדרואיד, לשניהם או בכלל אתר.
- אנשים טכנולוגים אך ללא רקע וניסיון ספציפי בפיתוח אפליקציות.
- ״סתם״ אנשים שרוצים להכנס לעולם פיתוח האפליקציות.
במדריך זה אכסה את רוב הנושאים הנוגעים לפיתוח אפליקציות - מחירים, סוגי אפליקציות, שלבי פיתוח, ובאופן כללי טיפים ומושגים רלוונטים בעולם הזה כדי שלא תרגישו נבוכים בשיחה הבאה שלכם בנושא. ישנם חלקים שצללתי קצת לפרטים טכנים יותר (מסומן באימוג׳י 🤖) למי שרוצה לקבל הסתכלות טכנית מעמיקה יותר.
טוב, יש לנו הרבה דברים לדבר עליהם - בואו נתחיל.
כמה עולה לפתח אפליקציה?
כנראה לא הדבר הראשון לכסות מבחינה כרונולוגית, אבל אני מניח שזה אולי הנושא שמעניין המון אנשים שרק מתחילים לחקור על הנושא - כמה עולה לבנות אפליקציה שורה תחתונה?
אז התשובה המבאסת: זה תלוי.
יש המון משתנים המשפיעים על העלות של הפיתוח וזה משתנה מאוד בין אפליקציה לאפליקציה ומחברת פיתוח אחת לשנייה. בהערכה גסה (במיוחד), הייתי אומר שהמחיר המינימלי שאתם יכולים לצפות לשלם נע בין 50,000 ש״ח ויכול גם להגיע ל-200,000 אלף ש״ח וצפונה.
🚨 שימו לב - אף פעם אל תוציאו סכומים גדולים על אפליקציה (או שום דבר אחר בסטארט-אפ שלכם) מבלי שווידאתם היתכנות לרעיון שלכם והתייעצתם עם צד שלישי (עם רקע טכנולוגי) בנוגע להצעה שקיבלתם. בתי תוכנה ונותני שירות הם בעלי אינטרסט לגבות כמה שיותר גם כשלא תמיד יש צורך אמיתי. אממה, אל תיבהלו ותוותרו על הרעיון של פיתוח אפליקציה - אני מזמין אתכם לקרוא את הטיפים בסוף המדריך שעשויים לחסוך לכם זמן וכסף יקר ולפעול חכם יותר כשעובדים עם נותני שירות חיצוניים.
גורמים המשפיעים על המחיר
כפי שאתם יכולים לתאר, פיתוח אפליקציה בסגנון רשת חברתית כמו פייסבוק (שכוללת פיד עדכונים, קבוצות, צ׳אטים בין המשתמשים וכו׳) תעלה משמעותית יותר מאפליקציה, נגיד, שעוזרת לכם לשמור לינקים למתכונים שראיתם באינטרנט. להלן כמה מהגורמים העיקריים שעשויים להשפיע על המחיר:
- תכולה. ככל שהאפליקציה כוללת יותר פיצ׳רים (יכולות), מסכים, פונקציונאליות וכו׳ - כך גם ידרש יותר עבודה לפתח אותה.
- מורכבות. יש לכם עיצובים מורכבים או חווית משתמש (UX) מיוחדת? דרישות מיוחד לאפליקציה (מפות, שימוש בחיישנים בטלפון וכו׳)? כל אלה ישפיעו על המחיר.
- שירותים משלימים. פיתוח אפליקציה הוא לא רק ״תכנות נטו״ ויש דברים משלימים נוספים כחלק מהפרויקט: מחקר שוק, עיצוב מסכים (UI), איפיון חווית משתמש, פיתוח אתר ייצוגי, קידום בחנות (ASO) ועוד - כל אלה יכולים לקחת חלק ״מהחבילה״ אשר לוקחים עוד זמן ועל כן עוד כסף.
- עלויות שוטפות. מעבר לפיתוח החד-פעמי עצמו של האפליקציה, ישנן עלויות שוטפות על בסיס חודשי נוספות כמו תחזוק שרתים (Backend), אחסון, ועוד.
- פלטפורמות. האם אתם צריכים אפליקציה לאנדרואיד וגם עוד אחת לאייפון? פיתוח למספר חנויות אפליקציות עשוי להקפיץ את המחיר. בהמשך אסביר על האופציות שלכם וכיצד הם עשויות להשפיע על תהליך הפיתוח, התוצר עצמו והעלויות.
- מחירון סובייקטיבי. לכל חברה לפיתוח אפליקציות יש את המחירון שלה. כמו כל שוק בחיים, יש כאלה שיקחו יותר ויש כאלה שיקחו הרבה פחות, דבר העשוי להשקף באיכות של המוצר הסופי. כמו כן, מיקור חוץ (Outsourcing) לחברות בחו״ל (מפתחים באוקראינה/הודו וכו׳) עשויה להוזיל את המחיר מאשר עבודה עם מתכנתים ישראלים.
פיתוח אפליקציות - מה האופציות שלכם?
לא כל האפליקציות נולדו שוות. ברמה הטכנית, ישנן מספר דרכים וטכנולוגיות לפתח אפליקציה כיום: אפליקציות נייטיב (Native), אפליקציות היברידיות (Hybrid) ואפליציות ווב (Web).
אל תיבהלו מהמושגים - גם אם אין לכם רקע בפיתוח אפליקציות, דאגתי שההסברים יהיו פשוטים וקלים ״לעיכול״ גם ללא רקע טכנולוגי. בעוד רגע נעבור על כל אחד ואחד מהם ונבין מה הם אומרים ומה היתרונות והחסרונות של אחת מהדרכים הללו.
פיתוח אפליקציה נייטיב (Native)
כפי שאתם כנראה יודעים, ישנן שתי חנויות אפליקציות עיקריות: Google Play למכשירי אנדרואיד ו-Apple App Store למכשירי אפל (אייפון, אייפד וכו׳). בהנחה ואתם רוצים שהאפליקציה תהיה זמינה בכל אחת החנויות (זאת אומרת, גם לאייפון וגם לאנדרואיד), אתם צריכים לפתח אפליקציה *נפרדת לגמרי* לכל אחת מהחנויות.
הטכנולוגיות, שפות התכנות, הכלים וסביבת העבודה לפיתוח אפליקציות לאנדרואיד שונה לחלוטין מאלה שבצד של אפל. שמפתחים ״אפליקציית נייטיב״ (Native - טבעי) למעשה מתכוונים שמשתמשים בטכנולוגיות הייעודיות והרישמיות שאפל וגוגל מציעים לפיתוח אפליקציות לכל אחת מהחנויות שלהם - בנפרד.
אתם כנראה מבינים ישר את החיסרון הגדול הטמון בפיתוח אפליקציות נייטיב - כל עבודה שתצטרכו לעשות תהיה כפולה: אפליקציה אחת לאנדרואיד ואפליקציה אחת לאייפון. כל פיצ׳ר שתרצו לפתח, תצטרכו לעשות פעמיים, כל באג, שינוי או תקלה באפליקציה תצטרכו לטפל בהם פעמיים. דבר שגם מייקר את הפיתוח וגם מוסיף זמן עבודה.
אך לא הכל שחור בפיתוח נייטיב - כאשר אתם משתמשים בטכנולוגיות הרישמיות של אפל או גוגל, אתם גם זוכים להטבות. בניגוד לשיטות פיתוח אחרות שאציין בהמשך, אפליקציות נייטיב זוכות להכרה יותר רשמית מצד הפלטפורמה: האפליקציות רצות מהר יותר, עדכונים למערכת ההפעלה משתקפים ישירות באפליקציה (שינויי עיצוב, יכולות חדשות במכשיר וכו׳), התממשקות עם יכולות מיוחדות בטלפון (אנשי קשר, NFC, חיישנים וכו׳) עובדים בצורה חלקה ועוד. הרי פיתוח ״נייטיב״ הוא פיתוח ״טבעי״ כפי שאלוהים (גוגל או אפל) רצה שתעשו - אז מן הראוי שהכל יעבוד חלק יותר.
יתרונות
✅ מופיעות באופן בחנויות האפליקציות השונות.
✅ כל עדכון ושיפור במערכת הפעלה זמין להוספה לאפליקציות נייטיב מיד.
✅ התממשקות קלה לשירותים אחרים במערכת ההפעלה ובמכשיר הטלפון ללא קושי.
✅ תמיכה רשמית מצד הפלטפורמה (אפל/גוגל).
חסרונות
❌ צורך בפיתוח של אפליקציה נפרדת לכל פלטפורמה.
❌ פיתוח רק לאחת מהפלטפורמות (על מנת להוזיל עלויות) יוביל להפסד כל הקהל שנמצא בפלטפורמה השנייה.
❌ קוד כפול, שפת תכנות שונה, כלים נפרדים לכל פלטפורמה.
❌ תחזוק כפול - כל באג, שינוי או עדכון דורש עבודה כפולה.
❌ כוח אדם כפול - הידע הדרוש לפיתוח אפליקציות אנדרואיד שונה מזה לפיתוח אפליקציות אייפון מה שעשוי להצריך מספר מפתחים עם התמחות לכל אחת מהפלטפורמות.
פיתוח אפליקציה היברידית (Hybrid)
בגלל החסרונות הלא פשוטים שקיימים בפיתוח אפליקציות נייטיב (עבודה כפולה), קמו להן טכנולוגיות שמאפשרות ״לרמות את המערכת״ ולאפשר פיתוח אפליקציה למגוון הפלטפורמות (אייפון, אנדרואיד) תחת אותה קורת גג - אותו קוד, אותם כלים, אותו ידע והתמחות.
לפיתוח אפליקציות בטכנולוגיות הללו, קוראים אפליקציות היברידיות (Hybrid Applications) או ״פיתוח משולב״ (Cross Platform Development). פיתוח אפליקציות היברידי מאפשר להנות משני העולמות - לבנות את האפליקציה פעם אחת (אותו קוד) ולשחרר אותה גם לאייפון וגם לאנדרואיד (ואפילו למכשירים - כמו Windows, Mac וכו׳).
״לכתוב פעם אחת, להשתמש בכל מקום״ - נשמע טוב, לא? ובכן, גם לפיתוח אפליקציות היברידי יש חסרונות. דבר ראשון, בחלק מהטכנולוגיות ניכר הפסד קל בביצועים - האפליקציה לא מהירה כמו שהייתה יכולה להיות אילו הייתה ״נייטיב״ עבור רוב האפליקציות זה עשוי להיות זניח, אבל במידה והאפליקציה שלכם דורשת ביצועים גבוהים - כנראה שזה יורגש יותר. בנוסף, לפעמים שימוש ביכולות מאוד מיוחדות של המכשיר (חיישני WiFi לדוגמא) יכולים להיות קשים למימוש באפליקציה היברידית. כמו כן, מאחר והן לא תמיד מקבלות תמיכה רשמית מגוגל או אפל, תמיד יש את הסכנה שהחברות ״ישימו רגל״ ויפסיקו לתמוך באפליקציות שלא משתמשות בטכנולוגיות הרישמיות שלהן - כלומר, אפליקציות שהן לא נייטיב.
עם זאת, בשורה התחתונה - מבחינת המשתמשים שיורידוהאפליקציה שלכם, לרוב לא יהיה ניתן להבחין שמדובר באפליקציה היברידית (על אף הירידה הקלה בביצועים). המון אפליקציות שאתם מכירים (כמו פייסבוק, סקייפ, אינסטגרם ועוד) מתחת למכסה מנוע בנויות כאפליקציות היברידיות. אם זה מרגיש כמו ״נייטיב״ עד למצב שלא ניתן להבחין, למי איכפת שזה לא? העיקר שנחסכה מאיתנו העבודה הכפולה.
יתרונות
✅ מופיעות בחנויות האפליקציות השונות כשאר האפליקציות.
✅ חיסכון בזמן וכסף מאחר ואין צורך לפתח אפליקציות נפרדות.
✅ מרגיש ונראה כאילו מדובר באפליקציית נייטיב.
✅ אותו קוד, ואותם כלים - אין צורך בתחזוקה כפולה.
✅ כוח אדם אחיד: אותו ידע והתמחות יכולה לשמש את אותו צוות מפתחים.
✅ קהילה גדולה של מפתחים וחברות ענק שתומכים בפרויקטים האלה.
חסרונות
❌ ביצועים (קצת) פחות טובים לעומת אפליקציות נייטיב.
❌ חוסר תמיכה רשמית מצד אפל או גוגל מה שעשוי להוביל לקשיים מסוימים.
❌ התממשקות רעועה עם יכולות ספציפיות של המכשיר לעומת אפליקציות נייטיב.
❌ לא תמיד מעודכנים עם החידושים האחרונים שאפל וגוגל מציעים למפתחים.
פיתוח אפליקציית ווב (Web)
האופציה השלישית היא פיתוח אפליקציית Web, שזה בעצם אתר אינטרנט במסווה של אפליקציה. עם ההתפתחות בגזרת בניית האתרים, צצו טכנולוגיות המאפשרות לבנות אתרים ״שנראים ומרגישים״ כמו אפליקציה אבל למעשה רצות בדפדפן אינטרנט.
החל מאתרים רספונסיבים שמתאימים את עצמם בגודל ובצורה בהתאם למסך בו הם נמצאים, ועד לגישה ליכולות ייחודיות במכשיר שמאפשרות לאתר להרגיש כמעט כמו אפליקציה. מאחר שבסופו של יום מדובר באתר שפשוט רץ בדפדפן (פשוט בלי המעטפת הויזואלית של הדפדפן), בדומה לפיתוח היברידי, גם כאן אותו קוד משמש לשתי הפלטפורמות - מה שחוסך בזמן פיתוח ובעלויות.
החיסרונות העיקריים בפיתוח אפליקציות ווביות הוא שלא ניתן לעלות את האפליקציות האלה לחנויות אפליקציות והעדר יכולות והתממשקויות מתקדמות יותר במכשיר (לדוגמא, גישה לאנשי קשר, חיישני תנועה ועוד), אך ככל שעוברות השנים - הטכנולוגיות הווביות סוגרות את הפער ומאפשרות גם את זה.
יתרונות
✅ חיסכון בזמן וכסף מאחר ואין צורך לפתח אפליקציות נפרדות.
✅ מרגיש ״כמעט״ כמו אפליקציה.
✅ האפליקציה זמינה מיידית מבלי צורך לחכות להורדה (שיתוף קל יותר).
✅ אותו קוד, ואותם כלים - אין צורך בתחזוקה כפולה.
✅ מאחר שאפליקציות ווב מבוססות טכנולוגיות אתרים, ניתן לעשות שימוש חוזר בקוד של האתר / להתאים אותו להיות אפליקציה וובית.
✅ כוח אדם אחיד: אותו ידע והתמחות יכולה לשמש את אותו צוות מפתחים.
חסרונות
❌ אין אפשרות להעלות את האפליקציה לחנויות.
❌ ביצועים נחותים יותר לעומת אפליקציות נייטיב או היברידיות.
❌ חוסר תמיכה רשמית מצד אפל או גוגל מה שעשוי להוביל לקשיים מסוימים.
❌ התממשקות רעועה עם יכולות ספציפיות של המכשיר לעומת אפליקציות נייטיב.
השוואה בין האופציות: מה כדאי לבחור?
אז אחרי שהבנו את היתרונות של כל אחת מהגישות לפיתוח אפליקציות, מי מהן כדאי לבחור בשביל האפליקציה שלכם? אז כרגיל, זה מאוד תלוי בדרישות של האפליקציה שלכם (טכניות ועסקיות) וכמובן גם בתקציב.
בעולם אידאלי בו אין מגבלת כסף וכוח אדם, כנראה יהיה הכי טוב ללכת על פיתוח נייטיב עבור כל אחת מהפלטפורמות - תקבלו את הביצועים הטובים ביותר עם היכולות פיתוח החדישות ביותר, וזו גם הדרך הרשמית והבלעדית של גוגל/אפל דוגלים בה. אבל כנראה שיש לכם אילוצים מסוימים ולכן תצטרכו לפעול בצורה חכמה שמתאימה לצרכים שלכם.
אמנם אני לא יכול לתת תשובה חד-משמעית לכל אחד ואחת מאחר והסיטואציה כנראה שונה בין סטארט-אפ לסטארט-אפ (תקציב, דרישות וכו׳), אבל להלן מספר שאלות שמענה עליהם יעזור לכם מאוד להבין איזו מהאופציות הכי מתאימה לכם (או לא מתאימות בצורה של אלמינציה):
❓מה התקציב שיש לכם?
כאמור, פיתוח נייטיב עשוי לתת תוצאות טובות יותר אבל מייקר את תהליך הפיתוח פי 2. במידה ואת מוגבלים תקציבית וחייבים שהאפליקציה תהיה זמינה גם לאנדרואיד וגם לאייפון, כנראה שהאופציות האחרות יהוו פתרון הגיוני יותר כלכלית.
❓האם אתם חייבים שהאפליקציה תהיה זמינה להורדה בחנות?
במידה וכן, אפשר להוריד מהפרק את האופציה של פיתוח אפליקציה וובית מאחר והיא לא מאפשרת להעלות לחנות אפליקציות. אי-הופעה בחנויות טומנת בתוכה הפסדים מסוימים - החל מהפסד המשתמשים שמסתובבים בחנות ומחפשים אפליקציות ועד להעדר עמוד ייעודי עם ביקורות - כל אלה משמשים כערוצים נוספים למשיכת משתמשים לאפליקציה שלא יהיו לכם. מצד שני, אפלקיציות ווב לא דורשות הורדה וזה יתרון בפני עצמו.
❓האם אתם צריכים יכולות מיוחדות של המכשיר טלפון?
בפיתוח אפליקציות היברידיות או ווביות לעיתים יש מגבלה להשתמש ביכולות מסוימות שאפשר רק בפיתוח נייטיב (לדוגמא, גישה לאנשי קשר או שימוש בחיישני WiFi של המכשיר). אם היכולות הללו מהוות חלק מרכזי באפליקציה שלכם והיא לא יכולה לתפקד בלעדיהן, כנראה שתיהיו חייבים ללכת על פיתוח נייטיב, או לפחות לבדוק שהיכולת קיימת בפלטפורמה ההיברידית שתחברו. מפו את היכולות המיוחדות הללו לפני ווודאו ששיטת הפיתוח שבחרתם תומכת בהן.
❓האם אתם חייבים שהאפליקציה תהיה זמינה גם לאייפון וגם לאנדרואיד?
אופציה נוספת שקיימת על הפרק היא לפתח אפליקציה נייטיב אבל אך ורק לפלטפורמה אחת (אנדרואיד או אייפון). המהלך מוזיל את עלויות הפיתוח מאחר ויש צורך להתמקד רק באפליקציה אחת, אך מצד שני מוותר על קהל לקוחות פוטנציאלי שנמצא בפלטפורמה שוויתרתם עליה. אמנם זה נשמע כמו מהלך שיווקי רע, אבל הרבה פעמים סטארט-אפים בוחרים לפתח תחילה רק לפלטפורמה אחת. מאחר ופוטנציאל השוק גם באנדרואיד או באייפון מספיק גדול לשלבים הראשוניים של המיזם, מדובר בצעד לגיטימי לחלוטין. ביום שבו המיזם יתחיל לתפוס תאוצה ואף לקבל הכנסות, ניתן להשתמש בכסף על מנת לפתח את האפליקציה גם לפלטפורמה השנייה. עבור רוב המיזמים, נוכחות בשתי הפלפטפורמות היא בגדר Nice-to-have וממש לא חובה.
❓ֿ האם אתם בכלל צריכים אפליקציה?
אי פעם שאלתם את עצמכם האם פיתוח אפליקציה זה בהכרח מה שהמוצר שלכם צריך? במרבית המקרים, יש סיכוי רב שאין באמת הצדקה מוצרית לפיתוח אפליקציה בחנויות עבור הרעיון שלכם. כפי שראיתם, פיתוח אפליקציות, בעיקר נייטיב, עשוי לעלות המון (בניגוד לאתר/אפליקציית ווב לדוגמא) ויתכן שזו תהיה הוצאה מיותרת. בניגוד לעבר, כיום אנשים פחות נלהבים להוריד אפליקציות מה שגם מדובר בתהליך מסורבל יותר שדורש הורדה-המתנה-והפעלה, לעומת אתר שפשוט נפתח ישר ללא המתנה. משתמשים רגילים לצרוך מוצרים דרך דפדפן האינטרנט בטלפון, ואם לכם סיבה טובה במיוחד לפתח אפליקציה במיוחד, כדאי לשקול פשוט ללכת על פיתוח אתר/אפליקציה וובית. לא רק שזה יהיה זול יותר, זה גם יתן חווית משתמש יותר טובה בכולל.
🧠 דעתי האישית בנוגע לבחירה
אני מאמין שעבור רוב המיזמים, במידה והם באמת מצדיקים פיתוח של אפלקיציה (ראו פסקה מעל), כנראה פיתוח היברידי כזה או אחר יהיה מספיק על מנת לצאת לדרך. בנוגע לפגיעה בביצועים - לרוב זה יהיה זניח ולא מה שישפיע אם האפליקציה שלכם תצליח או לא. אלא אם כן יש לכם ״יוז-קייס״ מאוד ספציפי שדורש יכולות מתקדמות של הטלפון (שימוש בחיישני WiFi או משהו שממש מוטמע בקרביים של המערכת הפעלה), כנראה שהטכנולוגיות ההיברידיות יספקו 99% מהצרכים שלכם. והאמת, גם לשימושים המיוחדים של הטלפון, רוב הפלטפורמות ההיברידיות מציעות פתרון שסוגר פינה.
אופציה נוספת שלגמרי על הפרק היא לפתח רק לפלטפורמה אחת בשלב ראשון (נגיד רק לאייפון), ולהשלים את הפלטפורמה השניה בהמשך לאחר שהוכחתם היתכנות עסקית בפלטפורמה הראשונה. כך גם תוכלו להנות מכל היתרונות של פיתוח נייטיב, אבל מבלי לבזבז זמן בלשכפל הכל - לפחות לא כרגע. ביום שבו האפליקציה תצליח בפלטפורמה שבחרתם ובתקווה תחליטו להרוויח כסף, לפתח לפלפוטרמה השנייה. ״צרות טובות״ מה שנקרא.
זכרו, Time To Market הוא אחד הדברים הכי חשובים בתור סטארט-אפ. אתם רוצים להשיק כמה שיותר מוקדם את המוצר שלכם, להתחיל לקבל פידבק ממשתמשים ולנווט בהתאם (או אף לרדת מהרעיון לגמרי). אל תבזבזו חודשים או שנים בשביל לנסות להיות מושלמים בכל הפלטפורמות כי הסיכויים גדולים שכנראה לא תקלעו בפעם הראשונה - פשוט בחרו את הדרך הכי מהירה להגיע לשוק כדי למצוא את ה-Product Market Fit שלכם.
מה הם שלבי פיתוח אפליקציה?
בלי קשר לאופן הטכני בו תבחרו לפתח, שלבי פיתוח האפליקציה יהיו פחות או יותר זהים. בד״כ מתחילים מתכנון ואפיון האפליקציה, ממשיכים לעיצוב ופיתוח, בדיקות והשקה בחנויות. בואו נעבור שלב שלב ונבין מה הוא כולל:
שלב #0: סקר שוק ובדיקת היתכנות
אידאלית, לפני שבכלל מתחילים לעשות משהו בנוגע לפיתוח של האפליקציה, כדאי לעשות מחקר שוק קצת בנוגע לקהל היעד ועולם הבעיה שהאפליקציה מנסה לפתור. התובנות והמסקנות מהתהליך זה עשויים להיות קריטיים לאופן בו תחליטו לבנות את האפליקציה מבחינה עסקית ומוצרית ויוודאו שלמה שאתם בונים יש באמת קהל משתמשים בצד השני.
שלב #1: תכנון ואפיון
לפני יציאה לדרך, יש לעשות תכנון ואפיון מסודר של האפליקציה - הבנה של המטרות עסקיות, אפיון מסכים וממשקים (UI), חווית משתמש, הגדרת יכולות, פיצ׳רים ועוד.
מדובר במסמך אפיון מוצר (נקרא גם PRD) המכיל את תכולת האפליקציה מקצה לקצה. מטרתו העיקרית היא, ראשית, לתחם הדרישות המוצריות, ושנית, לוודא שכל המעורבים בפרויקט (החברה, הלקוח, צוותי הפיתוח וכו׳) מיושרים בנוגע לתכולה של הפרויקט.
המון פעמים מסמך האפיון יכלול סקיצות ראשוניות של המוצר (Wireframes) והאופן בו כל המסכים והיכולות באפליקציה ״מתנגנים״ ביחד. זה השלב לשאול שאלות, לעלות תהיות או בקשות בנוגע למוצר לפני שיוצאים לדרך.
שלב #2: עיצוב וחווית משתמש
לאחר שיש לכם איפיון מסודר, הגיע שלב העיצוב הסופי. בשונה משלב האפיון הראשוני שבעיקר הציג קונספטים ״חצי אפויים״ של איך האפליקציה תראה, בשלב זה לוקחים את העיצוב לשלב הבא לרמה מוגמרת יותר (מה שנקרא מוקאפים) - בחירת צבעים, אלמנטים ויזואלים, מבנה, מסכים וכו׳. התוצר של שלב זה יהווה פחות או יותר את איך שהאפליקציה תראה לאחר שלב הפיתוח.
שלב #3: פיתוח
אחרי שאושר העיצוב, עוברים לשלב הפיתוח. בשלב זה, צוות הפיתוח (המתכנתים) לוקחים את העיצוב ״ומתרגמים״ אותו לקוד עובד ומתפקד. בד״כ מדובר בשלב הארוך ביותר בתהליך הכולל של פיתוח האפליקציה, ולכן אידאלית כדאי לעבוד בו בשיטת פיתוח אג׳ילי - כלומר, לשחרר בפרקי זמן קצרים גרסאות ״קטנות״ של האפליקציה שאפשר ״לשחק״ איתן לפני שממשיכים הלאה. שיטת עבודה זו מסייעת למנוע מצב שצוות הפיתוח שוקד חודשים על הפיתוח אבל עושה טעויות (טכניות, עסקיות או מוצריות) שרק בסיום יהיה ניתן לעלות עליהם, ובכך למנוע בזבוז זמן וכסף מיותר.
שלב #4: בדיקות ושחרור לחנויות
בשלב זה יש לכם אפליקציה עובדת ביד וכל מה שנותר הוא לעשות ליטושים ובדיקות אחרונות לפני שמשחררים אותה לקהל הרחב. במידה ופיתחתם אפליקציה נייטיב/היברדית, בשלב זה תצטרכו לפתוח משתמש ייעודי בכל אחת מהחנויות (Google Play ו-Apple App Store של גוגל ואפל בהתאמה), תעלו את האפליקציה שיצרתם ותבנו לה ״פרופיל״ בחנות, תחכו לאישור מצידם שהכל בסדר ובום - האפליקציה זמינה בחנויות. זה שלב מאוד קריטי בחיי הפיתוח של האפליקציה - הן מבחינת ההתרגשות הפנימית שלכם בתור ״האמא והאבא״ של הפרויקט והן מאחר ומדובר בפעם הראשונה שמשתמשים אמיתיים נוגעים באפליקציה ועשויים לתת לכם פידבק יקר ערך להמשך הדרך (או בתקווה, יתחילו לשלם עליה).
שלב #5: תחזוקה ועדכונים
״יאללה, דחפנו לחנות וסיימנו״ - אז זהו שלא. כמו כל דבר שנוצא ע״י בני אדם, גם למוצר שלכם יהיה עדכונים הכרחיים שתצטרכו לעשות. בין אם מדובר בתקלה/באג קטלני שמונע שימוש באפליקציה ועד לעדכונים ושיפורים כלליים לאפליקציה. שלב התחזוקה או שלב שנמצא בפוטנציה אינסופית - כל עוד האפליקציה חיה בחנות, תצטרכו בשלב כזה או אחר להמשיך לתמוך בה ולשפר אותה. התקווה שבשלב זה כבר תתחילו להרוויח כסף מהאפליקציה ולהשתמש בו על מנת להמשיך להשתפר.
כמה זמן לוקח כל התהליך?
ובכן, בדומה לשאלה של ״כמה עולה לבנות אפליקציה?״, גם כאן הזמן שיקח לכם לבנות אפליקציה הוא פונקציה של התכולה, המורכבות והחברה שתעבדו איתה (במידה ואתם נעזרים בחברת פיתוח חיצונית). כפי שאתם רואים, פיתוח אפליקציה הוא פרויקט רב שלבי אשר מעורבים בו המון גורמים (מנהלי מוצר, מעצבים, מתכנתים, פיתוח עסקי ועוד) וגם אפליקציה מאוד פשוטה עשויה להיות ״פרויקט״.
באופן גס וכללי במיוחד, אפשר לומר שהזמנים נעים בין 3-6 חודשים. פחות מזה יתכן כאשר מדובר באפליקציה מאוד פשוטה, ויותר מזה יכול לרמוז לכך שהתכולה של האפליקציה גדולה מידי ועדיף ״לחתוך״ קצת ביכולות בשביל להגיע מהר יותר לשלב של השקה - שלב קריטי וסופר חשוב עבור כל מיזם.
טיפים כלליים בפיתוח אפליקציות
עכשיו כשעברנו על כל היסודות - כמה עולה פיתוח אפליקציה, האופציות הטכנולוגיות והשלבים הכרוכים בפיתוח, ארצה לשתף במספר טיפים ותובנות שאולי עשויים לחסוך לכם זמן וכסף יקר.
1. בנו מוצר ראשוני - פחות פיצ׳רים -> פחות זמן וכסף
להמון יזמים יש נטייה להיות פרפקציוניסטים - זה או שלאפליקציה שלהם יהיה את כל(ללל) הפיצ׳רים או כלום. בעולם הסטארט-אפים, התנהלות שכזו שלפעמים עשויה במרבית הפעמים לפעול לרעתם.
הילחמו ביצר לשלמות, ונסו להתרכז בעיקר - במוצר ״הרזה״ ביותר שאתם יכוללים לזקק מהרעיון שלכם, מה שנקרא גם MVP, ראשי תיבות של Most Viable Product. מדובר בפרקטיקה נפוצה בעולם הסטארט-אפים המתארת בנייה ופיתוח של מוצר בסיסי שמכיל את המינימום הנדרש (מבחינת יכולות ונראות) על מנת להתחיל להשיק אותו.
מעבר לזמן והכסף שתחסכו על מנת להוציא אפליקציה עמוסה בפיצ׳רים שאין לכם מושג אם מישהו בכלל ישתמש בהם אי פעם, גם תוכלו להשיק את האפליקציה למשתמשים אמיתיים ולקבל פידבק אמיתי שיסייע לכם לבנות אפליקציה שבאמת עונה לצרכים של הלקוחות שלכם.
2. השוו בין נותני שירות
במידה ואתם מתכוונים לעבוד עם חברה לבניית אפליקציות או פרילאנסר שמסייעים לכם בפיתוח האפליקציה, תמיד (תמיד) תבדקו מספר אופציות לפני שאתם סוגרים משהו. העולם מלא בחברות תוכנה, חלקן עושות עבודה מעולה אך חלקן (לצערי) פשוט סוחטות כסף מיזמים ויזמות נלהבים שרוצים ״להגשים את החלום״.
כמו כל מוצר שאתם משלמים עליו בתחומים אחרים, תמיד שווה להשוות בין המוכרים, לקרוא ביקורות (ולא, ביקורות שמופיעות באתר שלהם זה לא נקרא) ולקבל המלצות ממכרים. חברת תוכנה (טובה) לא תנסה למכור לכם חלומות, תציע דרכים חכמות להשיק את המיזם בצורה שהכי מטיבה עם התקציב שלכם ותייעץ גם באופן כללי על האטסטרגיה העסקית והכדאיות של המיזם.
🚨 שימו לב - במידה ואין לכם ניסיון או רקע טכנולוגי, אף פעם אל תשקיעו סכומי פיתוח גדולים עם נותני שירות מבלי שקודם הבנתם את הצורך בקיום של הרעיון לאפליקציה שלכם והתייעצתם עם אדם אחר (שיש לו ניסיון) בנוגע להצעה שקיבלתם. לצערי נותני שירות רבים מנצלים את הבורות וחוסר הניסיון של יזמים/יזמות על מנת לשאוב מהם כמה שיותר כסף על מוצר עמוס בפיצ׳רים ויכולות אבל שלא באמת עונה על שום צורך עסקי. תמיד התייעצו - בין אם זה עם נותן מלווה (בתשלום), מכר או אפילו קבוצות פיתוח ויזמות בפייסבוק.
3. פיתוח אפליקציות ללא קוד
השנים האחרונות הביאו עמם חידוש בעולם הפיתוח - עולם ה-No Code. מדובר בכלים ושירותים המאפשרים לכם לבנות אתרים ואפליקציות ללא שימוש בקוד (או ממש קצת ממנו). לא רק שהדבר מסייע בהורדת זמני הפיתוח, הוא גם פותח את אפשרות הפיתוח גם לאנשים ללא רקע בתכנות.
יש סיכוי טוב מאוד שיש פלטפורמת No Code שעשויה לסייע לכם לבנות את האפליקציה שלכם במהירות ובמחיר זול משמעותי מאשר פיתוח מאפס, במיוחד כמדובר במוצר MVP ראשוני.
בחנו את שירותי ה-No Code הקיימים ובדקו האם אחד מהם עשוי להיות ״טוב מספיק״ עבור ה-Use Case שלכם, לפחות כרגע. כתבנו מאמר שלם על פיתוח אפליקציות ללא קוד שאני ממליץ לקרוא:
4. ללמוד פיתוח אפליקציות לבד
נכון, אמנם לא אופציה ריאלית עבור רוב קוראי מדריך זה, אבל אני רק שם את זה על השולחן. בסופו של יום פיתוח אפליקציות זה לא מדע טילים, ועם כמות המידע והקורסים שיש באינטרנט ללימודי פיתוח אפליקציות -זו לא משימה בלתי אפשרית ללמוד לפתח לבד. כמובן במקרה הכי חמור, תלמדו מקצוע נחשק עם שכר טוב גם אם האפליקציה שלכם מיועדת לכישלון :-)
לסיכום - ידע זה כוח (וכסף)
אני מקווה שהמדריך הנ״ל נתן לכם רקע טוב להתחיל את המסע שלכם בעולם האפליקציות.
אשמח לשמוע ממכם שאלות וגם מה החוויות שלכם:
- מה הניסיון שלכם בפיתוח אפליקציות?
- נייטיב, היברידי, וואב - יש לכם העדפה?
- יש לכם שאלות טכניות בנושא? אשתדל לענות על כולן.
נ.ב - אם אתם מחפשים חברות תוכנה שיעזרו לכם בפיתוח, מוזמנים לבדוק את לוח נותני השירות שלנו שמיועד לסטארט-אפים.