Presentation is loading. Please wait.

Presentation is loading. Please wait.

Architect Bootcamp Johannes Brodwall, Chief scientist Exilesoft Global.

Similar presentations

Presentation on theme: "Architect Bootcamp Johannes Brodwall, Chief scientist Exilesoft Global."— Presentation transcript:

1 Architect Bootcamp Johannes Brodwall, Chief scientist Exilesoft Global

2 Agenda

3 What’s an architect? How to “do” architecture One architect toolchest Practice

4 What is an architect?

5 (Hands on)

6 Types of architects

7 Problems for Solution architects

8 Skill for Solution architects

9 A solution architect is someone who understands the customer’s problem (including contraints, context, domain knowledge) and uncovers (though a team effort) and communicates (with credibility) a feasible solution (primarily, but not exclusively technical)

10 How to «do» architecture?

11 Project initiation

12 Communicating vision

13 Maintaining the architecture

14 Toolchest

15 Example «Smidig» conference application


17 Vision Stakeholders Usage flow Context Domain model Implementation Deployment

18 Example vision statement

19 For Agile practitioners Who need to expand on their experience and network The Smidig conference Is a networking event Which connects you with other Agile practitioners. Unlike traditional conferences This presents the experience of many people through lightning talks.

20 For Conference organizers Who want to organize a good conference The Smidig conference app Is a web application Which eliminates unnecessary work. Unlike commercial conference apps This is optimized for the large number of talks we have and allows us to make changes fast.


22 Example stakeholders

23 Speaker Description Experienced New speaker Passionate Duties Register talk Upload slide Give talk Values Constructive feedback on talk Easy CfP Fast answer Attendee Description Knows about agile Works in project Norwegian Duties Pay for conference Get approval to go Values Easy registration Organizer Description Volunteer Works in evenings Has network Duties Select talks Follow up payments Values Easy selection process Good information overview Never lose a participant Financial transparency

24 Sponsor Description Busy Manager Not very interested Duties Provide logo Pay sponsorship Values Informal communication Easy evaluation

25 Example usage flow

26 Attendance 1.Agile project practitioner wants to learn 2.Attendee goes to Smidig website 3.Attendee registers 4.Attendee pays 5.Attendee receives confirmation mail 6.Organizer can see the registration 7.Organizer sends reminder email to attendee to come 8.Organizer prints badges for attendees 9.Attendee shows up at Smidig and has an excellent time


28 Speaker 1.Agile experts wants to share knowledge 2.Potential speaker goes to Smidig website 3.Potential speaker registers personal info 4.Potential speaker registers talk 5.Potential speaker receives registration confirmation email 6.Organizer sees registered talk and can market speaking opportunities 7.Organizer accepts talk for confence 8.Speaker receives acceptance email –Alternative: Speaker withdraws talk – organizer updates the talk and selects another 9.Organizer prints badges for speakers 10.Speaker shows up at Smidig and gives talk

29 Example context model

30 Participant Speaker Organizer Printing company Paypal

31 Example domain model

32 User Name Email Company Phone Password Accepts email? Registration Ticket type Price Paid amount Paypal ref Payment date Invoice address [optional] Talk Title Description Tags[] Slide file Status : {pending, accept, reject} Email_sent Position Speaker * * Comment Title Text Created date * * Period Stage Title Time of day Day

33 Example implementation diagram

34 Router Controller 1. Find controller 2. Dispatch action Model class 3. Find model Model 4. Manipulate model 5.? Save model Database View template 6. Render model with view template

35 Router /app/controllers UsersController 1. Find UserController 2. update(id) / app/models User class 3. find(id) app/models User 5. update_attr(params) 6. save Database 8. Redirect /users/ POST /users/ 4. SELECT … FROM users 7. UPDATE users SET …

36 Router /app/controllers UsersController 1. Find UsersController 2. show(id) /app/models User class 3. find(id) User Database /app/views/users show.html.erb 5. Render GET /users/ 4. SELECT … FROM users 6. Get attributes

37 Alternative

38 1. POST /users 2. Redirect to paypal with return_url and notify_url 3. Perform payment 4. POST /payment_notifications 5. Redirect to return_url 5. GET /user/ Update user info Show user info Save user info

39 Example deployment model

40 Heroku Paypal PostgreSQL Smidig- conference (Rails) Web userDeveloper smidigdb git.herokugithub git push git pull html/http http smtp

41 Your turn

42 Practice example

43 For some stakeholder Who has a problem The architect bootcamp Is a type of activity Which gives a capability. Unlike most relevant alternative This has a distinguishing attribute.

