על ידי צוות Techopedia, 16 בנובמבר 2016
ברק: המארח אריק קוואנה דן בחשיבות של דוגמנות נתונים בפיתוח זריז עם רובין בלור, דז בלנשפילד ורון הויזנגה של IDERA.
אינך מחובר כרגע. התחבר או הירשם כדי לראות את הסרטון.
אריק קוואנה: אוקיי גבירותיי ורבותיי. ברוך הבא שוב. זה יום רביעי בשעה 4:00 EST. זה אומר שהגיע הזמן לוט טכנולוגיות. אכן כן. שמי אריק קוואנה, אני אהיה המארח שלך.
לנושא של ימינו, מדובר באולדיי אבל טוב. זה משתפר כל יום מכיוון שהוא מעצב את עולם ניהול הנתונים שלנו, "דוגמנות נתונים בסביבה זריזה." יש שקופית שלך באמת, הכה אותי בטוויטר @eric_kavanagh. עלינו באמת לשים אותו בשקופית הזו. אני אצטרך להמשיך בזה.
אז השנה הכי חמה. דוגמנות נתונים קיימת לנצח. זה היה באמת לב ונקבה של עסק ניהול המידע, תכנן מודלים של נתונים, מנסה להבין מודלים עסקיים וליישר אותם למודלי הנתונים שלך. זה באמת מה שאתה מנסה לעשות, נכון?
מודל נתונים מייצג את העסק בצורה מהותית, אז איך כל מקורות הנתונים החדשים האלה משנים את המשחק? אנו נברר זאת. אנו נברר כיצד תוכלו להישאר על כל הדברים בצורה זריזת. וכמובן, זו מילת השנה.
רובין בלור איתנו, האנליטיקאי הראשי שלנו, דז בלנשפילד שמתקשר לסידני, אוסטרליה ורון הויזנגה, מנהל מוצר בכיר מאי.די.אר.א - חבר ותיק שלי, דובר מצוין בחלל הזה, מכיר את הדברים שלו, אז אל תתביישו, תשאלו אותו השאלות הקשות, האנשים, הקשים. עם זה, אני הולך להפוך את רובין לפרזנטציה ולקחת את זה משם.
ד"ר רובין בלור: אוקיי. ובכן תודה על זה, אריק. אני צריך לומר על דוגמנות שאני חושב, הייתי בעצם בעולם ה- IT לפני שהוא היה קיים, במובן זה שאני זוכר בחברת הביטוח שעבדתי איתה, שיש לנו בחור שנכנס ויתן לכולנו סוג של סדנה כיצד לדגמן נתונים. אז אנחנו מסתכלים על 30 שנה, האם 30 שנה? אולי אפילו יותר מזה, אולי לפני 35 שנה. דוגמנות ארוכת שנים ארוכות הייתה למעשה חלק מהתעשייה וכמובן שזה לא קשור בכלל לנשים עם מסלולי טיולים.
הדבר שרציתי לומר, כי מה שאנחנו עושים בדרך כלל זה אני ודז מדברים על דברים שונים ופשוט חשבתי שאתן את הסקירה הכללית למודלים, אבל יש מציאות לזה, זה עכשיו מתברר.
יש לנו, אתה יודע, מציאות גדולה של נתונים, יש לנו יותר נתונים, יותר מקורות נתונים, יש לנו זרמי נתונים שנכנסו למשוואה בשלוש-ארבע השנים האחרונות ומתחילים לקבל חלק גדול יותר ממנה, יש צורך גדול יותר להבין את הנתונים ועלייה בשיעור השינוי שמוסיפים יותר נתונים וגם משתמשים במבני נתונים יותר.
זה עולם קשה. הנה תמונה שלו, שהיא למעשה משהו שציירנו לפני כשלוש שנים אבל בעיקרון, ברגע שאתה כולל זרימה לתמהיל ומקבל רעיון זה של זיקוק נתונים, רכזת נתונים, קישור נתונים או כל דבר אחר, אתה רואה שיש נתונים שהם באמת במנוחה, במובן זה שזה לא מסתובב הרבה. ואז יש את הנתונים, את הזרמים ויש לך את כל האפליקציה לביצוע פעולות, ובנוסף יש לך אירועים, זרמי תאריכים של אירועים שקורים ביישומים ואולי צריך, וכיום עם ארכיטקטורות ה- lambda שכולם מדברים עליהם, הם באמת באמת והשפעה על שדה הנתונים בלבד.
וכעת חושבים במונחים של שכבת נתונים. שכבת הנתונים קיימת בסוג של דרך וירטואלית, במובן זה שחלק טוב ממנה יכול להיות בענן והיא יכולה להתפשט על מרכזי נתונים, היא יכולה להתקיים בתחנות עבודה. שכבת הנתונים נמצאת, במידה מסוימת, בכל מקום ובמובן זה, ישנם תהליכים בכל מקום שמנסים בדרך זו או אחרת לעבד את הנתונים ולהעביר את הנתונים עליהם. אבל גם לדעת מה זה כשאתה מעביר את זה, זה עניין גדול.
אם אנו מסתכלים על דוגמנות נתונים במובן הכללי ביותר, בחלק התחתון של ערימה מסוג זה יש לכם קבצים ומסדי נתונים. יש לך אלמנטים של נתונים, שיש להם מפתחות, הגדרות אלמנטים, כינויים, מילים נרדפות, פורמטים פיזיים ספציפיים ואז יש לנו שכבת מטא נתונים זו.
הדבר המעניין במטא נתונים הוא שמטא נתונים הם לחלוטין איך הנתונים מקבלים את המשמעות שלהם. אם אין לך ממש מטא נתונים, במקרה הטוב אתה יכול לנחש את המשמעות של הנתונים, אבל עומדים בפניך הרבה קשיים. מטא נתונים צריכים להיות שם, אבל למשמעות יש מבנה. אני לא רוצה להיכנס לפילוסופיה של המשמעות, אבל אפילו באופן בו אנו עוסקים בנתונים, יש הרבה תחכום במחשבה האנושית ובשפה האנושית, שאינה מתבטאת בקלות בנתונים. אבל גם מבחינת הנתונים שאנו מעובדים בפועל בעולם, למטא-נתונים יש משמעות ומבנה המטא-נתונים - פיסת נתונים אחת ביחס לאחרת ומה זה אומר כשהם מרכיבים ומה זה אומר כשהם ' הצטרף שוב לנתונים אחרים, דורש שנמודל אותם. זה לא מספיק טוב רק להקליט תגי מטא נתונים לדברים, אתה למעשה צריך לרשום משמעות לכל מבנים והקשר בין המבנים.
אז יש לנו בשכבה העליונה, ההגדרות העסקיות, שלרוב מדובר בשכבה שמנסה להעביר משמעות בין מטא נתונים, שהיא סוג של הגדרת נתונים המאפשרת את אופן ההתארגנות של נתונים במחשב ומשמעות אנושית. אז יש לך מונחים עסקיים, הגדרות, מערכות יחסים, מושגים ברמת ישויות שקיימים באותה שכבה. ואם אנו הולכים להיות עקביות בין השכבות הללו, עלינו להיות דוגמנות נתונים. זה לא ממש אופציונלי. ככל שתוכלו לעשות זאת יותר במונחים של אוטומציה, כך ייטב. אבל מכיוון שזה קשור למשמעות, ממש קשה להחליף. זה די קל לתפוס את המטא נתונים בתוך רשומה ולהיות מסוגל להשיג אותם מסדרת משמעויות, אבל זה לא אומר לך את מבנה הרשומות או מה המשמעות של הרשומות או ההקשר של הרשומה.
אז זהו, על מה עוברת דוגמנות נתונים. נקודות שצריך לשים לב: ככל שיקום הנתונים מורכב יותר, אתה צריך לדגמן אותו יותר. במילים אחרות, זה קצת כאילו אנו מוסיפים לא רק יותר מקרים של דברים לעולם, אשר יתאימו לרישומי נתונים, אלא שאנחנו בעצם מוסיפים משמעות יותר לעולם על ידי לכידת נתונים על עוד ועוד דברים. זה הופך להיות תחושה מורכבת יותר ויותר שעלינו להבין.
בתיאוריה יש יקום נתונים ואנחנו צריכים מבט עליו. בפועל, המטא נתונים בפועל הם חלק מיקום הנתונים. אז זהו, שזה לא מצב פשוט. תחילת הדוגמנות היא מלמעלה למטה ולמטה למעלה. אתה צריך לבנות בשני הכיוונים והסיבה לכך היא שלנתונים יש משמעות למחשב ולתהליך, שהם חייבים לעבד אותם, אבל יש להם משמעות בפני עצמה. אז אתה זקוק למשמעות מלמטה למעלה, שתספק את התוכנה שצריך לגשת לנתונים ואתה זקוק למשמעות מלמעלה למטה כדי שבני אדם יוכלו להבין אותם. בניית דגמי מטא נתונים אינה ולעולם אינה יכולה להיות פרוייקט; זו פעילות מתמשכת - צריכה להיות פעילות מתמשכת בכל סביבה שהם קיימים. למרבה המזל, יש הרבה סביבות, בהן זה למעשה לא המקרה והדברים יוצאים משליטה בהתאם.
קדימה, הדוגמנות עולה עם החשיבות ככל שהטכנולוגיה מתקדמת. זה הדעה שלי. אבל אם אתה מסתכל על ה- IoT נוכל להבין את המובייל יותר ממה שהיינו בעבר, למרות שהוא הציג ממדים חדשים: מימד המיקום עם הנייד. ברגע שתגיע ל- IoT, אנו בודקים בעיות נתונים בלתי רגילות שלעולם לא היינו צריכים לעשות בעבר ואנחנו צריכים, כך או אחרת, להבין נכון מה יש לנו, בדיוק כיצד אנו יכולים לצבור את זה, מה אנחנו יכולים לעשות במונחים של קבלת משמעות מהצבירה, וכמובן, מה אנחנו יכולים לעשות עם זה, לאחר שעיבדנו אותה.
אני חושב שזו כבר אמרתי מספיק. אני אעבור לדז בלנשפילד, שיגיד משהו אחר לגמרי.
דז בלנשפילד: תודה. תמיד מעשה קשה לעקוב אחריו, אבל זה נושא שסיכמנו עליו ודיברנו עליו בקצרה בנטרנית הראווה, ואם חייגת מוקדם, כנראה שתפסת חבורה שלמה של אבני חן נהדרות. אחד הנסיעות, ואני לא רוצה לגנוב את הרעם של הספציפית הזו, אבל אחד הנסיעות מהבנטנות שלנו מראש שאני רוצה לחלוק, למקרה שלא תפסת את זה, היה רק סביב הנושא של מסע הנתונים, והדהד אותי בפועל לרשום אותו במחשבה על המסע שהנתונים עוברים בהקשר אחר סביב חיי דורות - שנה, חודשים, שבוע, יום, שעה, דקה, שנייה - וההקשר סביב הנתונים הם ממוקמת בהקשר זה. בין אם אני מפתח רץ של מפתח, ובין אם אני מומחה נתונים ואני חושב על המבנה והפורמט והמטא נתונים סביב כל אחד מהאלמנטים, או על האופן שבו המערכות והעסק מתקשרים עימו.
זה תפריט קטן ומעניין רק לציין, אבל בכל אופן, הרשו לי לצלול פנימה. עיצוב נתונים, בפרט, הוא ביטוי שאני משתמש בו כדי לדבר על כל הנתונים על נתונים ובאופן ספציפי פיתוח של יישומים או תשתיות מסד נתונים. אני חושב שעיצוב נתונים הוא מונח שפשוט לוכד את הכל טוב מאוד במוחי. בימים אלה כשאנחנו מדברים על עיצוב נתונים אנו מדברים על עיצוב נתונים מודרני זריז, וההשקפה שלי היא שלא עבר זמן כה רב שמפתחים ומומחי נתונים עבדו לבד; הם היו בממגורות משלהם ופיסות העיצוב עברו ממגורה אחת לאחרת. אבל אני מעריך את השקפתנו בימים אלה, שלא רק שזה השתנה, אלא שהוא צריך להשתנות; זה סוג של הכרח וזה היישום הזה - מפתחים וכל מה שקשור לפיתוח העוסק בנתונים, המעצבים שעושים את האלמנטים העיצוביים הרלוונטיים של סכמות ושדות ורשומות ומערכות מיקום ותשתיות מסד נתונים, דוגמנות והניהול כולו. אתגר סביב זה. זה ספורט קבוצתי עכשיו ומכאן התמונה שלי על חבורה של אנשים שקופצים מתוך מטוס שמתפקדים כקבוצה כדי לשחק את אותה תמונה מעניינת מבחינה ויזואלית של אנשים הנופלים בשמיים.
שלישית, מה קרה להביא לזה? ובכן, יש מאמר ב -1986 שנכתב על ידי זוג ג'נטלמנים ששמם ניסיתי נואשות לעשות צדק, הירוטקה טייקוצ'י ואיקוג'ירו נונאקה, לדעתי מבוטא, הפיקו מאמר שכותרתו "הזזת שדה התחתית." הם הציגו הרעיון הזה של מתודולוגיה של ניצחון במשחק רוגבי הנובע מהפעילות הזו, שם כולם מסתובבים במקום אחד ושתי קבוצות בעצם נועלות ראשים במשהו שנקרא scrum כדי לנסות להשיג שליטה על הכדור ולשחק אותו במגרש כדי להגיע לקו הניסיון ולגעת באדמה עם הכדור ולקבל נקודה, שנקראת תלתיל, ואתה חוזר על התהליך הזה ומקבל יותר נקודות עבור הקבוצה.
מאמר זה פורסם בשנת 1986 בכתב העת Harvard Business Review, ובאופן מוזר הוא דווקא זכה לתשומת לב רבה. זה זכה לתשומת לב רבה מכיוון שהוא הציג מושגים חדשים מדהימים והנה צילום מסך של חזיתו. אז הם הוציאו את המושג הזה של scrum מהמשחק הרוגבי והם הביאו אותו לעסקים ובמיוחד במשחק העיצוב ומשלוח הפרויקטים, במיוחד מסירת פרויקטים.
מה שעשה הסרום נתן לנו מתודולוגיה חדשה בהשוואה לאנשים כמו PRINCE2 או PMBOK שבעבר השתמשנו במה שקראנו למתודולוגיית המפל, אתם יודעים, עשו את הדבר הזה ואת הדבר הזה ואת הדבר הזה ופעלו אחריהם ברצף ותתחברו כל הנקודות מסביב, שתלויות במה שהיה לכם, או אל תעשו חלק שני עד שתעשו חלק ראשון כי זה היה תלוי בחלק הראשון. מה שהיא העניקה לנו היא מתודולוגיה חדשה להיות קצת יותר זריזה, מכאן בא המונח, על האופן בו אנו מספקים דברים, ובאופן ספציפי סביב תכנון ופיתוח מסירת פרויקטים של גורמים.
חלק מדיירי המפתח - רק כדי שאמשיך עם זה - הוא סביב דיירי המפתח של הסרום. זה הציג את הרעיון של חוסר יציבות בבניין, שביעילות אם אתה חושב על הפחד מפני התוהו ובוהו, העולם קיים במצב של כאוס, אבל כדור הארץ נוצר, וזה מעניין, כך שבניית חוסר יציבות, את היכולת להקפיץ סביב קצת עדיין למעשה גורם לדברים לעבוד, לארגן צוותי פרוייקט עצמי, חופפים טובות הנאה באמצעות פיתוח אחראי מאוד, סוגים שונים של למידה ושליטה דרך המסע של מסירת הפרויקט, העברת הארגון של הלמידה. אז איך ניקח מידע מחלק אחד של העסק ומעביר אותו לחלק אחר מאנשים שיש להם רעיון אבל לא מפתחים קוד או לא מפתחים מאגרי מידע ותשתיות, אלא נתונים לאנשים האלה? ובאופן ספציפי תוצאות עם תיבות זמן. במילים אחרות, בואו נעשה זאת לפרק זמן, או ביום כמו 24 שעות, או שבוע או שבועיים ונראה מה אנחנו יכולים לעשות ואז צעד אחורה ונראה את זה.
וכך, אם אתה סליחה את משחק המלים, זה באמת משחק חדש במסירת פרויקטים ושלושת מרכיבי הליבה אליו שיהיה הגיוני כשנתקדם הלאה - יש את המוצר: לכל האנשים האלה יש את הרעיון ויש להם צורך לעשות משהו ולסיפור הסובב אותם. מפתחים שפועלים במודל הזריז של קבלת סיפוריהם ובאמצעות סטנדרטים יומיומיים המשתמשים במתודולוגיית הסרום כדי לדון בה ולהבין מה הם צריכים לעשות ואז פשוט להמשיך ולעשות זאת. אז אנשים, שמענו על אדוני scrum שמפקחים על כל העניין הזה ומבינים מספיק את המתודולוגיה כדי להניע אותה. כולנו ראינו את התמונות האלה שקיבלתי בצד ימין כאן של קירות ולוחות לב מלאים בתוויות פוסט-איט והם שימשו כקירות קאנבן. אם אינך יודע מיהו קאנבן, אני מזמין אותך לגוגל מי היה מר קאנבן ומדוע זה היה שינוי בדרך בה אנו מעבירים את הדברים מצד אחד לצד השני בקיר תרתי משמע, אלא בפרויקט.
במבט חטוף, זרימת העבודה של הסרום עושה זאת: היא לוקחת רשימה של דברים שארגון רוצה לעשות, מריץ אותם דרך סדרת דברים שאנו מכנים ספרינטים המחולקים לתקופות של 24 שעות, תקופות ארוכות בחודש, ואנחנו קבל סדרת התפוקות המצטברת הזו. זה שינוי משמעותי בדרך בה מועברים פרויקטים, הועברו עד לשלב הזה מכיוון שחלק מזה זורם כמו צבא ארה"ב שהיה לו חלק גדול בפיתוח משהו שנקרא PMBOK, כמו הרעיון שלא לוקח את הטנק לשטח עד שתכניס כדורים לעניין כי אם לטנק בשדה אין כדורים, זה חסר תועלת. לכן חלק אחד מכניסים כדורים למיכל, חלק שני מכניסים את הטנק לשדה. אולם למרבה הצער, מה שקרה עם מפתחים בעולם הפיתוח איכשהו תפס את המתודולוגיה הזריזת הזו ורץ איתה באופן שטוח, אם אתה סליחה את משחק המלים, בספרינט.
באופן בלתי הפיך מה שקרה הוא שכשאנחנו חושבים על זריזות אנחנו בדרך כלל חושבים על מפתחים ולא על מאגרי מידע וכל מה שקשור לעולם מאגרי המידע. זו הייתה תוצאה מצערת מכיוון שהמציאות היא שזריזות אינה מוגבלת למפתחים. למעשה, המונח זריז בעיניי לרוב קשור באופן שגוי אך ורק למפתחי תוכנה ולא למעצבי מסדי נתונים ואדריכלים. לרוב מתמודדים אותם אתגרים שאתה עומד בפיתוח תוכנה ופיתוח אפליקציות בכל הקשור לתכנון ופיתוח ותפעול ותחזוקה ולכן של תשתיות נתונים ובעיקר מסדי נתונים. השחקנים במאגר הנתונים הספציפי הזה כוללים את דמיונם של אדריכלי נתונים, מעצבים, מנהלים, מנהלי תשתיות מסד נתונים ומאגרי המידע עצמם עצמם עד לאנליסטים ואדריכלים של מערכות ואנשים אדריכלים, אנשים שיושבים וחושבים איך המערכות ופעילות עסקית וכיצד עלינו להזרים נתונים באמצעות אלה.
זה נושא שאני מעלה באופן קבוע מכיוון שזה תסכול בלתי פוסק שלי בכך שאני מאוד חושב שהמומחים על נתונים - לא צריכים - חייבים להיות מעורבים כעת באופן אינטימי בכל מרכיב בהעברת פרויקטים, באמת, במיוחד פיתוח. כדי שלא, אז אנחנו ממש לא נותנים לעצמנו את הסיכוי הטוב ביותר לתוצאה טובה. לעתים קרובות אנו נאלצים להסתובב ולעשות מחשבה נוספת על הדברים האלה מכיוון שקיים תסריט, אנו מגיעים לאפליקציה הנבנית ואנחנו מגלים שהמפתחים אינם תמיד מומחי נתונים. עבודה עם בסיסי נתונים דורשת מיומנויות מאוד מיוחדות, במיוחד סביב נתונים, ובונה חוויה. אתה לא פשוט הופך בן לילה לגורו מסד נתונים או למומחה בתחום ידע נתונים; זה לעתים קרובות משהו שמגיע מחוויה של פעם ובוודאי כמו ד"ר רובין בלור בקוד היום, שכתב את הספר בצורה די עשירה.
במקרים רבים - וזה מצער אך זו מציאות - שיש שני חלקים של המטבע הזה, כלומר למפתחי תוכנה יש הסבר משלהם לגבי מומחי מסד נתונים ובנו את הכישורים הדרושים לכם במודלים לעיצוב בסיסי נתונים, ופיתוח מודלים הוא רק בסיסי בהנדסת גורואים כיצד נתונים נכנסים ואיך ארגון המסע שהם מבצעים ואיך עליהם להיראות או לא אמור להיראות, או ללא ספק ההשקעה וההבנה שהם מתקבלים בדרך כלל במיומנויות מקוריות המיועדות למפתחי תוכנה. וכמה מהאתגרים הנפוצים העומדים בפנינו, רק בכדי לשים את זה בהקשר, כוללים חיבורים של יצירה בסיסית ותחזוקה וניהול של תכנון בסיסי נתונים בעצמו, תיעוד הנתונים ותשתית בסיס הנתונים ואז שימוש חוזר בנכסי נתונים אלה, תכנון סכימה, דורות של סכימות, ניהול ותחזוקה של הסכימה והשימוש בהם, שיתוף הידע סביב הסכימה הזו מתוכננת בצורה מסוימת והחוזקות והחולשות שמגיעות עם זה לאורך זמן גורמים לשינויי נתונים לאורך זמן, דוגמנות נתונים והסוגים של דגמים שאנו מיישמים על המערכות והנתונים שאנו זורמים דרכם. יצירת קוד מסד נתונים וזה ממשיך על אינטגרציה ואז מעוצבים נתונים סביבם ואז גישה מהירה יותר לשליטה באבטחה סביב הנתונים, שלמות הנתונים אנו מעבירים את הנתונים בזמן שאנחנו שומרים על שלמותם, האם יש מספיק מטא נתונים מסביב האם מכירות צריכות לראות את כל הרשומות בטבלה או שעליהן לראות רק את הכתובת, השם הפרטי, שם המשפחה ששולח לך דברים בפוסט? ואז כמובן האתגר הגדול מכולם הוא לעצב פלטפורמות מסד נתונים שכולה שיחה אחרת בפני עצמה.
אני מעריך מאוד כי עם כל זה בחשבון כדי לאפשר כל אחת מהנירוונה הזו אפשרית, זה קריטי לחלוטין שגם למומחי הנתונים וגם למפתחים יש את הכלים המתאימים וכי הכלים הללו יוכלו למסור פרויקטים ממוקדי צוות, תכנון, פיתוח ותחזוקה מבצעית שוטפת. אתה יודע, דברים כמו שיתוף פעולה בין פרויקטים בין מומחי נתונים ומפתחי תוכנה, נקודת אמת אחת או מקור אמת יחיד לכל הדברים סביב תיעוד מסדי הנתונים עצמם, הנתונים, הסכימות, מאיפה הרשומות מגיעות, בעלי הרשומות האלה . אני חושב שביום ובגיל זה זה קריטי לחלוטין, אנחנו הולכים לקבל את הנירוונה הזו של נתונים להיות מלך, שהכלים הנכונים צריכים להיות במקום כי האתגר גדול מכדי שנוכל לעשות זאת ידנית, ואם אנשים לעבור לארגון אחד ומחוצה לו, קל לנו מדי שלא לעקוב אחר אותו תהליך או מתודולוגיה שאדם אחד עשוי להקים שהם טובים ולא בהכרח להעביר את הכישורים והיכולות הללו קדימה.
עם זה בחשבון, אני הולך לחברנו הטוב ב- IDERA ולשמוע על הכלי הזה ואיך הוא מתייחס לדברים האלה ממש.
רון הויזנגה: תודה רבה ותודה גם לרובין וגם לדז על כך שהגדרת את הבמה באמת, ואתה הולך לראות קצת חפיפה בכמה דברים שדיברתי עליהם. אבל הם באמת הקימו בסיס איתן מאוד לכמה מהמושגים עליהם אני מדבר מנקודת מבט של דוגמנות נתונים. והרבה מהדברים שאמרו מהדהדים את הניסיון שלי כשהייתי יועץ שעבד במודל נתונים ובארכיטקטורת נתונים, יחד עם צוותים - שניהם מפל בימים הראשונים והפכו למוצרים מודרניים יותר עם פרויקטים שבהם השתמשנו בזריזות מתודולוגיות לספק פתרונות.
אז מה שאדבר עליו היום מבוסס על חוויות אלה כמו גם מבט על הכלים וחלק מהיכולות בכלים בהם אנו משתמשים כדי לעזור לנו במהלך אותו מסע. מה שאעבור בקצרה מאוד הוא שאני לא מתכוון להיכנס לפרוטוקולים רבים; פשוט הייתה לנו סקירה ממש טובה על מה זה. אני הולך לדבר על זה במונחים של, מהו מודל נתונים ומה זה באמת אומר לנו? ואיך אנו מאפשרים את הרעיון של מעצב הנתונים הזריז בארגונים שלנו, מבחינת, כיצד אנו מעסיקים את דוגמניות הנתונים, מהי השתתפותם של דוגמניות ואדריכלים במהלך הספרינט, מהן סוגי הפעילויות שעליהם כדאי לעסוק., וכרקע לכך, מהן כמה מהיכולות החשובות של כלי הדוגמנות שאנו מנצלים כדי באמת להקל על העבודה הזו? ואז אני אעבור קצת לעטוף ופשוט לדבר קצת על כמה מהערכים העסקיים והיתרונות הכרוכים בכך שמעצב נתונים מעורב, או על הדרך בה אני באמת מספר את הסיפור, הבעיות של אי קיום מעצב נתונים במלואו בפרויקטים ואני אראה לך את זה על סמך ניסיון ותמונת פגמים של תמונה לפני ואחרי של פרויקט בפועל שהייתי מעורב איתו לפני שנים רבות. ואז נסכם עוד כמה נקודות ואז יש לנו שאלות ותשובות בנוסף לזה.
בקצרה מאוד, סטודיו ER הוא סוויטה מאוד עוצמתית שיש בה המון רכיבים שונים. אדריכל הנתונים, וכאן עוברים דוגמניות הנתונים והאדריכלים את מרבית זמנם במודל הנתונים שלהם. ישנם גם רכיבים אחרים עליהם לא נדבר כלל היום כמו אדריכל העסקים, בו אנו מבצעים דוגמנות תהליכים ואדריכל התוכנה, עבור חלק מהמודלים של UML. ואז יש את המאגר, בו אנו מבצעים צ'ק-אין ומשתפים את המודלים ואנחנו מאפשרים לצוותים לשתף פעולה עם אלה ולפרסם אותם בשרת הצוות, כך שקהלים רבים של בעלי עניין העוסקים בפרויקט יכולים למעשה לראות את הממצאים שאנחנו ליצור מחדש מנקודת מבט של נתונים כמו גם את שאר הדברים שאנחנו עושים למשלוח הפרויקט עצמו.
מה שאמקד להתמקד בו היום יהיו כמה דברים שאנחנו הולכים לראות מתוך ארכיטקטורת הנתונים ומכיוון שזה ממש חשוב שתהיה לנו שיתוף פעולה של היבטים מבוססי מאגר זה. במיוחד כשאנחנו מתחילים לדבר על מושגים כמו ניהול שינויים שהם הכרחיים, לא רק לפרויקטים של פיתוח זריז, אלא לכל סוג של פיתוח קדימה.
אז בואו נדבר לרגע על מעצב הנתונים הזריז. כפי שסיפרנו, למשל, שהרמזנו קודם לכן במצגת, הוא שחשוב שיהיו לנו דוגמניות נתונים ו / או אדריכלים העוסקים במלואם בתהליכי הפיתוח הזריזים. כעת, מה שקרה מבחינה היסטורית הוא, כן, באמת חשבנו על זריזות מבחינה התפתחותית, ויש כמה דברים שהתרחשו שבאמת גרמו לזה להיווצר. חלקו נבע רק מאופי צורת ההתפתחות עצמה. כשהתחיל ההתפתחות הזריזה והתחלנו עם התפיסה הזו של צוותים המארגנים את עצמך, אם שתית את ה- Kool-Aid קצת טהור מדי והיית בצד התכנות הקיצוני של הדברים, הייתה פרשנות מילולית מאוד לדברים כמו צוותים המארגנים את עצמם, שהרבה אנשים פירשו שהם מתכוונים להם, כל מה שאנחנו צריכים זה קבוצה של מפתחים שיכולים לבנות פיתרון שלם. בין אם זה אומר לפתח את הקוד, את מסדי הנתונים או את מאגרי הנתונים שמאחוריו והכל הועבר למפתחים. אבל מה שקורה עם זה אתה מפסיד את היכולות המיוחדות שיש לאנשים. מצאתי שהקבוצות החזקות ביותר הן אלו שמורכבות מאנשים מרקע שונה. כמו שילוב של מפתחי תוכנה חזקים, אדריכלי נתונים, דוגמניות נתונים, אנליסטים עסקיים ובעלי עניין עסקיים, כולם משתפים פעולה יחד כדי להביא לפיתרון סיום.
על מה אני מדבר גם היום, אני הולך לעשות זאת בהקשר של פרויקט פיתוח בו אנו מפתחים אפליקציה שכנראה הולכת להיות קשורה גם לרכיב הנתונים. אנחנו צריכים לעשות צעד אחורה לפני שאנחנו עושים זאת, כי אנחנו צריכים להבין שיש מעט מאוד פרויקטים של פיתוח של גרינפילד שם יש לנו התמקדות מוחלטת ביצירה וצריכת נתונים שמוגבלים רק בתוך פרויקט הפיתוח עצמו. . עלינו לעשות צעד אחורה ולהסתכל על נקודת המבט הארגונית הכוללת מנקודת מבט של נתונים ומנקודת מבט של תהליכים. מכיוון שמה שאנחנו מגלים זה המידע שאנו משתמשים אולי כבר קיים אי שם בארגונים. כמודלים והארכיטקטים אנו מביאים את זה לאור כך שנדע מאיפה ניתן למלא את המידע בפרויקטים עצמם. אנו מכירים גם את מבני הנתונים המעורבים מכיוון שיש לנו דפוסי עיצוב בדיוק כמו שלמפתחים יש דפוסי עיצוב לקוד שלהם. ואנחנו צריכים גם לנקוט במבט הארגוני הכולל הזה. איננו יכולים להסתכל רק בנתונים בהקשר של היישום שאנו בונים. עלינו ליצור מודל של הנתונים ולוודא כי אנו מתעדים אותם מכיוון שהם חיים הרבה מעבר ליישומים עצמם. יישומים אלה באים והולכים, אך עלינו להיות מסוגלים להסתכל על הנתונים ולוודא שהם חזקים ומובנים היטב, לא רק ליישומים, אלא גם להחלטות המדווחות על פעילויות, דיווח BI ושילוב ביישומים אחרים, פנימיים ו- גם מחוץ לארגונים שלנו. לכן עלינו להסתכל על כל התמונה הגדולה של הנתונים ומה מחזור החיים של אותם נתונים ולהבין את המסע של פיסות מידע ברחבי הארגון מהעריסה לקבר.
כעת, בחזרה לצוותים עצמם ואיך אנו צריכים לעבוד, מתודולוגיית המפל נתפסה כאיטית מכדי להביא תוצאות. מכיוון שכפי שצוין בדוגמה של הטנק, זה היה צעד אחר צעד ולרוב לקח זמן רב מדי להשיג תוצאה סופית מעשית. מה שאנחנו עושים עכשיו זה שאנחנו צריכים להיות בסגנון עבודה איטרטיבי בו אנו מפתחים באופן הדרגתי רכיבים ממנו ומרחיבים אותו לאורך זמן בו אנו מייצרים קוד שמיש או ממצאים שמישים, אני הולך לומר, עבור כל ספרינט. הדבר החשוב הוא שיתוף פעולה בין בעלי העניין הטכני בצוות ובעלי העניין העסקי, כאשר אנו משתפים פעולה בכדי להעביר את סיפורי המשתמשים הללו לחזון יישום של קוד ולנתונים התומכים גם בקוד זה. ומודל הנתונים הזריז עצמו יגלה לעיתים קרובות כי אין לנו מספיק דוגמניות בארגונים, כך שייתכן כי מעצב נתונים או אדריכל נתונים בו זמנית תומכים במספר צוותים.
וההיבט האחר של זה הוא, גם אם יש לנו דוגמניות מרובות, עלינו לוודא שיש לנו מערך כלים שאנו משתמשים בו המאפשר שיתוף פעולה של מספר פרויקטים שנמצאים בטיסה בו זמנית ושיתוף של אותם חפצי נתונים ויכולות הצ'ק-אין והיציאה. אני הולך לעבור על זה מהר מאוד כי כבר כיסינו את זה בסעיף הקודם. הנחת היסוד האמיתית לזריזות היא שאתה מבסס דברים בגלל צבר, סיפורים או דרישות. בתוך החזרות אנו משתפים פעולה כקבוצה. בדרך כלל ספרינט של שבועיים או חודש, תלוי בארגון, נפוץ מאוד. וגם פגישות ביקורת וסטנדאפ יומיומיות, כך שאנחנו מחסלים חוסמים ומוודאים שאנחנו ממשיכים את כל ההיבטים קדימה מבלי להיעצר בתחומים שונים כשאנחנו עוברים. ובספרינטים האלה אנו רוצים לוודא שאנו מייצרים מספקים שמישים כחלק מכל ספרינט.
פשוט לקחת על זה קצת אחר, להרחיב אותו עוד יותר, scrum הוא המתודולוגיה עליה אני אדבר יותר באופן ספציפי כאן ופשוט בעצם הגדלנו את התמונה הקודמת עם כמה פנים אחרות. בדרך כלל יש צבר מוצרים ואז יש צבר ספרינט. אז יש לנו צבר כללי, שבתחילת כל חזרה לספרינט אנו מתכוונים לומר "מה אנו הולכים לבנות את הספרינט הזה?" וזה נעשה בפגישת תכנון ספרינט. לאחר מכן אנו מפרקים את המשימות הקשורות בכך ואנחנו מבצעים בספרינטים של שבוע עד ארבעה עם אותם ביקורות יומיות. כשאנו עושים שאנחנו עוקבים אחר ההתקדמות שלנו באמצעות תרשימים שרופים ומצעדים שרופים כדי לעקוב בעיקרון מה שנשאר לבנות לעומת מה שאנחנו בונים כדי לבסס דברים כמו מהירות הפיתוח שלנו, האם אנחנו הולכים לעשות את לוח הזמנים, כל אותם סוגים של דברים. כל אלה נרחבים ברציפות במהלך הספרינט, במקום ללכת כמה חודשים בהמשך הדרך ולגלות שאתה הולך להגיע קצר ואתה צריך להאריך את לוח הזמנים של הפרויקט. וחשוב מאוד, כחלק מזה, כל הקבוצות, יש סקירה של ספרינט בסוף ורטרוספקטיבה של ספרינט, אז לפני שתבעט מהאיטרציה הבאה, אתה סוקר את מה שעשית ואתה מחפש דרכים שאתה יכול לעשות להשתפר בפעם הבאה.
מבחינת משלוחים, זו בעצם שקופית המסכמת את הסוגים האופייניים לדברים שמתרחשים בספרינטים. וזה מאוד מרכזי פיתוח, כך שהרבה מהדברים שאנחנו רואים כאן, כמו תכנונים פונקציונליים ושימוש במקרים, ביצוע בדיקות קוד עיצוב, כשאנחנו מסתכלים על התיבות האלה כאן, ואני לא מתכוון לעבור עליהם בכל רמת פרט, הם מאוד מכוונים לפיתוח. ונקבר מתחת כאן היא העובדה שאנו צריכים גם לספק אותם נתונים שנמצאים זה בזה ביד כדי לתמוך במאמץ זה. כך שבכל פעם שאנחנו רואים דברים כמו צבר, הדרישות וסיפורי המשתמשים, כשאנחנו עוברים עלינו לבדוק מה הם קטעי הפיתוח שעלינו לעשות, מהם קטעי הניתוח שעלינו לעשות, ומה לגבי עיצוב נתונים או מודל הנתונים, מה עם דברים כמו מילוני מונחים עסקיים כדי שנוכל לקשר משמעות עסקית לכל החפצים שאנו מייצרים? מכיוון שאנו צריכים לייצר את אותם מתכלים שמישים בכל ספרינט.
יש אנשים שיגידו שאנחנו צריכים לייצר קוד שמיש בסוף כל ספרינט. זה לא בהכרח המקרה, זהו בפרספקטיבה התפתחותית הטהורה ביותר, אך לעיתים קרובות למדי - במיוחד בהתחלה - יתכן ויש לנו משהו כמו אפס הספרינט בו אנו מתמקדים אך ורק בעמידה בדברים, עושים דברים כמו להשיג את אסטרטגיות הבדיקה שלנו מקום. עיצוב ברמה גבוהה כדי להתחיל בזה לפני שנתחיל למלא את הפרטים ולוודא שיש לנו סט נקי של סיפורי התחלה או דרישות לפני שנתחיל לעסוק בקהלים אחרים ואז נבנה קדימה כצוות כשאנחנו קדימה. תמיד יש מעט זמן הכנה, ולכן לעיתים קרובות יהיה לנו אפס ספרינט או אפילו ספרינט אפס ואחד. יכול להיות שלב התחלתי לפני שנקלע לטיסה מלאה במסירת הפיתרון.
בואו נדבר על מודלים של נתונים בהקשר זה מאוד בקצרה. כשאנשים חושבים על מודלים של נתונים, הם חושבים לעתים קרובות על מודל נתונים כעל תמונה של כיצד חלקי המידע השונים קשורים זה לזה - זה רק קצה הקרחון. כדי לגלם באופן מלא את רוח האופן שבו אתה באמת רוצה לגשת למודל נתונים - בין אם זה בפיתוח זריז ודברים אחרים - האם אתה צריך להבין שמודל נתונים, אם נעשה נכון, הופך למפרט המלא שלך למה המשמעות של נתונים בארגון ו כיצד היא נפרסת במסדי נתונים אחוריים. כשאני אומר מאגרי מידע, אני מתכוון לא רק למאגרי המידע ההתייחסותיים שאנו משתמשים בהם, אלא בארכיטקטורות של ימינו שבהם יש לנו נתונים גדולים או פלטפורמות NoSQL, כפי שאני מעדיף לקרוא להם. גם חנויות גדולות אלה מכיוון שאולי אנו משלבים הרבה חנויות נתונים שונות מבחינת צריכת מידע והבאתו לפתרונות שלנו, כמו גם האופן בו אנו ממשיכים או שומרים מידע זה גם מהפתרונות שלנו.
יתכן שאנחנו עובדים עם מספר מסדי נתונים או מקורות נתונים בו זמנית בהקשר של יישום נתון. מה שחשוב מאוד הוא שאנו רוצים להיות מסוגלים לקבל מפרט מלא, לכן מפרט הגיוני של המשמעות של זה מבחינה ארגונית של ספרינט, מהם המבנים הפיזיים מבחינת האופן בו אנו מגדירים את הנתונים, את היחסים ביניהם מאגרי המידע שלך, אילוצי השלמות הפניה שלך, אילוצי בדיקה, כל חלקי האימות שאתה בדרך כלל חושב עליהם. המטא נתונים התיאוריים חשובים ביותר. איך אתה יודע להשתמש בנתונים ביישומים שלך? אלא אם כן אתה יכול להגדיר את זה ולדעת מה המשמעות של זה או לדעת מאיפה זה בא לוודא שאתה צורך את הנתונים הנכונים ביישומים אלה - וודא שיש לנו מוסכמות שמות נכונות, הגדרות מלאות, שמשמעותן מילון נתונים מלא לא רק הטבלאות אך העמודות הכוללות את הטבלאות - והערות על פריסת פירוט לגבי האופן בו אנו משתמשים בכך מכיוון שאנו צריכים לבנות את בסיס הידע הזה מכיוון שגם כאשר יישום זה ייעשה, מידע זה ישמש ליוזמות אחרות ולכן עלינו לוודא שיש לנו את כל מה שמתועד ליישומים עתידיים.
שוב, אנו יורדים לדברים כמו סוגי נתונים, מפתחות, אינדקסים, מודל הנתונים עצמו מגלם הרבה מכללים עסקיים שנכנסים לתמונה. מערכות היחסים אינן רק אילוצים בין טבלאות שונות; לעתים קרובות הם עוזרים לנו לתאר מהם הכללים העסקיים האמיתיים סביב אופן פעולתם של נתונים וכיצד הם פועלים יחד כיחידה מגובשת. וכמובן, מגבלות ערך חשובות מאוד. עכשיו, כמובן, אחד הדברים שאנחנו מתמודדים איתם ללא הרף, וזה הופך ליותר ויותר נפוץ, הם דברים כמו ממשל נתונים. אז מנקודת מבט של ממשל נתונים, עלינו גם להסתכל, מה אנחנו מגדירים כאן? אנו רוצים להגדיר דברים כמו סיווגי אבטחה. באילו סוגי נתונים עסקינן? מה ייחשב לניהול נתוני אב? מהן חנויות העסקאות שאנו מייצרים? אילו נתוני עזר אנו משתמשים ביישומים אלה? עלינו לוודא שהוא נלכד כראוי בדגמים שלנו. וגם שיקולים לאיכות נתונים, ישנם חלקים מסוימים של מידע החשובים יותר לארגון מאשר אחרים.
הייתי מעורב בפרויקטים בהם החלפנו למעלה מתריסר מערכות מורשת בתהליכים עסקיים חדשים ועיצבתי יישומים וחנויות נתונים חדשים שיחליפו אותם. היינו צריכים לדעת מאיפה המידע הגיע. אשר עבור חלקי המידע החשובים ביותר, מבחינה עסקית, אם אתה מסתכל על שקופית מודל הנתונים הספציפית הזו שיש לי כאן, אתה תראה שהתיבות התחתונות בישויות הספציפיות הללו, שהיא רק תת-קבוצה קטנה, אני באמת הצלחנו לתפוס את הערך העסקי. בין אם גבוה, בינוני או נמוך עבור סוגים אלה של דברים עבור מבנים שונים אלה בארגון. וגם תפסתי דברים כמו שיעורי נתוני אב, בין אם הם טבלאות אב, בין אם הם התייחסות, אם היו פעולות טרנסקציות. כך שנוכל להרחיב את המטא נתונים שלנו במודלים שלנו בכדי לתת לנו המון מאפיינים אחרים מחוץ לנתונים עצמם, מה שבאמת עזר לנו ביוזמות אחרות מחוץ לפרויקטים המקוריים ולהעביר אותם קדימה. עכשיו זה היה הרבה בשקופית אחת, אני אעבור את שאר אלה די מהר.
כעת אני מדבר מהר מאוד על מה עושה מעצב נתונים בזמן שאנחנו עוברים את הספרינטים השונים האלה. ראשית, משתתף מלא בפגישות תכנון הספרינט, בהן אנו לוקחים את סיפורי המשתמש, מתחייבים למה שאנו הולכים לספק בספרינט ההוא, ונמצא כיצד אנו הולכים לבנות אותו ולהעביר אותו. מה שאני עושה כמעצב נתונים זה אני יודע שאני הולך לעבוד באזורים נפרדים עם מפתחים שונים או עם אנשים שונים. כך שאחד המאפיינים החשובים שיכולים להיות לנו הוא כשאנחנו מבצעים מודל נתונים, אנו יכולים לחלק את מודל הנתונים הזה לתצוגות שונות, בין אם אתה קורא להם תחומי נושא או מודלי משנה, הוא המינוח שלנו. אז כשאנו בונים את המודל אנו מראים אותו גם בפרספקטיבות משנה-מודל שונות אלה, כך שהקהלים השונים רק רואים מה רלוונטי להם, כך שהם יכולים להתרכז במה שהם מפתחים ומקדמים. אז אולי יש לי מישהו שעובד על חלק מתזמון של אפליקציה, יכול להיות שמישהו אחר יעבוד על ערך הזמנה בו אנו מבצעים את כל הדברים האלה בספרינט יחיד, אבל אני יכול לתת להם את נקודות המבט דרך אותם מודלי משנה שרק חלים על האזור עליו הם עובדים. ואז אלה מתגלגלים למודל הכללי ולכל המבנה של דגמי המשנה כדי לתת תצוגות קהל שונות את מה שהם צריכים לראות.
היסודות מנקודת מבט של דוגמנות נתונים שאנו רוצים שיהיה לנו, תמיד יש קו בסיס שאליו נוכל לחזור, מכיוון שאחד הדברים שאנחנו צריכים להיות מסוגלים לעשות זה אם זה בסוף הספרינט או בסוף מכמה ספרינטים, אנו רוצים לדעת מאיפה התחלנו ותמיד יש קו בסיסי לדעת מה הייתה הדלתא או ההבדל של מה שייצרנו בספרינט נתון. עלינו גם לוודא שנוכל לבצע מהפך מהיר. אם אתה נכנס לזה כמעצב נתונים אבל בתפקיד שומר הסף המסורתי של אמירת "לא, לא, אתה לא יכול לעשות את זה, אנחנו צריכים לעשות את כל הדברים האלה קודם, " אתה הולך להיות מודר מהצוות כשאתה באמת צריך להיות משתתף פעיל בכל אותם צוותי פיתוח זריזים. זה אומר שחלק מהדברים נופלים מהעגלה ועושים ספרינט נתון ואתה מרים אותם בספרינטים מאוחרים.
כדוגמה, אתה יכול להתמקד במבני הנתונים רק כדי לפתח את ההתפתחות, למשל, על חתיכת הזמנת ההזמנה עליה דיברתי. בספרינט מאוחר יותר, אתה עשוי לחזור ולמלא את הנתונים כמו חלק מהתיעוד למילון הנתונים סביב כמה מאותם חפצים שיצרת. אתה לא מתכוון להשלים את ההגדרה הכל בספרינט אחד; אתה הולך להמשיך עם התוצרים שלך באופן מצטבר כי יהיו זמנים שתוכל למלא את המידע ההוא העובד עם אנליסטים עסקיים כאשר המפתחים עסוקים בבניית היישומים והתמדה סביב חנויות נתונים אלה. אתה רוצה להקל ולא להיות צוואר הבקבוק. ישנן דרכים שונות בהן אנו עובדים עם מפתחים. יש דברים שיש לנו דפוסי עיצוב ולכן אנו משתתפים במלואה מלפנים, כך שאולי יהיה לנו תבנית עיצובית בה נגיד שנכניס אותה למודל, נדחוף אותה למאגרי ארגז החול של המפתחים ואז הם יכולים התחל לעבוד עם זה ובקש שינויים בזה.
יתכנו תחומים אחרים שהמפתחים עבדו עליהם, יש להם משהו שהם עובדים עליהם והם מקדימים טיפוס של טיפוס על כמה דברים אז הם מנסים כמה דברים בסביבת הפיתוח שלהם. אנו לוקחים את מסד הנתונים ההוא שהם עבדו איתם, מכניסים אותו לכלי הדוגמנות שלנו, משווים למודלים שיש לנו ואז פותרים ודוחפים את השינויים בחזרה אליהם, כך שהם יוכלו לבצע מחדש את הקודים שלהם כך שהם עוקבים אחר מבני הנתונים הנכונים שאנחנו צריכים. מכיוון שהם אולי יצרו כמה דברים שכבר היו לנו במקומות אחרים, ולכן אנו מוודאים שהם עובדים עם מקורות הנתונים הנכונים. אנו ממשיכים לחזור על כל הדרך עד לספרינט שלנו, כך שנקבל את מסירת הנתונים המלאה, התיעוד המלא וההגדרה של כל מבני הנתונים אותם אנו מייצרים.
הפרויקטים הזריזים המוצלחים ביותר שעסקתי בהם מבחינת משלוחים טובים מאוד היו, הייתה לנו פילוסופיה, מודל את כל השינויים במפרט המלא של מסד הנתונים הפיזי. בעיקרו של דבר, מודל הנתונים הופך למאגרי המידע הפרוסים שאתה עובד איתם לכל דבר שאנחנו יוצרים ויש לו הפניות מלאות לחנויות הנתונים האחרות אם אנו צורכים ממאגרי נתונים חיצוניים אחרים. כחלק מכך אנו מייצרים תסריטים מצטברים לעומת עשיית דור מלא בכל פעם. ואנחנו מנצלים את דפוסי העיצוב שלנו כדי להעניק לנו את ההרמה המהירה מבחינת העברת הדברים בספרינטים עם צוותי הפיתוח השונים שאיתם אנו עובדים.
גם בפעילויות ספרינט זה שוב קו הבסיס להשוואה / מיזוג, אז בואו ניקח את הרעיון של דוגמנות כל שינוי. בכל פעם שאנו מבצעים שינוי, מה שאנחנו רוצים לעשות זה שאנחנו רוצים לדגמן את השינוי ומה שחשוב מאוד, מה שהיה חסר במודלים של נתונים עד לאחרונה, למעשה, עד שהבאנו אותו מחדש, זו היכולת לשייך את הדוגמנות משימות ואספקה שלך עם סיפורי המשתמש והמשימות שלמעשה גורמים לשינויים האלה להתרחש. אנו רוצים להיות מסוגלים לבדוק את השינויים במודל שלנו, באותה דרך שמפתחים בודקים את הקודים שלהם, ומפנים את סיפורי המשתמשים שיש לנו כדי שנדע מדוע ביצענו שינויים מלכתחילה, זה דבר שאנחנו עושים. כשאנו עושים זאת, אנו מייצרים את סקריפט ה- DDL המצטבר שלנו ומפרסמים אותם כך שניתן יהיה לאסוף אותם עם שאר תוצרי הפיתוח ולבדוק את פיתרון ה- build שלנו. שוב, יתכן שיש לנו דגם אחד או עבודה עם צוותים מרובים. וכפי שדיברתי עליהם, כמה דברים שמקורם במתכנן הנתונים, דברים אחרים מקורם של המפתחים ואנחנו נפגשים באמצע כדי למצוא את העיצוב הטוב ביותר הכולל ולדחוף אותו קדימה ולוודא שהוא מעוצב כראוי אצלנו מבני נתונים כוללים. עלינו לשמור על המשמעת של הבטחה שיש לנו את כל המבנים הנכונים במודל הנתונים שלנו כשאנחנו הולכים קדימה, כולל דברים כמו ערכים לא null ולא ערכים, אילוצי הפניה, בעיקרון אילוצים לבדוק, את כל אותם הדברים שבדרך כלל היינו חושבים עליהם .
בואו לדבר על עכשיו רק כמה צילומי מסך של כמה מהכלים שעוזרים לנו לעשות זאת. מה שלדעתי חשוב זה להחזיק מאגר שיתופי זה, ולכן מה שאנחנו יכולים לעשות כמודלי נתונים - וזה קטע של חלק ממודל נתונים ברקע - זה כשאנחנו עובדים על דברים שאנחנו רוצים לוודא שאנחנו יכולים לעבוד רק על האובייקטים שאנחנו צריכים להיות מסוגלים לשנות, לבצע את השינויים, ליצור את סקריפט DDL שלנו לשינויים שביצענו כשאנחנו בודקים דברים שוב. אז מה שאנחנו יכולים לעשות זה בסטודיו של ER הוא דוגמה, אנחנו יכולים לבדוק אובייקטים או קבוצות של אובייקטים עליהם ניתן לעבוד, אנחנו לא צריכים לבדוק מודל שלם או מודל משנה, אנחנו יכולים לבדוק בדיוק את הדברים שמעניינים אותנו. מה שאנחנו רוצים אחרי זה הוא בזמן ביצוע הצ'ק-אאוט או בזמן הצ'ק-אין - אנחנו עושים את זה בשני הדרכים מכיוון שצוותי פיתוח שונים עובדים בדרכים שונות. אנו רוצים לוודא כי אנו משייכים את זה לסיפור המשתמש או למשימה המניעה את הדרישות לכך וזו תהיה אותה סיפור משתמש או משימה שעליהם מפתחים המפתחים ובודקים את הקוד שלהם.
אז הנה קטע מהיר מאוד של כמה מסכים באחד ממרכזי ניהול השינויים שלנו. מה שכן, אני לא אעבור כאן לפרטי פרטים, אבל מה שאתה רואה זה סיפור המשתמש או המשימה והטביעו מתחת לכל אחד מאלו שאתה רואה את רשומות השינוי בפועל - יצרנו רשומת שינוי אוטומטית כאשר אנו מבצעים את הצ'ק-אין והצ'ק-אאוט ונוכל להוסיף תיאור נוסף גם על רשומת השינוי ההיא. זה קשור למשימה, יכולים להיות לנו שינויים מרובים בכל משימה, כמו שהייתם מצפים. וכשאנחנו נכנסים לשיא השינוי הזה אנו יכולים להסתכל עליו וחשוב יותר לראות, מה באמת שינינו? לגבי הסיפור הספציפי הזה, הסיפור המודגש שם היה לי סוג אחד של שינוי שנעשה וכשהסתכלתי על רשומת השינוי עצמה, הוא זיהה את החלקים האישיים בדגם שהשתנה. שיניתי כאן כמה תכונות, השוויתי אותם מחדש וזה הביא לנסיעה את התצוגות שצריך לשנות שהיו תלויים גם באלה כך שייווצרו ב- DLL המצטבר. זה לא רק דוגמנות על אובייקטים בסיסיים, אלא כלי דוגמנות בעל יכולת עוצמה גבוהה כמו זה מגלה גם את השינויים שצריך לעבור בין האובייקטים התלויים בבסיס הנתונים או במודל הנתונים.
אם אנו עובדים עם מפתחים ואנחנו עושים זאת בכמה דברים שונים, זה עושה משהו בארגז החול שלהם ואנחנו רוצים להשוות ולראות איפה ההבדלים, אנו משתמשים ביכולות השוואה / מיזוג איפה בצד ימין ובשמאל. צד. אנו יכולים לומר, "הנה המודל שלנו בצד שמאל, הנה בסיס הנתונים שלהם בצד ימין, הראה לי את ההבדלים." לאחר מכן נוכל לבחור ולבחור כיצד נפתור את ההבדלים האלה, בין אם אנו דוחפים דברים למסד הנתונים או אם יש כמה דברים שיש להם בבסיס הנתונים שאנו מחזירים למודל. אנו יכולים לעבור דו כיוונית כדי שנוכל ללכת בשני הכיוונים בו זמנית לעדכן את המקור וגם את היעד ואז לייצר את סקריפט DDL המצטבר כדי לפרוס את השינויים הללו בסביבת מסד הנתונים עצמה, וזה מאוד חשוב. מה שאנו יכולים גם לעשות הוא שנוכל להשתמש גם ביכולת השוואה ומיזוג זו בכל זמן נתון, אם אנו מצלמים תמונות בדרך, אנו תמיד יכולים להשוות את ההתחלה של ספרינט אחד להתחלה או סיום של ספרינט אחר כך שנוכל לראות השינוי המצטבר במלואו של מה שנעשה בספרינט פיתוח נתון או בסדרת ספרינטים.
זו דוגמא מהירה מאוד לתסריט של אלטר, כל אחד מכם שעבד עם בסיסי נתונים ראה סוג כזה של דבר, זה מה שאנחנו יכולים לדחוף מהקוד כסקריפט לשנות כך שאנחנו מוודאים שאנחנו שמור דברים כאן. מה שיצאתי מכאן, רק כדי להפחית את העומס, זה מה שאנחנו עושים גם עם סקריפטים אלה לשינוי הוא שאנו מניחים שיש גם נתונים בטבלאות הללו, כך שנייצר גם את ה- DML שימשוך את המידע של הטבלאות הזמניות ו דחף אותו בחזרה גם למבני הנתונים החדשים, כך שאנו בוחנים לא רק את המבנים אלא את הנתונים שאולי כבר הכנו במבנים אלה.
הולכים לדבר מהר מאוד על מערכות לבנות אוטומטיות מכיוון שכאשר אנו מבצעים פרויקט זריז לעיתים קרובות אנו עובדים עם מערכות לבנות אוטומטיות בהן אנו צריכים לבדוק יחד את התוצרים השונים כדי לוודא שלא נשבור את המבנים שלנו. משמעות הדבר היא שאנחנו מסנכרנים את המסירה, יש צורך לבצע בדיקת קבצי שינוי של סקריפטים שעליהם דיברתי עם סקריפט DDL, יש לבדוק את קוד היישום המתאים באותו הזמן והרבה פיתוח מפתחים עכשיו כמובן לא נעשה עם SQL ישיר כנגד מסדי הנתונים וסוג כזה של דברים. לעתים קרובות למדי אנו משתמשים במסגרות התמדה או בבניית שירותי נתונים. עלינו לוודא כי השינויים עבור אותם מסגרות או שירותים נבדקים בדיוק באותו הזמן. הם נכנסים למערכת בניה אוטומטית בארגונים מסוימים, ובמידה והמבנה נשבר, במתודולוגיה זריזת, כל זה מונח על תיקון הסיפונים שנבנים לפני שאנחנו עוברים קדימה כדי שנדע שיש לנו פיתרון עובד לפני שנמשיך הלאה. ואחד הפרויקטים שהייתי מעורב בהם, לקחנו את זה עד קיצוניות - אם הבניין נשבר, למעשה חיברנו למספר מהמחשבים באזורנו שם שוכנו עם המשתמשים העסקיים, היו לנו אורות מהבהבים אדומים רק כמו החלק העליון של מכוניות המשטרה. ואם הבניין נשבר, אותם אורות מהבהבים אדומים החלו לכבות וידענו שכולו הידיים על הסיפון: תקנו את הבנייה ואז המשיכו במה שאנחנו עושים.
אני רוצה לדבר על דברים אחרים וזו יכולת ייחודית לסטודיו ER, זה באמת עוזר כשאנחנו מנסים לבנות את הממצאים האלה כמפתחים עבור גבולות ההתמדה האלה, יש לנו מושג שנקרא אובייקטים של נתונים עסקיים ומה שמאפשר לנו לעשות הוא אם מסתכלים על מודל נתונים מאוד פשטני זה כדוגמא, הוא מאפשר לנו להכיל ישויות או קבוצות של ישויות למקום שבו נמצאות גבולות ההתמדה. שם אנו כמודל נתונים עשויים לחשוב על משהו כמו כותרת הזמנת רכש והתאמת ההזמנה וטבלאות מפורטות אחרות שיקשרו לזה באופן בו אנו בונים אותו ומפתחי שירותי הנתונים שלנו צריכים לדעת כיצד הדברים נמשכים לאותם נתונים שונים מבנים. המפתחים שלנו חושבים על דברים כמו הזמנת הרכש כאובייקט הכולל ומהו החוזה שלהם עם יצירתם של אותם אובייקטים ספציפיים. אנו יכולים לחשוף את הפרט הטכני הזה כך שהאנשים הבונים את שרתי הנתונים יוכלו לראות את מה שמתחתיו ונוכל להגן על הקהלים האחרים מפני המורכבות, כך שהם רק יראו את האובייקטים השונים ברמה הגבוהה יותר, שגם עובדת טוב מאוד לתקשורת עם עסקים. אנליסטים ובעלי עניין עסקיים כשאנחנו מדברים על אינטראקציה בין מושגים עסקיים שונים גם כן.
הדבר הנחמד בזה גם הוא שאנחנו בונים באופן קונסטרוקטיבי וממוטט את אלה, כך שנוכל לשמור על מערכות היחסים בין האובייקטים בעלי הסדר הגבוה, למרות שהם מקורם במבנים הכלולים בתוך אותם אובייקטים של נתונים עסקיים עצמם. עכשיו כמודל, תגיע לסוף הספרינט, בסוף עטיפת הספרינט, יש לי המון דברים שאני צריך לעשות, שאני מכנה את משק הבית שלי לספרינט הבא. כל ספרינט שאני יוצר את מה שאני מכנה המהדורה ששמה - שנותן לי את קו הבסיס שלי למה שיש לי עכשיו בסוף המהדורה. אז זה אומר שזו קו הבסיס שלי קדימה, כל קווי הבסיס או המהדורות ששמה אני שומר ושומר במאגר שלי, אוכל להשתמש בכדי לבצע השוואה / מיזוג, כך שתמיד אוכל להשוות לכל סוף ספרינט נתון מכל ספרינט אחר, אשר חשוב מאוד לדעת מה היו השינויים שלך במודל הנתונים שלך בדרך המסע שלה.
אני גם יוצר סקריפט DDL של delta באמצעות השוואה / מיזוג שוב מההתחלה לסוף הספרינט. יכול להיות שבדקתי חבורה שלמה של סקריפט מצטבר, אבל אם אני צריך את זה יש לי עכשיו סקריפט שאני יכול לפרוס אותו כדי לעמוד על ארגזי חול אחרים כדי שאוכל רק לומר שזה מה שהיה לנו בתחילת הספרינט, דחף זה דרך, בנה מסד נתונים כארגז חול כדי להתחיל עם הספרינט הבא ואנחנו יכולים גם להשתמש בדברים האלה כדי לעשות דברים כמו מופעי QA של סטנדאפ ובסופו של דבר כמובן שאנחנו רוצים לדחוף את השינויים שלנו לייצור כך שיש לנו מספר דברים שקורים באותו הזמן. שוב, אנו משתתפים באופן מלא בתכנון הספרינט וברטרוספקטיבה, הרטרוספקטיבה היא באמת הלקחים שנלמדו וזה חשוב ביותר, מכיוון שתוכלו להתקדם מהר מאוד בזמן זריז, עליכם לעצור ולחגוג את ההצלחות, כמו עכשיו. להבין מה לא בסדר, עשה את זה לטוב יותר בפעם הבאה, אבל גם לחגוג את הדברים שהלכו נכון ובנו עליהם כשאתם ממשיכים להתקדם בספרינטים הבאים קדימה.
כעת אני מדבר מהר מאוד על ערך עסקי. היה פרויקט שהתחלתי לעסוק בו לפני שנים רבות שהתחיל כפרויקט זריז, וזה היה פרויקט קיצוני, אז זה היה צוות טהור שמארגן את עצמו, שם היו רק מפתחים שעושים הכל. למען הקצרה של סיפור ארוך, הפרויקט הזה התעקש והם גילו שהם מבלים יותר ויותר פעמים בשיפוץ ותיקון הליקויים שזוהו מכפי שהם דוחפים קדימה את הפונקציונליות, ובעצם, כשהסתכלו על זה מבוסס במצעדים השחורים הם יצטרכו להאריך את הפרויקט חצי שנה בעלות אדירה. וכשבדקנו את זה, הדרך לתקן את הבעיה הייתה להשתמש בכלי נכון למודל נתונים עם מעצב נתונים מיומן שמעורב בפרויקט עצמו.
אם אתה מסתכל על סרגל אנכי זה בתרשים הספציפי הזה, זה מראה על פגמים מצטברים מול אובייקטים מצטברים, ואני מדבר על אובייקטים או מבנים נתונים שנוצרו כמו הטבלאות עם האילוצים וסוגי הדברים האלה, אם הסתכלת על לפני שהוצג דוגמן הנתונים, מספר הליקויים למעשה עלה והתחיל לבנות מעט פער על מספר האובייקטים בפועל שיוצרו עד לאותה נקודת זמן. אחרי שבוע 21, זה היה כאשר מעצב הנתונים נכנס, השיב מחדש את מודל הנתונים בהתבסס על מה שהיה כדי לתקן מספר דברים ואז התחיל לעשות דוגמנות כחלק מצוות הפרויקט קדימה, השינויים בזמן שפרויקט זה נדחף קדימה . וראית תפנית מהירה מאוד שתוך ספרינט וחצי בערך ראינו Uptick ענק בכמות האובייקטים ובניית הנתונים שנוצרים ונבנו כי היינו מייצרים מתוך כלי דוגמנות נתונים ולא מקל מפתחים. לבנות אותם בסביבה, והם היו נכונים מכיוון שהייתה להם השלמות ההתייחסות הראויה ושאר המבנים שהיו צריכים להיות בהם. רמת הפגמים כנגד אותם קו כמעט שטוח. על ידי נקיטת פעולה מתאימה זו וודא כי דוגמנות הנתונים הוקמה במלואה, הפרויקט הועבר בזמן ברמת איכות גבוהה בהרבה, ולמעשה, הוא לא היה מועבר כלל אלמלא הצעדים הללו היו מתרחשים. יש הרבה כישלונות זריזים שם בחוץ, יש גם הרבה הצלחות זריזות אם היית מקבל את האנשים הנכונים בתפקידים הנכונים המעורבים. אני תומך עצום של זריז כמשמעת מבצעית, אבל אתה צריך לוודא שיש לך את הכישורים של כל הקבוצות הנכונות המעורבות כצוותי הפרויקט שלך כשאתה קדימה למטרה זריזת של מאמץ.
לסיכום, על אדריכלי הנתונים והמודלנים להיות מעורבים בכל פרויקטים של פיתוח; הם באמת הדבק שמחבר את הכל מכיוון שאנחנו כמודלי נתונים ואדריכלים אנו מבינים, לא רק את מבני הנתונים של פרויקט הפיתוח הנתון, אלא גם היכן שהנתונים קיימים בארגון ואיפה אנו יכולים למלא את הנתונים מהם וגם איך הם הולך להיות בשימוש ומשומש מחוץ לאפליקציה המסוימת עצמה עליה אנו עובדים. אנו מבינים את קשרי הנתונים המורכבים וחשוב ביותר להיות מסוגלים להתקדם וגם מנקודת מבט ממשלתית למפות מסמך ולהבין כיצד נראית נוף הנתונים המלא שלכם.
זה כמו ייצור; הגעתי מרקע ייצור. אתה לא יכול לבדוק את האיכות למשהו בסוף - אתה צריך לבנות איכות בעיצוב שלך מראש ובדרך שלך, ומודל נתונים הוא דרך לבנות את האיכות הזו לעיצוב בצורה יעילה וחסכונית לאורך כל הדרך . ושוב, משהו שכדאי לזכור - וזה לא לנדוש, אבל זו האמת - יישומים באים והולכים, נתונים הם הנכס התאגידי החיוני והם חוצים את כל גבולות היישומים האלה. בכל פעם שאתה מכניס אפליקציה אתה כנראה מתבקש לשמור את הנתונים מתוך יישומים אחרים שהגיעו לפני כן, אז עלינו רק לזכור שמדובר בנכס ארגוני חיוני שאנו ממשיכים לשמור עליו לאורך זמן.
וזה הכל! מכאן ניקח שאלות נוספות.
אריק קוואנה: בסדר, טוב, תן לי לזרוק את זה לראשונה לרובין. ואז, דז, אני בטוח שיש לך כמה שאלות. קח אותו משם, רובין.
ד"ר רובין בלור: אוקיי. אם להיות כנה, מעולם לא הייתה לי בעיה בשיטות פיתוח זריזות ונראה לי שאתה עושה כאן הגיוני מובהק. אני זוכר שהתבוננתי במשהו בשנות השמונים שהצביע, באמת, שהבעיה שבה נתקלת בפועל במונחים של פרויקט שהסתובב משליטה, היא בדרך כלל אם אתה נותן לטעות להישאר מעבר לשלב מסוים. זה פשוט הופך להיות יותר ויותר קשה לתקן אם אתה לא מצליח להגיע לשלב הזה, כך שאחד הדברים שאתה עושה כאן - ולדעתי זו השקופית - אבל אחד הדברים שאתה עושה כאן בספרינט אפס, לדעתי, הוא חשוב לחלוטין מכיוון שאתה באמת מנסה להשיג את התוצרים שם. ואם לא מוצמדים אספקה של משלוחים, אזי משלוחים משנים צורה.
זהו, די, לדעתי. זו גם דעתי - באמת שאין לי שום ויכוח עם הרעיון שאתה צריך להשיג את דוגמנות הנתונים לרמת פירוט מסוימת לפני שאתה עובר. מה שהייתי רוצה שתנסו לעשות מכיוון שלא הבנתי את זה לגמרי, זה רק לתאר את אחד הפרויקטים האלה מבחינת גודלו, מבחינת האופן בו הוא זרם, מבחינת מי, אתם יודעים, היכן הבעיות שנצברו, נפתרו? מכיוון שלדעתי השקופית הזו היא פחות או יותר ליבו של זה ואם הייתם יכולים להרחיב מעט יותר על כך הייתי אסירת תודה.
רון הויזנגה: בטח, ואני אשתמש בכמה פרויקטים לדוגמה. זה, שכמובן, ירד מהפסים שהובאו שוב על ידי כך שגורמים לאנשים הנכונים להיות מעורבים ולעשות את דוגמנות הנתונים והכל היה באמת דרך להבטיח שהעיצוב יובן טוב יותר וברור שהיה לנו עיצוב טוב יותר ליישום. בדרך באמצעות דוגמנות זה. מכיוון שכאשר אתה מדגם את זה, אתה יודע, אתה יכול לייצר את ה- DDL והכל מהגב והחוצה מהכלי, במקום שתצטרך להתמיד בזה כמו שאנשים בדרך כלל עשויים לעשות על ידי מעבר ישר לסביבת מסד נתונים. ודברים אופייניים שיקרה עם מפתחים זה שהם ייכנסו לשם והם יגידו, בסדר, אני צריך את הטבלאות האלה. נניח שאנחנו מבצעים ערכי הזמנה. כך שהם עשויים ליצור את כותרת ההזמנה ואת טבלאות פרטי ההזמנה ואת אותם סוגים של דברים. אך לעיתים קרובות הם ישכחו או יזנחו כדי לוודא שהאילוצים קיימים כדי לייצג את קשרי המפתח הזרים. יתכן שלא יהיו להם המפתחות נכונים. מוסכמות השמות עשויות להיות חשודות גם כן. אני לא יודע כמה פעמים נכנסתי לסביבה, למשל, שם אתה רואה חבורה של טבלאות שונות עם שמות שונים, אבל אז שמות העמודות בטבלאות האלה הם כמו תעודת זהות, שם או כל דבר אחר, אז הם באמת איבדנו את ההקשר בלי הטבלה של בדיוק מה זה.
לכן, בדרך כלל כשאנחנו מדגמים נתונים, אנו נדאג שנחיל מוסכמות שמות ראויות על כל הממצאים שהופקו גם ב- DDL. אבל ליתר דיוק לגבי אופי הפרויקטים עצמם מדובר, באופן כללי, על יוזמות גדולות למדי. אחד מהם היה פרויקט טרנספורמציה עסקית של 150 מיליון דולר, שם החלפנו למעלה מתריסר מערכות מורשת. היו לנו חמש צוותים זריזים שקיימים במקביל. היה לי צוות אדריכלות נתונים מלא, כך שהיו לי דוגמניות נתונים מהצוות שלי משובצים בכל אחד מצוותי תחום היישומים האחרים, ועבדנו עם שילוב של מומחים עסקיים פנים-פנים שידעו את הנושא, שעשו את סיפורי משתמשים לדרישות עצמן. היו לנו אנליסטים עסקיים בכל אחד מהצוותים שדגמנו למעשה את התהליך העסקי, בעזרת דיאגרמות הפעילות או דיאגרמות התהליכים העסקיים, ועזרו להפיץ את סיפורי המשתמשים יותר עם המשתמשים לפני שהם נצרכו גם מהיתר של הצוות.
ואז, כמובן, המפתחים שבנו את קוד היישום מעל לכל זה. ואנחנו גם עבדנו איתי, אני חושב שמדובר בארבעה ספקי שילוב מערכות שונים שבנו חלקים שונים של האפליקציה וגם צוות אחד בנה את שירותי הנתונים, והשני בנה לוגיקה של יישומים בתחום אחד, אחד אחר שהיה לו מומחיות באזור עסקי אחר בנה את לוגיקת היישומים באזור זה. אז היה לנו שיתוף פעולה שלם של אנשים שעבדו על הפרויקט הזה. במיוחד על אותו אחד היו לנו 150 אנשים על החוף בצוות ועוד 150 משאבים מהחוף בצוות ששיתפו פעולה בספרינטים של שבועיים בכדי להוציא את הדבר הזה החוצה. וכדי לעשות זאת אתה צריך לוודא שאתה יורה על כל הצילינדרים, וכולם מסונכרנים היטב מבחינת מה הם המספקים שלהם, והיה לך את אותם איפוסים תכופים כדי לוודא שאנחנו משלים את המסירות שלנו עם כל הממצאים הדרושים. בסוף כל ספרינט.
ד"ר רובין בלור: ובכן זה מרשים. ורק למעט יותר פירוט על זה - האם בסופו של דבר השלמת, מה הייתי קוראת, מפת MDM של כל אזור המידע בסוף אותו פרויקט?
רון הויזנגה: היה לנו מודל נתונים שלם אשר התפרק עם הפירוק בין כל תחומי העסקים השונים. מילון הנתונים עצמו מבחינת ההגדרות המלאות נפל מעט. הגדרנו את רוב הטבלאות; היו לנו רוב העמודות שהוגדרו בדיוק למה הכוונה. היו כאלה שלא היו שם ומעניין, הרבה מהם היו פיסות מידע שהגיעו ממערכות מורשת בהן, לאחר סיום היקף הפרוייקט עצמו, זה עדיין תועד כמערכת העברת קדימה של ממצאים, כביכול, מחוץ לפרויקט עצמו, מכיוון שזה היה משהו שצריך לקיים על ידי הארגון בעתיד. כך שבאותה עת הארגון תפס עמדה מוגברת הרבה יותר של חשיבות ממשל הנתונים מכיוון שראינו המון חסרונות במערכות מורשת אלה ובמקורות נתונים מדור קודם שניסינו לצרוך מכיוון שהם לא תועדו. בהרבה מקרים היו לנו רק מסדי נתונים שהיינו צריכים לבצע מהנדס הפוך ולנסות להבין מה היה שם ולמה המידע נועד.
ד"ר רובין בלור: זה לא מפתיע אותי, ההיבט המסוים הזה. ממשל נתונים הוא, בואו נקרא זאת, עניין מודרני ביותר ולדעתי, באמת, יש הרבה עבודה שלדברינו, היינו צריכים להיעשות באופן היסטורי בנושא ממשל נתונים. זה מעולם לא היה בגלל שאתה יכול, סוג של, להתחמק עם לא לעשות זאת. אבל ככל שמשאב הנתונים פשוט גדל וצמח, בסופו של דבר לא יכולת.
בכל אופן, אני אעבור לדז כי אני חושב שהיה לי הזמן הקצוב שלי. דז?
דז בלנשפילד: כן, תודה. דרך כל העניין הזה אני מסתכל וחושב לעצמי שאנחנו מדברים על לראות זריזים שמשתמשים בכעס במובנים רבים. למרות שיש לזה קונוטציות שליליות; התכוונתי לזה בצורה חיובית. האם אתה יכול אולי פשוט לתת לנו תרחיש של, כוונתי, יש שני מקומות שאני יכול לראות שזה סט מושלם: אחד הוא פרויקטים חדשים שפשוט צריכים להיעשות מהיום הראשון, אבל אני חושב שלא תמיד, מניסיוני, זה לעתים קרובות במקרה שכאשר פרויקטים גדולים מספיק וזה הכרחי במובנים רבים, יש אתגר מעניין בין הדבקת שני העולמות, נכון? האם אתה יכול לתת לנו כל תובנה לגבי כמה סיפורי הצלחה שראית איפה נכנסת לארגון, התברר שיש להם התנגשות קלה בין שני העולמות והצלחת לשים בהצלחה זה במקום ומפגיש פרויקטים גדולים איפה שאולי הם היו הולכים על המסילה? אני יודע שזו שאלה רחבה מאוד אבל אני רק תוהה אם יש מקרה מקרה מסוים שאתה יכול, סוג של, להצביע על המקום שאמרת, אתה יודע, שמנו את כל זה למקום וזה הפגיש את כל צוות הפיתוח עם צוות הנתונים ואנחנו, למשל, התייחסנו למשהו שאולי היה שוקע אחרת בסירה?
רון הויזנגה: בטח, ולמעשה הפרויקט היחיד שהיה במקרה פרויקט צנרת היה זה שרמזתי למקום בו הראיתי את התרשים עם הליקויים לפני ומעצב הנתונים היה מעורב. לעיתים קרובות למדי, וישנן רעיונות מראש, במיוחד אם הדברים מסתובבים במקום בו הם נעשים מנקודת מבט פיתוחית גרידא, הם רק מפתחים שמעורבים בפרויקטים הזריזים הללו בכדי לספק את היישומים. אז מה שקרה שם, כמובן, הוא שהם כן ירדו מהפסים וממצאי הנתונים שלהם בפרט, או שמסירי הנתונים שהם מייצרים, לא נותרו חותמים מבחינת האיכות ובאמת התייחסו לדברים הכלליים. ויש לעיתים קרובות די תפיסה מוטעית זו שמודללי נתונים יאטו את הפרויקטים והם יהיו אם למתכנן הנתונים אין את הגישה הנכונה. כמו שאמרתי, אתה צריך לאבד את זה - לפעמים יש דוגמניות נתונים שיש להם גישה זו של שומר הסף המסורתית שבה "אנחנו כאן כדי לשלוט על איך שנראים מבני הנתונים", והמנטליות צריכה להיעלם. כל מי שעוסק בפיתוח זריז, ובמיוחד דוגמניות הנתונים, צריך לקחת תפקיד כמנחה כדי לעזור באמת לצוותים להתקדם. והדרך הטובה ביותר להמחיש זאת היא להראות במהירות לצוותים עד כמה הם יכולים להיות פרודוקטיביים על ידי דוגמנות ראשונה לשינויים. ושוב, בגלל זה דיברתי על שיתוף הפעולה.
יש כמה דברים שאנחנו יכולים לדגמן קודם ולייצר את ה- DDL כדי לדחוף למפתחים. אנו רוצים גם לוודא שהם לא מרגישים שהם מוגבלים. לכן, אם יש דברים שהם עובדים עליהם, תנו להם להמשיך לעבוד בארגזי החול שלהם בפיתוח, מכיוון שכאן מפתחים עובדים על שולחנות העבודה שלהם או על בסיס נתונים אחרים כדי לבצע שינויים שבהם הם בודקים דברים. ושתף איתם פעולה ויגיד "אוקיי, עבד עם זה." נכניס את זה לכלי, נפתור אותו ואז נדחוף אותו קדימה וניתן לך את הסקריפטים שתוכל לפרוס אותו כדי לעדכן את מסדי נתונים כדי לשדרג אותם למה שתצוגת הייצור האמיתית שאושרה על כך היא הולכת להיות כשאנחנו ממשיכים להתקדם. ואתה יכול להפוך את זה בצורה מהירה מאוד. גיליתי שהימים שלי היו מלאים בהם אני פשוט הולכת קדימה ואחורה באיגרציות עם צוותי פיתוח שונים, מסתכלת על שינויים, השוואה, יצירת תסריטים, הצבתם, והצלחתי להתמיד עם ארבעה צוותי פיתוח די בקלות ברגע שאנחנו השיג תנופה.
דז בלנשפילד: אחד הדברים שעולים לי בראש זה שהוא, אתה יודע, הרבה מהשיחות שאני מנהלת על בסיס יומיומי עוסקות ברכבת המשא הזו שמגיעה אלינו, סוג של, המכונה מכונה ו- IoT. ואם אנו חושבים שיש לנו הרבה נתונים כעת על הסביבות הנוכחיות שלנו בארגון, אתה יודע, אם ניקח את חד-הקרן הצידה לרגע שבו אנו יודעים של- Google ו- Facebook וה- Ubers יש פטיטים של נתונים, אבל בארגון מסורתי אנו מדברים על מאות טרה-בייטים והרבה נתונים. אבל יש לדעתי רכבת הרכבת הזו שמגיעה לארגונים, וד"ר רובין בלור רמז לכך קודם, של ה- IoT. אתה יודע, יש לנו הרבה תנועה באינטרנט, יש לנו תנועה חברתית, יש לנו עכשיו ניידות ומכשירים ניידים, הענן יש, די התפוצץ, אבל עכשיו יש לנו תשתיות חכמות, ערים חכמות ויש את כל העולם הזה של נתונים שפשוט התפוצץ.
עבור ארגון יומיומי, ארגון בינוני עד גדול שיושב שם ורואה את עולם הכאב הזה בא אליהם ואין בראשם תוכנית מיידית, מה הם כמה מהמסעדות, רק בכמה משפטים, שהיית שם להם מתי ומתי הם צריכים להתחיל לחשוב בשיחה על הצבת חלק מהמתודולוגיות הללו. כמה מוקדם הם צריכים להתחיל לתכנן כמעט לשבת ולשים לב ולהגיד שזה הזמן הנכון להכניס כלים בכדי להכשיר את הצוות ולקבל שיחה של אוצר המנהל את האתגר הזה? כמה מאוחר בסיפור מאוחר מדי או מתי מוקדם מדי? איך זה נראה לחלק מהארגונים שאתה רואה?
רון הויזנגה: הייתי אומר עבור מרבית הארגונים שאם הם כבר לא עשו את זה והתאימו את דוגמנות הנתונים ואת ארכיטקטורת הנתונים עם כלים חזקים כמו זה, הזמן שהם צריכים לעשות את זה הוא אתמול. מכיוון שמעניין שגם היום, כשאתה מסתכל על נתונים בארגונים, יש לנו כל כך הרבה נתונים בארגונים שלנו ובאופן כללי, על סמך כמה סקרים שראינו, אנו משתמשים בפחות מחמישה אחוזים מהנתונים האלה ביעילות. כשאנחנו מסתכלים על פני ארגונים. ועם ה- IoT או אפילו NoSQL, נתונים גדולים - אפילו אם זה לא רק IoT, אלא רק נתונים גדולים בכלל - שם אנו מתחילים לצרוך עוד יותר מידע שמקורו מחוץ לארגונים שלנו, האתגר הזה הולך וגדל. כל הזמן. והדרך היחידה שיש לנו סיכוי שנוכל להתמודד עם זה היא לעזור לנו להבין על מה נתונים אלה.
אז, מקרה השימוש מעט שונה. מה שאנחנו מוצאים את עצמנו עושים זה כשאנחנו מסתכלים על הנתונים האלה, אנחנו לוכדים אותם, אנחנו צריכים להנדס אותם לאחור, לראות מה יש באלה, בין אם זה באגמי הנתונים שלנו או אפילו במאגרי המידע הביתיים שלנו, לסנתז מה הנתונים הם, החילו עליו משמעויות והגדרות עליהם, כך שנוכל להבין מה הנתונים. מכיוון שעד שנבין מה זה, איננו יכולים להבטיח שאנו משתמשים בו נכון או כראוי. אז אנחנו באמת צריכים להתמודד עם נתונים אלו. והחלק האחר של זה הוא, אל תעשה זאת מכיוון שאתה יכול, מבחינת צריכת כל הנתונים החיצוניים האלה, לוודא שיש לך מקרה שימוש התומך בצריכת נתונים חיצוניים אלה. התמקדו בדברים שאתה זקוק להם יותר מאשר רק לנסות למשוך ולהשתמש בדברים שאולי תזדקק להם בהמשך. תתמקד קודם בדברים החשובים וכשאתה עובד בדרך שלך, ואז תעבור למאכל ולנסות להבין את המידע האחר מבחוץ.
דוגמה מושלמת לכך היא, אני יודע שאנחנו מדברים על IoT וחיישנים, אבל אותה סוג של בעיה קיימת בפועל בארגונים רבים כבר הרבה שנים, עוד לפני IoT. כל מי שיש לו מערכת בקרת ייצור, בין אם זו חברת צינורות, ייצור, כל חברות מבוססות תהליכים שיש להם דברים שבהם הם עושים הרבה אוטומציה עם בקרות והם משתמשים בזרמי נתונים ודברים כאלה, יש את זרזי האש האלה שהם מנסים לשתות כדי להבין, מהם האירועים שהתרחשו בציוד הייצור שלי כדי לאותת - מה קרה ומתי? ובין זרם הנתונים העצום הזה יש רק פיסות מידע או תגים ספציפיים שהם מעוניינים בכך שהם צריכים לנפות, לסנתז, לעצב ולהבין. והם יכולים להתעלם משאר הדברים עד שהגיע הזמן להבין זאת באמת, ואז הם יכולים להרחיב את ההיקף שלהם כדי למשוך עוד ועוד מזה להיקף, אם זה הגיוני.
דז בלנשפילד: אכן כן. יש שאלה אחת שאני הולך להוביל אליה הגיע מג'נטלמן בשם אריק, ושוחחנו על זה באופן פרטי. רק ביקשתי את רשותו, מה הוא נתן, לבקש זאת ממך. כי זה מוביל יפה לזה, רק כדי להתארגן, כי אנחנו הולכים קצת עם הזמן עכשיו, ואחזיר לאריק. אבל השאלה של אריק אחר הייתה, האם זה סביר להניח שבעלי סטארט-אפ מכירים את הבנתם ואת האתגרים הייחודיים סביב דוגמנות המינוחים וכך, או שמא יש למסור אותם למישהו אחר לצורך הפרשנות? אז במילים אחרות, האם סטארט-אפ צריך להיות מסוגל ומוכן ומוכן ומוכן להתמקד ולספק בזה? או שזה משהו שהם בטח צריכים לקנות ולהביא איתם מומחים?
רון הויזנגה: אני מניח שהתשובה הקצרה היא שהיא באמת תלויה. אם מדובר בסטארט-אפ שאין לו מישהו בבית שהוא אדריכל נתונים או דוגמן שמבין באמת את בסיס הנתונים, אז הדרך המהירה ביותר להתחיל היא להביא מישהו עם רקע ייעוץ הבקיא מאוד במרחב הזה ויכול להגיע אותם הולכים. כי מה שתמצאו - ולמעשה, עשיתי זאת על הרבה התקשרויות שעשיתי לפני שהגעתי לצד האפל בניהול מוצר - האם הייתי נכנס לארגונים כיועץ, מוביל צוותי אדריכלות נתונים, כך שיוכלו, במידת מה, למקד מחדש את עצמם ולהכשיר את האנשים שלהם כיצד לעשות דברים מסוג זה כדי שהם יתמידו בזה ויבצעו את המשימה הלאה. ואז הייתי ממשיך למעורבות הבאה שלי, אם זה הגיוני. יש הרבה אנשים בחוץ שעושים את זה, שיש להם חוויית נתונים טובה מאוד שיכולה לגרום להם להמשיך.
דז בלנשפילד: זו נקודת סיום נהדרת ואני לגמרי מסכים עם זה ואני בטוח שגם ד"ר רובין בלור. במיוחד בהפעלה, אתה ממוקד להיות SME בערך המסוים של ההצעה שאתה מחפש לבנות כחלק מעסק ההפעלה שלך עצמו וכנראה שלא תצטרך להיות מומחה בכל דבר, אז עצות נהדרות. אבל תודה רבה, מצגת פנטסטית. תשובות ושאלות נהדרות באמת. אריק, אני אחזור אליך כי אני יודע שעברנו כנראה עשר דקות לאורך זמן ואני יודע שאתה אוהב להיצמד לחלונות הזמן שלנו.
אריק קוונהאג: זה בסדר. יש לנו לפחות כמה שאלות טובות. תן לי לזרוק אחד אליך. אני חושב שענית לחלק מהאחרים. אבל תצפית ושאלה מעניינת מאוד של משתתף אחד שכותב, לפעמים בפרויקטים זריזים יש למתכנן הנתונים אין את התמונה לטווח הארוך ולכן הם מסתיימים בעיצוב של משהו בספרינט אחד ואז צריכים לעצב מחדש בספרינט שלוש או ארבע. האם זה לא נראה פרודוקטיבי? איך אתה יכול להימנע מדבר מסוג זה?
רון הויזנגה: זה פשוט אופי הזריז שאתה לא תשיג הכל ממש בספרינט נתון. וזה למעשה חלק מרוח הזריזות, הוא: לעבוד עם זה - אתה הולך לעשות טיפוס-טיפוס במקום שאתה עובד על קוד בספרינט נתון, ואתה הולך לעשות בו חידודים. וחלק מתהליך זה הוא כשאתה מספק דברים שמשתמש הקצה רואה את זה ואומר, "כן זה קרוב, אבל אני באמת צריך שזה יעשה גם את זה קצת יותר מיותר." כך שלא רק משפיע על העיצוב הפונקציונלי. של הקוד עצמו, אך לעתים קרובות למדי אנו צריכים לשנות או להוסיף עוד מבנה נתונים מתחת לדברים מסוימים אלה כדי לספק את מה שהמשתמש רוצה. וזה הכל משחק הוגן וזו הסיבה שבאמת אתה רוצה להשתמש בכלים המונעים עוצמה גבוהה מכיוון שאתה יכול במהירות מאוד לדגמן ולעשות את השינוי הזה בכלי דוגמנות ואז לייצר את DDL עבור מסד הנתונים שהמפתחים יוכלו לעבוד איתו כדי לספק את זה להשתנות עוד יותר מהר. אתה חוסך מהם את הצורך לבצע קידוד ידני כזה, כביכול, של מבני הנתונים ומאפשר להם להתרכז בלוגיקת התכנות או היישום שהם הכי בקיאים בהם.
אריק קוואנה: זה הגיוני לחלוטין. היו לנו עוד כמה אנשים ששואלים שאלות ספציפיות לגבי איך כל זה מתקשר לכלי. אני יודע שביליתם קצת זמן בדוגמאות והצגתם כמה צילומי מסך על איך אתם ממש מגלמים חלק מהדברים האלה. מבחינת כל תהליך הספרינט הזה, באיזו תדירות אתה רואה שבמשחק בארגונים לעומת באיזו תדירות אתה רואה תהליכים מסורתיים יותר שבהם הדברים פשוטים, סוגים, משתלכים ולוקחים יותר זמן? כמה רווחת הגישה בסגנון הספרינט מנקודת המבט שלך?
רון הויזנגה: אני חושב שאנחנו רואים את זה יותר ויותר. אני יודע את זה, הייתי אומר, כנראה ב -15 השנים האחרונות במיוחד, ראיתי הרבה יותר אימוץ של אנשים שמכירים בכך שהם באמת צריכים לאמץ משלוח מהיר יותר. אז ראיתי יותר ויותר ארגונים קופצים על העגלה הזריזת. לאו דווקא לגמרי; הם עשויים להתחיל עם כמה פרויקטים של פיילוט כדי להוכיח שזה עובד, אבל יש כאלה שעדיין מסורתיים מאוד והם אכן מקפידים על שיטת המפל. כעת, החדשות הטובות הן, כמובן, שהכלים עובדים מצוין גם בארגונים אלה עבור סוגים אלו של מתודולוגיות, אך יש לנו את יכולת ההסתגלות בכלי, כך שלמי שכן קופץ על הסיפון יש את הכלים בארגז הכלים ב קצות אצבעותיהם. דברים כמו להשוות ולהתמזג, דברים כמו יכולות ההנדסה ההפוכה, כך שיוכלו לראות מהם מקורות הנתונים הקיימים, כך שהם יכולים למעשה להשוות ולייצר את סקריפט ה- DDL המצטבר במהירות רבה. וכשהם מתחילים לאמץ את זה ורואים שהם יכולים לקבל את הפרודוקטיביות, נטייתם לאמץ זריזים עוד יותר עולה.
אריק קוואנה: טוב, זה דברים נהדרים, אנשים. פשוט פרסמתי קישור לשקופיות שם בחלון הצ'אט, אז בדוק את זה; זה קצת קצת שם בשבילך. יש לנו את כל שידורי האינטרנט האלה לצפייה מאוחרת יותר. אל תהסס לשתף אותם עם חבריך ועמיתיך. ורון, תודה רבה על זמנך היום, תמיד נעים לך להיות בתוכנית - מומחה אמיתי בתחום וניכר שאתה מכיר את הדברים שלך. אז תודה לך ותודה ל- IDERA וכמובן לדז ולרובין בלור שלנו.
ועם זה אנו הולכים להיפרד מכם, אנשים. שוב תודה על הזמן ותשומת הלב. אנו מעריכים אותך להסתובב במשך 75 דקות, זה סימן טוב למדי. מופעים טובים, נדבר איתכם בפעם הבאה. ביי ביי.