SDLC via Gulf Job Calculator

I use a sequence of classroom activities to teach students the Software Development Life Cycle (SDLC). More important is for them to see firsthand the challenges of identifying requirements, communicating them to the developer, and translating them into practice (e.g., on a spreadsheet).

The example I use is a Gulf Job Calculator which represents a simple decision support system. The steps of this sequence are:

0) Encourage them to read the book - Chapter 10 Q3 in Kroenke Using MIS 2e (they don't)

1) Apply what they learned to a business problem (most are clueless - perhaps due to lack of reading - and just repeat what is in the book)

2) Give them requirements to solve business problem - they must interpret requirements and build a decision support system (calculator)

3) Prepare them for self assessment of their own work (they think they've done it right) by assessing a previous submission in form of a quiz. They can repeat the quiz several times and get hints from the instructor.

4) Reflect on the set of exercises to reinforce the message that they will be the business manager in the future responsible for coming up with these requirements and explaining what they want to system developers.

I picked the Gulf Job Calculator because over half of our graduates go directly to the Gulf after graduation thinking they will save a lot of money. So the calculator is about a real life decision with the hope that relevance will get their interest. The calculator is fairly simple if you ignore some of the harder requirements but quite hard if you want to satisfy all the requirements. Some of the better students realize that the requirement to allow inputs in either monthly or annual amounts is better done by programming (e.g., Visual Basic which they have been introduced in this course prerequisite). The calculator also assesses proficiency (or lack of) in use of spreadsheets. I believe it also teaches them how to assess their own work. They don't seem to have much sense of how well they met a requirement. Finally, I hope that by putting them in the position of a system developer the students will learn the importance of properly communicating what they want done. A developer can (and will) interpret your text-based requirement in many ways. Hopefully this exercise will save some students from embarrassment in their first job.

All the text in italics are what the students see in the various Moodle activities that comprise the SDLC-Gulf Job Calculator assignment. I provide some commentary (in plain text). Here we go!

Your friends hear that you did well in INFO 200 and want you to build a small information system for them. They want to compare the Economics of Going (Gulf) or Staying (Lebanon).

The first thing you do is re-read Chapter 10 Q3 on SDLC. Then through the questions (one for each phase) you develop an SDLC plan. The textbook (Using MIS 2e by Kroenke) includes specific tasks for each phase. Your responses below should include these specific tasks.

Apply SDLC to Gulf Job Calculator

Answer the following questions:

System Definition. You are developing this small IS for your friends as a favor to them, so come up with a system definition for this project.

Requirements Analysis. What are the requirements for this project? What variables do your friends want you to consider? Hint (at a minimum): salary, rent, transportation, living expenses, entertainment expenses, vacation expenses.

Component Design. You don't need to build this IS (yet) - just decide how you will build it. Hint: your friends aren't paying you so what application development tools exist that you can quickly compare numbers? Make sure you define at least hardware design, program design, database design, procedure design. Hint: you want to be able to implement this design in one class session.

Implementation. You will implement this IS in a participation exercise to follow. However you need to plan out what you want to do. System testing will be a key criteria in assessing your IS. One testing scenario you must consider is that your friend wants to examine more than one job offer (e.g., inputs change).

Systems Maintenance. This is a very small IS but you still need to maintain it if you want to use again in the future when you graduate. What is in your systems maintenance plan?

The above questions are in a participation (a Moodle questionnaire activity) which is an ungraded (sufficient effort gets points) exercise due at start of class. The hope is that students have read the book in advance.

Apply SDLC to Gulf Job Calculator

Using the SDLC specification (below this Moodle activity) that contains specific business requirements, build a Gulf Job Calculator that allows a local job (Lebanon) to be compared against a Gulf job.

This is an INDIVIDUAL assignment. There should be a note that includes your name and any assistance (e.g., Joe helped me with formulas) you received.

The students then build a spreadsheet based on the following information that includes explicit requirements and implied ones. First up are the elements of the SDLC specified for this assignment followed by the business requirements. These are in the form of a Word document (reproduced below) that specifies both requirements for the assignment (e.g., each SDLC phase) and for the content of the calculator.

Requirements for each SDLC phase

The requirements for each phase in the SDLC for the Gulf Job Calculator are:

1. System Definition

a. Critical Success Factors are a) supports the decision on whether to accept the job in Beirut or in Dubai; b) easy to use with little explanation

b. Project scope is a calculator that compares the offer your friend received from Beirut and Dubai and computes the difference. While nice to know, the prototype due in class does not have to reflect currency fluctuation, finding average cost of housing in Dubai, nor finding comparable salaries. These would be considered feature creep.

