Architecture Kata “Collective Order”
Develop a web based software system to allow people who are interested in the same product to discover each other and jointly order the product to gain a price advantage from ordering a larger quantity.
The software system will manage requests or offers, e.g. “Organic Cranberries, 500g”. Such requests have a deadline (e.g. 1/15/2016) and a quantity threshold (e.g. 50 packages). If the threshold is reached before the deadline, the product will be ordered automatically. If the deadline is reached without the quantity threshold being crossed, an order depends on the total quantity the supporters want to order.
The minimum order quantity secures a certain price for all supporters of a request.
All supporters register with a request by adding the quantity they want to order. They will see how much time until the deadline and the delta between the current total quantity and the threshold.
As long as the request is active supporters can enter and leave it.
Once an order is generated all supporters will be informed by email. Likewise if the request got cancelled.
In case of an order the vendor is provided with a CSV list of all supporter data. He then will deliver directly and invoice them.
Supporters need to first register with the system. Any user can create new requests or support requests.
- Request/offer: titel, description, deadline, threshold, quantity unit (e.g. piece, litre), email address of owner.
- Supporter: email address, invoice address, delivery address, order quantity
- User: email address, password
“I am the founder of Majer Consulting and Majer Training and an experienced software developer, trainer and consultant. I have been on the road in the SAP world since 1998, supporting numerous projects, and have developed a passion for software engineering, software testing and agile development methods such as TDD. When I am not servicing customers or holding seminars, I am speaking at conferences or writing my next book.”