Photo by Peter G on Unsplash

שלבים בתהליך פיתוח אפליקציה/ תוכנה

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

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

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

להלן רשימת שלבים עיקריים בפיתוח תוכנה:

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

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

3אפיון חווית משתמש – שלב אשר מטרתו לזהות דרישות של קהל היעד כלפי הממשקים של המוצר ולתרגם דרישות פונקציונאליות שהוגדרו בשלב האפיון לתצוגות המערכת. במסגרת אפיון חוויית המשתמש ייתכנו חידודים ושינויים בסיפורי משתמש. התוצר של השלב הזה הינו רשימה של פרסונות (משתמשים טיפוסיים במערכת), דיאגרמת flows ואוסף wireframes לתצוגות של המערכת.

4עיצוב גרפי ומיתוג – שלב במהלכו קובעים את השפה העיצובית של האפלקציה (לוגו, פלטת צבעים, גופנים) ומייצרים עיצובים סופיים לכל אחד מהמסכים של האפליקציה. תוצר סופי של שלב זה: עיצוב סטטי לכל מסך, עיצוב נפרד של רכיבים פונקציונאליים נפרדים בכל המצבים האפשריים, הנחיות למימוש העיצוב ללא צורך בתמונות רקע + תמונות רקע חתוכות עבור אלמנטים שלא ניתנים למימוש באמצעות CSS בלבד.

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

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

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

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

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