The document discusses agile architecture and solution design, outlining how an architect should understand the customer problem, uncover and communicate a feasible solution through describing the architecture, simplifying it based on constraints, and delivering the software solution through iterative development and demos using a technique called "rainbow planning".
5. A solution architect is
someone who understands
the problem of the customer
and uncovers and
communicates
a feasible solution
6. 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)
7. Uncover problem
vision, stakeholders, usage flow
Describe problem
context and domain model
Describe solution
deployment, implementation model
Simplify architecture
feature oriented structure
Deliver software
rainbow plans
14. For some stakeholder
Who has a goal
The Odessa agile user group (?)
Is a type of activity
Which gives a capability.
Unlike most relevant alternative
This has a distinguishing attribute.
15. For __________________
Who ________________
The Odessa agile user group (?)
Is a _________________
Which ________________.
Unlike ______________________
This _______________________.
18. 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.
19. 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. Speaker Attendee Organizer
Description Description Description
• Experienced • Knows about agile • Volunteer
• New speaker • Works in project • Works in evenings
• Passionate • Norwegian • Has network
Duties Duties Duties
• Register talk • Pay for conference • Select talks
• Upload slide • Get approval to go • Follow up
• Give talk payments
Values Values
Values • Easy selection process
• Constructive
• Easy registration • Good information
feedback on talk overview
• Easy CfP • Never lose a participant
• Fast answer • Financial transparency
25. 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
26.
27. 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
33. User
• Name Registration
• Email • Ticket type
• Price
• Company • Paid amount
• Phone • Paypal ref
• Password • Payment date
• Invoice address [optional]
• Accepts email?
*
Comment *
• Title Speaker
• Text
• Created date *
* Talk Period
• Title
• Description • Stage
• Tags[] • Title
• Slide file • Time of day
• Status : {pending, • Day
accept, reject}
• Email_sent
• Position
37. Browser Smidig2012.no Paypal.com
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
90. Usage flow
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
94. Usage flow: frugalflights.com
1. A customer wants cheap vacations
2. The customer signs up for daily or weekly notifications of special
flight offers
3. Periodically the System checks which customers should get
notifications
4. The System checks for offers that matches the customer’s travel
preference by looking up flights with the travel provider system
5. The System notifies customer of any matching offers via SMS
• Variation: The System notifies customer of any matching offers via
email
6. The customer accepts the offer via SMS
1. Variation: The customer accepts the offer on the system website
7. The System books the tickets on behalf of the customer
8. The system confirms the booking by sending an SMS to the
customer
9. The customer can at any point see their active offers and accepted
offers on the system website
10. The customer enjoys a cheap vacation!
96. Usage flow: frugalflights.com
1. A customer wants cheap vacations
2. The customer signs up for daily or weekly notifications of special
flight offers
3. Periodically the System checks which customers should get
notifications
4. The System checks for offers that matches the customer’s travel
preference by looking up flights with the travel provider system
5. The System notifies customer of any matching offers via SMS
• Variation: The System notifies customer of any matching offers via
email
6. The customer accepts the offer via SMS
1. Variation: The customer accepts the offer on the system website
7. The System books the tickets on behalf of the customer
8. The system confirms the booking by sending an SMS to the
customer
9. The customer can at any point see their active offers and accepted
offers on the system website
10. The customer enjoys a cheap vacation!
97. Sprint 1: Walking skeleton
1. A customer wants cheap vacations
2. The customer signs up for daily or weekly notifications of special
flight offers
3. Periodically the System checks which customers should get
notifications
4. The System checks for offers that matches the customer’s travel
preference by looking up flights with the travel provider system
5. The System notifies customer of any matching offers via SMS
• Variation: The System notifies customer of any matching offers via
email
6. The customer accepts the offer via SMS
1. Variation: The customer accepts the offer on the system website
7. The System books the tickets on behalf of the customer
8. The system confirms the booking by sending an SMS to the
customer
9. The customer can at any point see their active offers and accepted
offers on the system website
10. The customer enjoys a cheap vacation!
98. Sprint 2: SMS support
1. A customer wants cheap vacations
2. The customer signs up for daily or weekly notifications of special
flight offers
3. Periodically the System checks which customers should get
notifications
4. The System checks for offers that matches the customer’s travel
preference by looking up flights with the travel provider system
5. The System notifies customer of any matching offers via SMS
• Variation: The System notifies customer of any matching offers via
email
6. The customer accepts the offer via SMS
1. Variation: The customer accepts the offer on the system website
7. The System books the tickets on behalf of the customer
8. The system confirms the booking by sending an SMS to the
customer
9. The customer can at any point see their active offers and accepted
offers on the system website
10. The customer enjoys a cheap vacation!
99. Sprint 3: Complete workflow
1. A customer wants cheap vacations
2. The customer signs up for daily or weekly notifications of special
flight offers
3. Periodically the System checks which customers should get
notifications
4. The System checks for offers that matches the customer’s travel
preference by looking up flights with the travel provider system
5. The System notifies customer of any matching offers via SMS
• Variation: The System notifies customer of any matching offers via
email
6. The customer accepts the offer via SMS
1. Variation: The customer accepts the offer on the system website
7. The System books the tickets on behalf of the customer
8. The system confirms the booking by sending an SMS to the
customer
9. The customer can at any point see their active offers and accepted
offers on the system website
10. The customer enjoys a cheap vacation!
100. Sprint 4: Complete SMS
1. A customer wants cheap vacations
2. The customer signs up for daily or weekly notifications of special
flight offers
3. Periodically the System checks which customers should get
notifications
4. The System checks for offers that matches the customer’s travel
preference by looking up flights with the travel provider system
5. The System notifies customer of any matching offers via SMS
• Variation: The System notifies customer of any matching offers via
email
6. The customer accepts the offer via SMS
1. Variation: The customer accepts the offer on the system website
7. The System books the tickets on behalf of the customer
8. The system confirms the booking by sending an SMS to the
customer
9. The customer can at any point see their active offers and accepted
offers on the system website
10. The customer enjoys a cheap vacation!
101. Sprint 5: Web pages
1. A customer wants cheap vacations
2. The customer signs up for daily or weekly notifications of special
flight offers
3. Periodically the System checks which customers should get
notifications
4. The System checks for offers that matches the customer’s travel
preference by looking up flights with the travel provider system
5. The System notifies customer of any matching offers via SMS
• Variation: The System notifies customer of any matching offers via
email
6. The customer accepts the offer via SMS
1. Variation: The customer accepts the offer on the system website
7. The System books the tickets on behalf of the customer
8. The system confirms the booking by sending an SMS to the
customer
9. The customer can at any point see their active offers and accepted
offers on the system website
10. The customer enjoys a cheap vacation!
102. Sprint 7: Integration
1. A customer wants cheap vacations
2. The customer signs up for daily or weekly notifications of special
flight offers
3. Periodically the System checks which customers should get
notifications
4. The System checks for offers that matches the customer’s travel
preference by looking up flights with the travel provider system
5. The System notifies customer of any matching offers via SMS
• Variation: The System notifies customer of any matching offers via
email
6. The customer accepts the offer via SMS
1. Variation: The customer accepts the offer on the system website
7. The System books the tickets on behalf of the customer
8. The system confirms the booking by sending an SMS to the
customer
9. The customer can at any point see their active offers and accepted
offers on the system website
10. The customer enjoys a cheap vacation!
103. Sprint 8: Spit-and-polish
1. A customer wants cheap vacations
2. The customer signs up for daily or weekly notifications of special
flight offers
3. Periodically the System checks which customers should get
notifications
4. The System checks for offers that matches the customer’s travel
preference by looking up flights with the travel provider system
5. The System notifies customer of any matching offers via SMS
• Variation: The System notifies customer of any matching offers via
email
6. The customer accepts the offer via SMS
1. Variation: The customer accepts the offer on the system website
7. The System books the tickets on behalf of the customer
8. The system confirms the booking by sending an SMS to the
customer
9. The customer can at any point see their active offers and accepted
offers on the system website
10. The customer enjoys a cheap vacation!