Daniel M. Berry - Cheriton School Of Computer Science

Transcription

Lessons Learned from and forRequirements Engineering andBuilding Construction:A Case Study of RequirementsEngineering for a Synagogue Kitchenwith Use Cases and ScenariosDaniel M. BerryCheriton School of Computer ScienceUniversity of Waterloo, Canada 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 1

Joint WorkwithCyril MaugerCRP, Henri TudorLuxembourg 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 2

VocabularyUCsuse casesUCaSs use cases and scenariosREguess whatAECArchitecture, Engineering,and Construction 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 3

Brief Lesson on KashrutTo understand this talk, here’s what you needto know about kashrut, the property of beingkosher:gBuy only fresh fruits and vegetables, andamong all other food, only that certified askosher, with e.g., “ ”gWhile preparing, cooking, eating, andcleaning up, keep meat and dairy foodsseparate. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 4

Kitchen Plans Sent by A RabbiA local rabbi sent me e-mail containing acomplete set of plans for a new, necessarilykosher kitchen for the synagogue in which heofficiated.The kitchen was shared by the synagogue andthe living quarters for the Rabbi, his wife, andtheir children. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 4

Made an AppointmentThe Rabbi requested and got an appointmentwith me the next day, in my office to talk aboutthe plans.He did not say why he wanted to meet, and Idid not ask. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 6

My ReactionAs an expert cook who has catered two weddings, has used dozens of poorly designed kitchens, has designed a dream kitchen for his ownhouse, and used to keep kashrut (eat only kosher food), I was bothered by the floor plan. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 7

Reorganized KitchenI sat down and drew by hand what I thoughtwas a better plan before the meeting with theRabbi the next day. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 10

Visit by the RabbiWhen the Rabbi came, I asked him, “Why didyou send me the plans?”He said that he was seeking a donation to fundthe building of the kitchen.“Ah”, I said.I politely declined, saying that all mysynagogue-targeted funds go to thesynagogue of which I am a lay leader. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 12

Surprised!I had not guessed that this was his reason.I told him that I thought that he had heardabout my cooking expertise and myexperiences in designing kitchens andtherefore wanted my critique of the plans./2He said, “That’s a stretch!” 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 13

CritiqueI asked him if he would like to hear what Iobserved about the plans.He said, “Sure, why not?” 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 14

Walk Through the PlansI finger walked through the original and newplans guided by UCaSs, including cominghome from shopping and preparing, cooking,and serving food, to show what was good and bad about theoriginal plans and why I made the changes Idid.Basically, I did with him what I did with you afew slides ago. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 15

The ConversationThe Rabbi protested that his wife, not he, doesthese activities.I told him to use his imagination.He did and followed me. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 16

Downstream CostsI told the Rabbi that if he built the kitchen asplanned by his architect, they would discoverall these problems later.They would end up modifying the kitchenclose to my plan.The cost to fix these problems later would beat least 20K. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 17

My Donation“There’s my donation!” I said.I added that in all seriousness I had saved thesynagogue 20K or more by discovering theseproblems now before the kitchen is built.” 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 18

Problems with My PlanDuring the walkthrough with the UCaSs, Inoticed some flaws in my plan:gThe pantry is still too close to the stove.gThe dairy kitchen has no pantry for storageof dairy items. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 19

Towards a Better PlanI decided to make full lists of UCaSs andprinciples to develop a better plan. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 20

Scenarios:A. coming home from shopping and putting food away in refrigeratorB. coming home from shopping and putting food away in freezerC. coming home from shopping and putting food away in pantryD. coming home from shopping and putting food away in cupboardE. removing food from refrigerator in preparation for cookingF. removing food from freezer in preparation for cookingG. removing food from pantry in preparation for cookingH. removing food from cupboard in preparation for cookingI. removing dishes from cupboard and taking them to dining roomJ. preparing to cook and cooking a meat mealK. preparing to cook and cooking a dairy meal

L. adding water to pot that is being cookedM. removing hot item from ovenN. removing hot item from rangeO. removing hot item from microwave ovenP. taking food to dining roomQ. getting rid of garbageR. getting rid of compostablesS. getting rid of recyclablesT. washing dishes in sinkU. washing dishes in dishwasherV. removing dried dishes from dishrack and putting them awayW. removing dried dishes from dishwasher and putting them away

These scenarios lead to some principles, particularly, 1, 2, 7.Kitchen Principles, Including for Kashrut:1. There should be a counter top next to or very near anything thatopens or is hot, e.g., a refrigerator, a freezer, a pantry, a cupboard, adishwasher, an oven, a range (so that one does not have to hold anyitem take from the anything or put it on the floor).2. For anything that has a door with vertically placed hinges, thereshould be a counter on the side not having the hinges, so that movingitems to and from the thing from and to the counter does not have togo around the thing's door.3. Separate hot things from cold things, e.g., an oven from a freezer.

4. Separate hot things from room-temperature things, e.g., an ovenfrom a pantry.5. Separate cold things from room-temperature things, e.g., a freezerfrom a pantry (because the exhaust of a cold thing is warm).6. Divide the kitchen into three regions, hot, cold, room temperature.Each region should be contiguous.7. A dishwasher should be adjacent to a sink.8. If you have separate kitchens for meat and dairy, each should be atleast minimally functionally complete, i.e., one should not have to goover to the other kitchen to do any part of a job being done in onekitchen.

