Venerdì Protetto | Christmas edition
What happened in the last Facile.it Venerdì Protetto?
During the latest Venerdì Protetto on December 13th, Facile.it hosted a software architecture exercise called Architecture Kata with some of our lead developers.
Architectural Katas are small-group exercises. A moderator assigns each group a different project that needs development, keeps track of time and acts as the facilitator. To learn about Architectural Katas, see https://nealford.com/katas/.
During the exercise, each team had a meeting to discover additional requirements, discuss possible technology options, and sketch out a rough vision of the solution. Then, each team presented the final solution to the other teams using UML, C4 model, or other diagrams and answered challenging questions about the presented project. Once all projects were presented, each team voted for their favorite project. Following the voting, two winners were selected:
-
Team Isola Bella Vista with the Architectural Kata “Room With A View”
-
Team Sinfonia di Facilitatori with the Architectural Kata “Concert Comparison”
Let’s take a look at the exercises and presented solutions.
Architectural Kata “Room With A View”
Team: Isola Bella Vista
Moderator: Filippo Andrighetti
Participants: Francesco Benedetto, Francesco Trevisi, Alessandro Lai, Marco Saletta, Giulia Chiola, Santolo Tubelli
Exercise
Context
A large hotel reservation company wants to build the next-generation hotel reservation and management system specifically tailored to high-end resorts and SPAs where guests can view and reserve specific rooms.
Users
-
guests (hundreds)
-
hotel staff (less than 20)
Requirements
Registration can be made via web, mobile, phone call, or walk-in. Guests can either book a type of room (standard, deluxe, or suite) or choose a specific room to stay in by viewing pictures of each room and its location in the hotel. The system must be able to maintain room status (booked, available, ready to clean, etc.) as well as when the room will be needed next. It must also have state-of-the-art housekeeping management functionality so that cleaning and maintenance staff can be directed to various rooms based on priority and reservation needs using proprietary devices supplied by the reservation company attached to the cleaning carts. Standard reservation functionality (e.g., payments, registration info, etc.) will be done by leveraging the existing reservations system. The system will be web-based and hosted by the reservation company.
Additional context
Peak season is quickly approaching so the system must be ready quickly or we have to wait until next year. The company is investing heavily in cutting-edge technology like smart room locks that open via a cell phone and is only interested in the high-end market. Salespeople have tremendous clout in the organization. People often scramble to make their promises true.
Presented solution
Architectural Kata “Concert Comparison”
Team: Sinfonia di Facilitatori
Moderator: Olegs Belousovs
Participants: Matteo Garza, Roberto Diana, Giulio Garofalo, Alessandra Frisullo, Ana Radujko, Luca Pacchiarotta, Giuseppe Rogato, Thomas Vargiu
Exercise
Context
A concert ticketing website with big acts and high volume needs an elastic solution to sell tickets.
Users
Thousand of concurrent users, bursts of up to 10,000/second when tickets go on sale.
Requirements
-
Allow concurrent ticket buying.
-
Do not sell a seat more than once.
-
Shoppers can see an overview of the remaining seats.
Additional context
Consider an implementation in both Space-Based and Microservices architecture styles. Identify the tradeoffs for each solution.
Presented solution
Architectural Kata “Check Your Work”
Team: X-men
Moderator: Christian Nastasi
Participants: Angelo Landino, Edoardo Masselli, Gabriele Veneri, Davide Monfrecola, Vincenzo Gasparo, Cesare Bassu
Exercise
Context
A university has greatly expanded its CS course and wants to be able to automate the grading of simple programming assignments.
Users
- 300+ students per year
- staff and admin
Requirements
Students must be able to upload their source code, which will be run and graded. Grades and runs must be persistent and auditable. There must be a plagiarism detection system involving comparing with other submissions and also submitting to a web-based service (TurnItIn). There must be some level of integration with the University’s learning management system (LMS).
Presented solution
Architectural Kata “1-800-AMI-SICK”
Team: Lambretta Ipocondriaca
Moderator: Alessandro Manno
Participants: Filippo Del Moro, Federico Losi, Vito Di Bari, Oleksandr Savchenko, Gioele Farina, Mario Finelli
Exercise
Context
Your company wants to build a software system supporting call center nurses (advice nurses) answering questions from customers about potential health problems.
Users
250+ nurses worldwide
Requirements
Be able to access patient medical histories, assist nurses in providing medical diagnosis, enable client customers to reach local medical staff if necessary, and contact the local medical staff directly ahead of time if necessary.
Later phase requirements
Anable parts of the system for direct client customer use.
Presented solution
Architectural Kata “I’ll Have the BLT”
Team: BLT
Moderator: Enzo Camuto
Participants: Silverio Giancristofaro, Nicola Bonicelli, Samuel De Benedictis, Michele Milani, Stefano Giurgiano, Giovanni Lenoci, Mirko Urru
Exercise
Context
A national sandwich shop wants to enable “fax in your order” but over the Internet instead (in addition to their current fax-in service).
Users
millions+
Requirements
Users will place their order and then be given a time to pick up their sandwich and directions to the shop, which must integrate with Google Maps. If the shop offers a delivery service, dispatch the driver with the sandwich to the user. Provide mobile-device accessibility, offer national daily promotions/specials and local daily promotions/specials, and accept payment online or in person/on delivery.
Share this post
X
Facebook
Reddit
LinkedIn
StumbleUpon
Pinterest
Email