44 For Exile Developers Who need to make architectural decisions and design The architect bootcamp Is an interactive workshop Which gives a set of tools. Unlike spending the time in projects This gives a chance for reflective learning.

45 1.Groups of three 2.Presentation of group visions 3.Lets’s make a shared vision!

46 Break until 13:30

47 Participants Description Developer Nominated In a project Likes to learn Duties Share knowledge Participate actively Get permission to attend Values Becoming productive Continue to learn after course Analytical skills Get to know people with ideas Customer Description Not here Pays for the time Duties Evaluate request to attend Values Productivity Domain understanding Skilled consultants Want your time! Exile mgmt Description PMO, Finn Some are present Duties Arrange coach Talk to customers Nominate participants Values Credible Exile «architects»

48 Coach Description Experienced architect Experience from real projects Reputation Can talk to customer Duties «Sell» the workshop Prepare Define scope Values «Adventure» Get to know participants for future cooperation Learn about different different projects Grow the Exilesoft brand

49 Real world example: CRM

50 14:30 Finn and Johannes discuss CRM vision live

51 For Exilesoft PMO Who should start up Pocket Mobile in Sweden 21st November The CRM task system Is a workflow system Which help organize all the practical details towards a goal. Unlike Outlook This gives a total picture for everyone involved. Vision: Pocket Mobile kickoff

52 For Exilesoft Sweden Sales Director Who needs to gather prospective customers into a room The CRM marketing module Is a mass marketing tool Which identifies, emails and follow-up potential systems using. Unlike Excel and YMLP This Identified receipients and let the whole sales team see the followup. Vision: Stockholm breakfast seminar

53 For ________________ Who ________________ The ________________ Is a _________________ Which ________________. Unlike ______________________ This _______________________. Vision: Customer conference

54 Usage flow – breakfast seminar 1.Exilesoft decides to have breakfast seminar 2.First time: Someone imports contact info and do-not-mail list from spreadsheets and Highrise 3.Campaign manager creates a receipent list 1.Include by geography (include unknown) 2.Exclude by financial parameters 3.Exclude by e.g. 4.Exclude do-not-send-list 5.Make filter reusable in the future 4.Graphics guys make email 5.Campaign manager exports recipient list into YMLP 6.Campaign manager verifies mail and sends 7.YMLP tracks when users open, forward or delete emails 8.CRM fetches email events from YMLP 9.Receipient find more info and signs-up for event (in CRM??) 10.Campaign manager finds out who should receive reminders 11.Campaign manager gets participant list 1.Optional : Participant list includes pictures from Linkedin

55 Real world example

56 Statnett electricity reserves 1.Grid operator want to maintain balance of electric production and consumption 2.Power producer sends unused capacity per hour for each power plant to Statnett using EDIFACT –Detail: The capacity “line” has a price –Detail: Each plant may have several capacities at different prices –Detail: Capacity may be to increase or to decrease production 3.A spike occurs in the consumption or production 4.Grid operator lists the available reserves per power plant 1.Alternative: Operator filters the list by area 5.Grid operator selects a capacity to compensate for spike 6.Grid operator enters power usage on the capacity 1.Alternative: The system verifies that capacity is valid 7.Balance is restored 8.At end of hour, system sends usage to pricing system (XML/http) 9.Some time later, pricing system sends price for usage (XML/http) 10.System sends price capacity usage to accounting system 11.Accounting system pays producer for usage

57 How would you break it down?

58 Context model What parties are involved? How do they communicate?

59 Domain model What concepts are involved? How do they relate?

60 Start after lunch: 13:30

61 Resume after break 15:45

62 Implementation: Time series

63 Q&A

64 Your systems

65 Example vision statement

66 For some stakeholder Who has a problem The system Is a type of system Which gives a capability. Unlike most relevant alternative This has a distinguishing attribute.

67 Example stakeholders

68 User Who are they … What do they do? … What do they value? … User Who are they … What do they do? … What do they value? … User Who are they … What do they do? … What do they value? … User Who are they … What do they do? … What do they value? …

69 Example usage flow

70 …. 1.Something happens in the real world 2.The event is communicated to the system 3.The system does something 4.Someone does something with the system 5.… 6.… 7.… 8.… 9.… 10.Some goal is achieved

71 Example context model

72 What actors did you mention in scenario?

73 Example domain model

74 What concepts did you mention in scenario?

75 Example implementation diagram

76 How does the code work?

77 Example deployment model

78 Which servers are involved in production?

79 Conclusion:

80 Tomorrow: Make your system shine!

81 Thank you

Download ppt "Architect Bootcamp Johannes Brodwall, Chief scientist Exilesoft Global."

Similar presentations

Ads by Google