9. One never has too much counter space.10. One never has too much cupboard space.11. One never has too much pantry space.12. The counter next to a hot thing should have a burn-resistant top.13. Adding water to someone on the range or in the over should notrequire carrying water or a pot over a floor. (The carrying, if any,should be over counter tops.)14. Cabinets should all the way to the ceiling to get some dust-freestorage for very low frequency items, to take advantage of the spaceto the high ceiling, to avoid dust-trapping space between the tops ofcabinets and the ceiling, and to avoid building a useless hollow fillerbetween the tops of cabinets and the ceiling.

Kitchen DomainThe kitchen domain is well understood:There is even a book, Household Engineering:Scientific Management in the Home byChristine Frederick, published in 1919 thatlists UCaSs. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 22

New PlanSo I worked for another week, improving myplan and sent the final result by e-mail to theRabbi. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 23

BAY WINDOW w/BENCHDWDAIRY KITCHENDWFREEZERFRIDGELEDGECLOSET & PANTRYPANTRYG/DFRIDGE w/FREEZERG/DMEAT KITCHENDWOVENSTACKw/ M/W

The Rabbi’s DecisionThe Rabbi decided to go with the original plan,because that’s what his wife wants.I offered to meet with his wife and architect toshow them my observations, but he declined. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 26

Two Years LaterThe kitchen is built already.The next slide shows a photo the Rabbi tookand posted at the synagogue’s Web site. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 27

The Picture ShowsThe picture shows the central island closer toone wall than to the other and the hinge at the top of the door of one of therefrigerators, so the doors open as in the plan. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 29

Why, Oh Why?Why did the Rabbi stick with the original plan?Wer weis?Clearly some emotional issues here. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 30

What Happened with Architect?I asked the Rabbi if the professional architecthad done what I did?Reply: “No!” 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 31

No Serious RENo serious requirements analysiswith full set of UCaSs!!! 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 32

Asked ArchitectsI asked a few professional architects andarchitecture students if they learned what wecall RE in architecture school.All replies: “No!” 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 33

Even at CMUCMU’s School of Architcture has an RE coursederived from the MSE program’s RE course.But, it’s for a special program about SW toolsfor architects to use.It’s not a required course for all architects. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 34

ProgrammingArchitects call RE “programming”!And it’s left to junior architects to reserve thereal architecture work to the senior architects,i.e., designing beautiful buildings that wowcustomers. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 35

Parallel in SEHmm! what SE calls “programming” isconsidered unglamorous while designing architectures is consideredglamorous. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 36

A TheoryBased on my past experience with housebuilding and remodeling, anecdotes told to meby friends and relatives, and discussions withCyril Mauger and Eric Dubois at CRP HenriTudor in Luxembourg, Mauger, Dubois, and I describe the businessmodel of building architects and contractors: 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 37

Construction Business ModelTo make the plans that are used in theconstruction, do just enough RE to make thecustomer happy that he or she has receivedgood service, but not enough that he or she discovers thereal requirements and all the problems withthe delivered plans.Underbid on the initial construction to win thecustomer. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 38

Business Model, Cont’dAgree to impossible deadline.The contract might even specify penalties forlate completion, but cancels them if customermakes changes.Customer discovers real requirements andproblems with the plans during construction.Customer demands changes. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 39

Business Model, Cont’dAdapting to new requirements and fixingproblems is much more expensive per squaremeter than in contract.All penalties are off. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 40

Kahneman AgreesDaniel Kahneman in his Thinking, Fast andSlow documents and explains thisphenomenon on page 250 and 251. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 41

But If RE is CompletePlans meet customer’s real requirements andhave no problems.Customer never requests changes.Contractor is stuck with original price andimpossible deadline.Contractor loses money on building.Contractor might even go bankrupt. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 42

Research is ContinuingMauger, Dubois, and I are continuing researchaimed at motivating:changing building construction so that its REis thorough and its bidding is accurate.changing software development so that it’slike the changed building construction, i.e.,with thorough RE, accurate bidding, andchanges after RE is done cost s. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 43

Mauger’s PhD ResearchMauger is exploring the issues raised by thiscase study.He is also developing some tools to help dothe UCaS analysis of building plans. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 44

Open QuestionsgHow exhaustive is the set of kitchen usecases?gWhat set of tools are necessary to be ableto do a large building what I did manuallyfor one kitchen?gCan software engineering learn anythingfrom AEC? 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 48

Open Questions, Cont’dgDid I illegitimately try to impose myrequirements on the Rabbi?gWhy did the Rabbi stick with the originalplan?gWhy did the Rabbi not go with my plan?gWhy did not the professional architect do athorough job of programming (i.e.,requirements analysis)? 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 49

Lessons LearnedgTechniques that work for RE of SWsystems seem to work also for AEC.gThe AEC trade can learn aboutprogramming from the RE field.gThe SE trade can learn about charging s for changes to requirements fromthe AEC trade. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 50

Lessons Learned, Cont’dgEven when functional requirements shoulddominate a client’s decisions, emotionalissues may cropping up.gThe education of the typical AEC architectseems to be lacking a course inprogramming, programming techniquessuch as UCaSs, and interacting withclients. 2014 Daniel M. BerryScenario-Driven RE RE for Kitchen Pg. 51

Kitchen Plans Sent by A Rabbi A local rabbi sent me e-mail containing a complete set of plans for a new, necessarily kosher kitchen for the synagogue in which he officiated. The kitchen was shared by the synagogue and the living quarters for the Rabbi, his wife, and their children. 2014 Daniel M. Berry