c. Project plan is based on selfsourcing in which you are knowledge worker and developer. The client is your friend at AUB.

2. Requirements Analysis

See below.

3. Component Design

a. Technical architecture (hardware design) is Microsoft Excel in Excel 2003/7 format.

b. Program design is a single cell used for each input. Input cells marked in bold. Computations in italics. The prototype does not require you to lock the cells that you do not want changed. Assume the user is computer-proficient to enter numbers only in the input cells.

c. GUI design is ... single screen

d. The design should allow for any and all inputs to be changed to calculate a different job offer.

4. Implementation

a. You do not need to build the technical architecture. Use Microsoft Office.

b. The development (implementation) includes the creation of a working spreadsheet. Use other tabs of worksheet for your documentation. The first tab is for the calculator.

c. Implement test plan. The grading will be based on changing any and all inputs. This should be tested.

d. Ignore (at this time) user documentation and training.

5. System Maintenance (not at this time)

a. Help Desk

b. Change environment

Item 3b) is an element of good spreadsheet design. Most students don't know how to do it.

Generally the students ignore all of these instructions and jump immediately to building the spreadsheet.

Business requirements for Gulf Job Calculator

Business requirements (rules) for the calculator are the following:

1. Compare sources of income (salary, housing allowance, car allowance, etc.) and expenses (rent, car purchase and operations, food, entertainment). A sub-total for monthly income and monthly expenses is required. You should calculate on an annual basis as well.

2. The Dubai job offer may be reported as an all-inclusive salary (including housing and car allowance) or broken out separately. The calculator must account for both situations. No integrity checking is required in the prototype. However, it must be obvious how to use the calculator.

3. The CALCULATOR must allow the option of rental contract being input as monthly or annually.

4. The CALCULATOR must allow the salary to be entered as monthly or annually.

5. The key decision supported is net monthly income in US$ (i.e. “Money in my pocket at the end of the month”). The CALCULATOR shall compute the net difference. The CALCULATOR should make a recommendation.

