“Automation in development processes: why, when and how

345 views
327 views

Published on

On March 23rd, GoMidjets’ seminar “Accelerating development and Configuration management processes by automation“ took host at IBM.

The presentation is divided to two parts:
1. Automation in development processes: why, when and how
2. Practical example from Rational ClearCase world: a trigger that announces a new recommended baseline that combine all the issues discussed

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
345
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • דוגמא : יש להקליד פקודה של 2 שורות . מה הסיכוי שההקלדה תהיה נכונה ב - 100% ?
  • לציין פה גם עיכובים ביורוקרטיים – חלקם ניתנים לפתרון , וכן צווארי - בקבוק
  • איים של מידע – מתקשר גם לאינטגרציה , אבל זה הולך יד ביד עם אוטומציה . בשקפים הבאים אני מראה סוגים של איים .
  • תהליך מוגדר היטב : נקודת התחלה ונקודת סיום , קלט ופלט מוגדרים היטב
  • גישת "walking skeleton" – יישום זעיר לתהליך , שעושה עבודה מקצה לקצה . די דומה לשיטות אג ' ילות או סקראם , אבל לא נכנס לזה כרגע .
  • במגוון השיקולים , כדאי לחשוב קודם על נוחות המשתמשים – הם הלקוחות שלכם
  • חלק מהשיקולים : אם נחוצה פורטביליות כדאי ללכת על פרל או פייתון . גם סי אפשרית ( אבל מצריך קימפול נפרד ). אם דרוש ממשק גרפי כדאי ללכת לכיוון של מוצרי . מיקרוסופט או ג ' אוה אם הביצועים חשובים – כדאי ללכת לסקריפטים וכן לבדוק איך ניתן לשפר את התהליך ולהוציא ממנו דברים מיותרים . להדגיש שאלו קווים כלליים - והכי טוב לבחון כל מקרה לגופו
  • כאשר יש בייסליין מומלץ , אז אוטומטית : 1. יישלח אימייל לרשימת תפוצה 2. מעקב אחר הסטורייה של בייסליינס ( עם אפשרות לקומפוזיט - בייסליינס )
  • כאשר יש בייסליין מומלץ , אז אוטומטית : 1. יישלח אימייל לרשימת תפוצה 2. מעקב אחר הסטורייה של בייסליינס ( עם אפשרות לקומפוזיט - בייסליינס )
  • כאשר יש בייסליין מומלץ , אז אוטומטית : 1. יישלח אימייל לרשימת תפוצה 2. מעקב אחר הסטורייה של בייסליינס ( עם אפשרות לקומפוזיט - בייסליינס )
  • כאשר יש בייסליין מומלץ , אז אוטומטית : 1. יישלח אימייל לרשימת תפוצה 2. מעקב אחר הסטורייה של בייסליינס ( עם אפשרות לקומפוזיט - בייסליינס )
  • כאשר יש בייסליין מומלץ , אז אוטומטית : 1. יישלח אימייל לרשימת תפוצה 2. מעקב אחר הסטורייה של בייסליינס ( עם אפשרות לקומפוזיט - בייסליינס )
  • תהליך כבד או מורכב מדי מכדי שיהיה אוטומטי תהליך מסוכן - שלא ניתן לחזות בדיוק מתי צריך להריץ אותו , וכן שעלול לגרום נזק ( כגון דריסת מידע ) בלתי צפוי – לא ניתן לתזמן אותו מראש , או שלא ניתן לדעת בוודאות שיחזיר ערך הצלחה
  • “Automation in development processes: why, when and how

    1. 1. Go Midjets Automate your Advantage http://www.gomidjets.com Automation: Why, When and How Tamir Gefen [email_address]
    2. 2. <ul><li>Automation: Why? </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    3. 3. <ul><li>Reason 1: Prevent costly mistakes </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    4. 4. <ul><li>Reason 2: Reduce time-consuming manual tasks </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    5. 5. <ul><li>Reason 3: “Information Islands” </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    6. 6. <ul><li>Information islands: products </li></ul><ul><li>Example: From product A to product B </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    7. 7. <ul><li>Information islands: platforms </li></ul><ul><li>Example: Interoperability </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    8. 8. <ul><li>Information islands: IDEs </li></ul><ul><li>Example: Integrating product with IDE </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    9. 9. <ul><li>Reason 4: Collaboration </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    10. 10. <ul><li>Information islands: </li></ul><ul><li>Collaborating all together </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    11. 11. <ul><li>On regular basis: hourly/daily/weekly etc. </li></ul><ul><li>By trigger (pre or post operations) </li></ul><ul><li>Manually… (cannot scheduled) </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>Automation: When?
    12. 12. <ul><li>Standardize a well-designed process </li></ul><ul><li>Streamline that process </li></ul><ul><li>Evaluate thoroughly the relative fit of the automation technology to the process parts </li></ul><ul><li>Automate the appropriate pieces with proper technology </li></ul>Automation: How? <ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    13. 13. <ul><li>1. Standardize a well-designed process </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    14. 14. <ul><li>2. Streamline that process </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    15. 15. <ul><li>2. Streamline that process: </li></ul><ul><li>“ Walking skeleton” </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    16. 16. <ul><li>3. Evaluate thoroughly the relative fit of the automation technology to the process parts </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    17. 17. <ul><li>3. Evaluate technology </li></ul><ul><li>Users perspective </li></ul><ul><ul><li>Architecture and OS (portability) </li></ul></ul><ul><ul><li>User interface </li></ul></ul><ul><ul><li>Performance </li></ul></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    18. 18. <ul><li>3. Evaluate technology </li></ul><ul><li>Developer perspective (you!) </li></ul><ul><ul><li>IDE / programming language </li></ul></ul><ul><ul><li>Support and community </li></ul></ul><ul><ul><li>Package and deployment? </li></ul></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    19. 19. <ul><li>4. Automate the appropriate pieces with proper technology </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    20. 20. <ul><li>First standardize, streamline, </li></ul><ul><li>and evaluate, </li></ul><ul><li>Before you decide to automate </li></ul><ul><li>Automation </li></ul><ul><li>Why </li></ul><ul><li>When </li></ul><ul><li>How </li></ul>
    21. 21. <ul><li>Practice </li></ul>
    22. 22. <ul><li>Recommended baselines – the problems: </li></ul><ul><ul><li>ClearCase does not catch that event </li></ul></ul><ul><ul><li>ClearCase does not track history of recommended baselines </li></ul></ul>
    23. 23. When baseline is recommended… 1. Send email 2. Track history
    24. 24. So, How to Catch the Event…?
    25. 25. <ul><li>A Resolution </li></ul>Pre-trigger Post-trigger Text file write read “ cleartool chstream”
    26. 26. Pre-trigger Rec. BL Post-trigger Rec. BL = V If true: do nothing A resolution: the Equation X Else: Send email and add to history To download the triggers: http://bit.ly/9zHehO
    27. 27. <ul><li>Command-line interface? </li></ul><ul><li>Overkill process </li></ul><ul><li>Overriding information </li></ul><ul><li>Unpredictable (“what if”) </li></ul>… and When not?
    28. 28. <ul><li>Automation: Summary </li></ul>
    29. 29. <ul><li>Thank You! </li></ul>Go Midjets Automate your Advantage http://www.gomidjets.com [email_address]

    ×