810 likes | 1.08k Vues
Architect Bootcamp. Johannes Brodwall, Chief scientist Exilesoft Global. Agenda. What’s an architect? How to “do” architecture One architect toolchest Practice. What is an architect?. (Hands on). Types of architects. Problems for Solution architects. Skill for Solution architects.
E N D
ArchitectBootcamp Johannes Brodwall, Chief scientist Exilesoft Global
What’s an architect? How to “do” architecture One architect toolchest Practice
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)
Example «Smidig» conference application
Vision Stakeholders Usage flow Context Domain model Implementation Deployment
For Agile practitioners Who need to expand on their experience and network TheSmidig conference Is a networking event Which connects you with other Agile practitioners. Unlike traditional conferences Thispresents the experience of many people through lightning talks.
For Conference organizers Who want to organize a good conference TheSmidig conference app Is a web application Which eliminates unnecessary work. Unlike commercial conference apps Thisis optimized for the large number of talks we have and allows us to make changes fast.
Organizer Attendee Description Volunteer Works in evenings Has network Description Experienced New speaker Passionate Description Knows about agile Works in project Norwegian Speaker Duties Select talks Follow up payments Duties Register talk Upload slide Give talk Duties Pay for conference Get approval to go Values Easy selection process Good information overview Never lose a participant Financial transparency Values Constructive feedback on talk Easy CfP Fast answer Values Easy registration
Sponsor Description Busy Manager Not very interested Duties Provide logo Pay sponsorship Values Informal communication Easy evaluation
Attendance • Agile project practitioner wants to learn • Attendee goes to Smidig website • Attendee registers • Attendee pays • Attendee receives confirmation mail • Organizer can see the registration • Organizer sends reminder email to attendee to come • Organizer prints badges for attendees • Attendee shows up at Smidig and has an excellent time
Speaker • Agile experts wants to share knowledge • Potential speaker goes to Smidig website • Potential speaker registers personal info • Potential speaker registers talk • Potential speaker receives registration confirmation email • Organizer sees registered talk and can market speaking opportunities • Organizer accepts talk for confence • Speaker receives acceptance email • Alternative: Speaker withdraws talk – organizer updates the talk and selects another • Organizer prints badges for speakers • Speaker shows up at Smidig and gives talk
Paypal Smidig2011.no Printing company Participant Speaker Organizer
User • Name • Email • Company • Phone • Password • Accepts email? • Registration • Ticket type • Price • Paid amount • Paypal ref • Payment date • Invoice address [optional] * * • Comment • Title • Text • Created date Speaker * * • Talk • Title • Description • Tags[] • Slide file • Status : {pending, accept, reject} • Email_sent • Position • Period • Stage • Title • Time of day • Day
Router 1. Find controller 2. Dispatch action Controller Model class 3. Find model Database 4. Manipulate model Model 5.? Save model 6. Render model with view template View template View template
POST /users/<id> Router 1. Find UserController 2. update(id) /app/controllers UsersController /app/models User class 4. SELECT … FROM users 3. find(id) Database 5. update_attr(params) app/models User 7. UPDATE users SET … 6. save 8. Redirect /users/<id>
GET /users/<id> Router 1. Find UsersController 2. show(id) /app/controllers UsersController /app/models User class 4. SELECT … FROM users 3. find(id) Database User 5. Render /app/views/users show.html.erb 6. Get attributes
Paypal.com Browser Smidig2012.no 1. POST /users Save user info 2. Redirect to paypal with return_url and notify_url 3. Perform payment 4. POST /payment_notifications Update user info 5. Redirect to return_url 5. GET /user/<id> Show user info
html/http Heroku git push git pull git push Smidig-conference (Rails) Paypal http github git.heroku smtp Web user Developer Smtp.dreamhost.com PostgreSQL smidigdb
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.
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.
Groups of three Presentation of group visions Lets’s make a shared vision!
Exile mgmt Customer Description PMO, Finn Some are present Description Developer Nominated In a project Likes to learn Description Not here Pays for the time Participants Duties Arrange coach Talk to customers Nominate participants Duties Share knowledge Participate actively Get permission to attend Duties Evaluate request to attend Values Credible Exile «architects» Values Becoming productive Continue to learn after course Analytical skills Get to know people with ideas Values Productivity Domain understanding Skilled consultants Want your time!
Description Experienced architect Experience from real projects Reputation Can talk to customer Coach 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