6. The inputs shall be in the local currency for each location. The comparison shall be in US dollars. The currency conversion rate must be in only one place (i.e., any change in conversion rate requires only changing one number (spreadsheet cell). Use 3.67 UAE dirhams to the US dollar. Use 1508 LL to US dollar.

7. The prototype does not include Lebanese income tax. There are no taxes in UAE.

8. The two job offers are the following:

---------- Beirut ABC Ltd -----------

Congratulations! Beirut ABC Ltd is offering you a position as assistant marketing manager in our Beirut office for a salary of 14,000,000 LL annually.

--------------------------------------------

---------- Dubai DEF -----------

Congratulations! Dubai DEF is offering you a position as assistant marketing manager in our Dubai office for a salary of 7,500 AED per month. You will also receive a housing allowance of 4,000 AED and 1,500 AED car allowance.

--------------------------------------------

9. Your friend’s friend in Dubai writes: Congratulations! I’m paying 8,000 AED for my studio (no bedroom) apartment. My company wanted me to share an apartment with five others but I said no thanks. Food prices are the same as in Lebanon. Entertainment is 25% more expensive than Beirut but oh so much more to do! You will do twice as much here! What fun! You can lease a small car and maintain it for 2,000 AED per month. Look forward to seeing you.

10. Your friend informs you that he/she will be living at home if taking the job in Beirut. Since you go out together, entertainment expenses are the same (you decide).The family won’t charge rent but expects the following amount for groceries:

For groceries (food expense), use the following based on your student ID ending in

“0” US$200 per month.

“1” US$210 per month.

“2” US$220 per month.

“3” US$230 per month.

“4” US$240 per month.

“5” US$250 per month.

“6” US$260 per month.

“7” US$270 per month.

“8” US$280 per month.

“9” US$290 per month

The numbers are updated every year based on current salaries and living expenses. The numbers for expenses are fairly accurate based on feedback from former students. Most students miss the business rule "you'll do twice as much" for entertainment expenses. Students have great difficulty in making assumptions when the requirements don't explicitly state a value. The hardest seems to be how much is spent on entertainment to which I respond "it is your friend - I assume you do pretty much the same things - so what do you spend?" Some have difficulty in interpreting "live at home" to mean zero rent because it doesn't explicitly say so. Again, it is deliberate. I try to provide enough information to provide generally the same answers but enough vagueness and ambiguity that the students have to think and make assumptions. No system specification entirely defines a system.

The biggest problem for the layout of the spreadsheet is that the students don't know what "compare" means. They will say look at my great spreadsheet even though the numbers in two columns may be a mix of currencies and some annual amounts - others monthly. They also seem to have difficulty realizing that this is somewhat like a balance sheet - income and expenses.

Those who copy the assignment will not have read the different amounts for groceries (#1). Every semester I usually add or delete a requirement just so I have an indication that the spreadsheet has been copied from someone else. Given the numerous ways in which a spreadsheet can be designed for this problem - it is easier to see who copied from whom.

The above set of numbers typically results in taking the job in Beirut especially if they spend a lot on entertainment and don't need a car. For the Fall 2009 semester the students got a pay raise and it seems that the Dubai job results in higher net savings. But of course the F09 semester excluded the cost of a monthly vacation (to the dismay of a student who got caught submitting a submission with it) back to Lebanon where they spend much more than normal.

Calculator Assessment

The students think they have met the requirements after finishing their calculator. Thus the students are provided a calculator from the previous semester and asked to make an assessment based on the above requirements. I give them a checklist based on the above 10 requirements.

Assess Sample Calculator

They are given the following Moodle quiz activity:

Question 1

When did you finish (your) calculator?

Note: Everyone gets credit for this question - it is a survey.

Choose one answer.

a. In class

b. Same day (not end of class)

c. Due Date

d. Did not finish

Note: We do the Gulf Job Calculator near end of semester and attendance drops precipitously. I therefore reward those who come in class - they get full credit for submitting what they have at the end of the class. Those who submit by due date are graded (typically not much better than done in class though it takes them hours to do it - or copy it). The goal of building the calculator is NOT to get one that really works (few actually do) but to appreciate the challenges of systems development.

Question 2

#1 (refers to requirement # in "Requirements for Gulf Job Calculator" document)

Did the calcuator compare sources of income (salary, housing allowance, car allowance, etc.) and expenses (rent, car purchase and operations, food, entertainment).

"Compare" means I can see the difference between expenses or income for a particular line item (e.g., car expenses).

Choose one answer.

a. Yes

b. Mostly

c. No

Question 3

(part of #1) A sub-total for monthly income and monthly expenses is required.

Choose one answer.

a. Yes

b. Mostly

c. No

Question 4

(part of #1) You should calculate on an annual basis as well.

Choose one answer.

a. Yes

b. Maybe

c. No

Question 5

#2 The Dubai job offer may be reported as an all-inclusive salary (including housing and car allowance) or broken out separately.

Choose one answer.

a. Yes

b. Maybe

c. No

Question 6

(part of #2) The calculator must account for both situations (referring to "Dubai job offer may be reported as an all-inclusive salary (including housing and car allowance) or broken out separately."

Are there input fields to allow either condition?

Choose one answer.

a. Yes

b. Mostly

c. No

Question 7

(part of #2) No integrity checking is required in the prototype. However, it must be obvious how to use the calculator.

Is there integrity checking? Can the user change a calculated field by accident? What fields are used as inputs in case the values change?

Choose one answer.

a. Yes

b. Mostly

c. No

After they complete the quiz, they are asked to apply the checklist against their own calculator.

Assess Own Calculator

This is honor system. Some do - some don't.

Reflections on Gulf Job Calculator

The last submission on part of student is a participation with survey and reflection questions.

How did your business requirements document you prepared for the Gulf Calculator (Participation 10.3.1) compare to what the instructor provided? What were the differences? Why were there differences?

1. What submission option did you choose for Participation 10.3.2?

Did not submit

In-class

End of day (midnight)

Following class

Other:

Note: I ask it on the previous checklist but ask again so I have the responses together.

2. How well did your submission meet the instructors requirement document for the Gulf Calculator? (1=not much at all, 5=met all the criteria)

1 2 3 4 5

Note: Self-assessment - see how honest they are with themselves.

3. How long did it take you to develop your calculator?

Less than half an hour

Half hour to one hour

One to two hours

Two to four hours

More than four hours

Other:

Note: I want to know how long it takes. Taken together with the first question I get an idea of effort.

4. Required essay How different would this SDLC development experience have been if you were supervising a classmate who was building the application for you?

5. Required essay You will likely have some involvement as a business manager in implementing an information system. What would your role be in such a project? Does this kind of work appeal to you?

6. Required essay What did you learn about your own calculator from evaluating the sample calculator? What would you do in the future to improve your calculator?

7. Required essay What can be done to improve this participation exercise (sequence of 10.3.1, 10.3.2, 10.3.3)?

I use these short essays (paragraph or two) to assess learning from these set of exercises.

Wrapup

Sometimes I discuss selected responses from above to reinforce the exercise.