ICS 121 Spring 2004

Instructor: Robbins

Assignment 1

Due: Tuesday, April 13 in Distribution Center

Name: YOUR NAME
Student ID: YOUR ID NUMBER

Instructions: Save this web page with "Save as..." in your web browser. Edit the .html file with a text editor, e.g., Textpad, Notepad, Eclipse, vi, or emacs. Do not use MS Word. Fill in the answers below. Browse the file in web browser and print it. Then hand it in to the distribution center.

1. Estimation (1 point)

Effort estimation is the practice of making accurate estimates of how long it will take to complete a piece of work. Software developers are notoriously bad at this. You will practice by estimating how long it takes you to complete a task.

QuestionEstimateActual
2 YOUR ESTIMATE YOUR ACTUAL
3 YOUR ESTIMATE YOUR ACTUAL
4 YOUR ESTIMATE YOUR ACTUAL
5 YOUR ESTIMATE YOUR ACTUAL
Total ESTIMATED TOTAL ACTUAL TOTAL

Calculate the error percentatge: ((YOUR ACTUAL) - (YOUR ESTIMATE)) / (YOUR ESTIMATE)

TYPE YOUR ERROR PRECENTAGE HERE

2. Professional development roles (2 points)

A. What role in software development fits you best? Why?

TYPE YOUR ANSWER HERE: 1-2 PARAGRAPHS

B. Imagine that after you graduate, you have a job where you play your chosen role. You will depend on other team members to play their roles well to support you. Name one other role in software development that you will depend on. Explain how your work will likely depend on theirs.

TYPE YOUR ANSWER HERE: 1-2 PARAGRAPHS

3. Software qualities and deliverables (3 points)

A. Imagine you just purchased a new top-of-the-line cell phone. As a user of the software in that product, which two external qualities are most important to you? Why?

TYPE YOUR ANSWER HERE: 2 SHORT PARAGRAPHS

B. Imagine you are the manager of the software development team for that cell phone product. Which two internal qualities are most important to you? Why?

TYPE YOUR ANSWER HERE: 2 SHORT PARAGRAPHS

C. List three external deliverables or services (other than the software itself and phone hardware) that are part of a cell phone product provided by the phone manufacturer (not the carrier). Briefly explain each one.

TYPE YOUR ANSWER HERE: 3-6 SENTENCES

4. Reading: Brooks Chapters 1, 2, and 3 (4 points)

A. In your own words, what is the difference between a "Program" and a "Programming Systems Product"?

TYPE YOUR ANSWER HERE: 1-3 SENTENCES

B. Briefly explain Brooks's Law?

TYPE YOUR ANSWER HERE: 1-3 SENTENCES

5. Team Organization (3 points)

What is the smallest team than can produce a fairly simple commercial software product. Imagine a team of five people that perform all of the roles listed below. Try to assign the roles among those five people in a way that seems reasonable in terms of workload and needed skills. Add more people to the team if needed. You can assume that only one person is needed in each role.

sample use case templateexample test plan templateProject plan template