Title
Customer Requirements Report
Course
Software Engineering
Abstract
The Customer Requirements Report assignment directs student teams to gather and evaluate data from novice and expert users to synthesize a software development plan. The Customer Requirements Report is second of five assignments that prepare students to develop the software they evaluated in the Program Review Report assignment over four two-week scrum cycles.
Students perform the following technical tasks:
1. Teach novice to expert users how to use the software product.
2. Gather data on user experience including demographic, experience level, and request versus observation.
3. Analyze data to identify strengths and weaknesses of the software product.
4. Create a development plan for the program based on analysis of customer experience.
5. Identify the key technical information about a program that the project manger wants when deciding how to create a development plan to meet customer requirements.
Students perform the following technical tasks:
1. Teach novice to expert users how to use the software product.
2. Gather data on user experience including demographic, experience level, and request versus observation.
3. Analyze data to identify strengths and weaknesses of the software product.
4. Create a development plan for the program based on analysis of customer experience.
5. Identify the key technical information about a program that the project manger wants when deciding how to create a development plan to meet customer requirements.
Author
Mark Hoffman
Text
CSC 225 – Introduction to Software Development CUSTOMER REQUIREMENTS REPORT The project manager has decided to develop the product begun but not completed by an acquired company. (This is the product your team evaluated in the Product Review Report.) The product manager has assigned your development team to develop customer requirements based on customer experience using the product. Your team needs to gather data on the experience of novices (someone who rarely used this type of product) and experts (someone who frequently uses this type of product.) Customer experience may be influenced by factors such as age and gender; therefore, demographic data is important for the product manager. Customers may or may not be able to articulate their experience. Your team needs to gather data directly from customers with a questionnaire, for example, and by observing customers using the product. Your team’s report needs to make recommendations for developing the product to meet customer needs. The project manager has asked your team to make a ten-minute presentation summarizing the report. Your team’s evaluation report and presentation provides the project manager with critical information to plan how to develop the product. YOUR DELIVERABLES 1. The project manager has asked your team to prepare a three-to-five-page requirements report. 2. The project manager has asked your team to present significant findings from the requirements report in a ten-to-fifteen-minute meeting. WHAT YOUR READER WILL DO WITH THE COMMUNICATIONS YOU PROVIDE The manager must develop a plan for completing the project. Therefore, the manager wants your team to answer the following technical questions: 1. How usable is the product for novice and expert users? 2. What factors affect the user’s ability to use the product? 3. What are the most significant factors that affect user’s ability to use the product? You must provide answers to these questions in a manner that helps the manager develop a plan. The manager must evaluate your team to determine whether it is capable of completing the project. The manager will use your team’s report to answer the following questions: 1. Can your team teach novice to expert users how to use the product? 2. Can your team gather useful data on user experience with the product? 3. Can your team identify significant factors that affect user experience? 4. Are you and the other team members able to work together effectively? You need to present your information in a way that persuades the manager that your team is technically proficient and effective at collaborating on a complex project.
1
CSC 225 – Introduction to Software Development LEARNING OBJECTIVES FOR THIS ASSIGNMENT While working on this assignment, focus on developing your ability to perform these technical tasks: 1. Teach novice to expert users how to use the software product. 2. Gather data on user experience including demographic, experience level, and request versus observation. 3. Analyze data to identify strengths and weaknesses of the software product. 4. Create a development plan for the program based on analysis of customer experience. 5. Identify the key technical information about a program that the project manger wants when deciding how to create a development plan to meet customer requirements. Focus also on developing your ability to perform these communication tasks: 1. Write a report that helps managers make practical decisions efficiently. [Writing] 2. Write a report that builds a manager’s confidence in your team’s technical and communication abilities. [Writing] 3. Write a report that persuades mangers to accept your recommendation. [Writing] 4. Select key information from written report useful to the project manager. [Speaking] 5. Create an informative and useful presentation for the project manager. [Speaking] 6. Demonstrate trustworthy technical expertise and communication skills. [Speaking & Teaming] 7. Deliver your presentation in a professional manner that supports achievement of your goals. [Speaking & Teaming] 8. Collaborate effectively on a software development team. [Teaming] 9. Organize and execute a meeting with the project manager and the software development team. [Teaming] 10. Develop knowledge of individual team member skills and trust among team members. [Teaming] ASSIGNMENT SCHEDULE Friday (8/31): Introduction to customer requirements. Wednesday (9/5): Introduction to evaluating user experience. Friday (9/7): Submit your report and make your presentation. Peer review of presentations. GRADING CRITERIA The grading criteria for your team’s written report and presentation are presented in the attached rubrics
2
CSC 225 – Introduction to Software Development Customer Requirements Report
Technical Rubric
TECHNICAL ABILITIES Ability
Teach novice to expert users how to use a software product.
Details
Create a plan to teaching novices
Report Section
Instruction Section
EVIDENCE EXAMINED TO EVALUATE YOUR TECHNICAL ABILITIES (Note that your present your evidence in your report) Done Well Rating and Comments Needs Improvement
Plan description with specific steps for a novice Plan description is disorganized, generic, or is not appropriate for a novice Plan description is disorganized, generic, or is not appropriate for a expert Individual user descriptions, no synthesis, changes in a list, or no supporting evidence Useful demographic data missing or not useful data included, missing data, or not listed in a table Data missing or not listed in a table Missing request, corresponding data, sample question, or not in a table
Points
Create a plan for teaching experts
Plan description with specific steps for a expert
Identify changes in each plan from teaching experience
Gather data on user experience.
Gather demographic data for each user
Data Section
Synthesize experience with novices and experts, and list specific changes to each plan support by evidence Useful demographic data for all users listed in a table
Gather experiencelevel data for each user Gather change requests by questioning users
Experience-level data for all users listed in a table Change requests listed in a table with corresponding experience-level and demographic data.
3
CSC 225 – Introduction to Software Development
Include sample questions Gather change requests by observing users Observed requests listed in a table with corresponding experience-level and demographic data List of best product features with a brief and useful description with evidence from gathered data and user experience List of product poorest features with a brief and useful description with evidence from gathered data and user experience Describes accurately the nature and amount of work required to advance each of the program’s weaknesses to a level that would improve users experience Each recommendation is clearly based on issues explicitly described in the analysis section Provides enough detail about each recommendation to enable a manager to incorporate it into a project plan Missing request, corresponding data, , or not in a table
Identify strengths and weaknesses of the software product.
Identify and describe which product features provided the best user experience
Analysis Section
Best product features not in a list, not useful description, or inappropriate or missing evidence Poorest product features not in a list, not useful description, or inappropriate or missing evidence Omits or describes inaccurately the work required to advance each of the program’s weaknesses to a level that would improve users experience Recommendations are not based on issues explicitly described in the analysis section Describes recommendations vaguely so a manager would not be able to incorporate it into a project plan
Identify and describe which product features provided the poorest user experience Create a development plan for the partially completed program. Recommend a development plan based on prioritization of product weakness and change requests Recommen dations Section
4
CSC 225 – Introduction to Software Development Customer Requirements Report
COMMUNICATION RUBRIC
COMMUNICATION ABILITIES Ability
Report helps project manager make practical decisions efficiently
Details
Provides critical information useful to the reader Critical information is easily accessible to the reader
Comm Skill
Writing
EVIDENCE EXAMINED TO EVALUATE YOUR COMMUNICATIONS ABILITIES (Note that your present your evidence in your report) Done Well Rating and Comments Needs Improvement
Contains all information useful to the reader and none that is not useful Uses text formatting, organization (e.g., headers), and graphic devices (e.g., lists and tables) that makes information easily accessible to the reader Uses style and tone appropriate for the workplace Useful information is missing or not useful information is included Fails to use formatting, organization, or graphics that makes information accessible to the reader
Points
Report builds project manager’s confidence in team’s technical and communicatio n abilities
Concise and appropriate writing style for project manager Uses precise terms appropriate for the reader
Writing
Uses terms and concepts familiar to the reader, or explains unfamiliar terms or concepts
Uses informal style and tone that is inappropriate for the workplace Misuses terms or concepts or uses terms or concepts unfamiliar to the reader without explanation Key findings are explained inaccurately or imprecisely Fails to used evidence from user training to support key findings
Provides accurate and precise explanations
Key findings are accurately and precisely explained Uses evidence from user training to support key findings
Uses credible evidence to support explanations
5
CSC 225 – Introduction to Software Development
Report persuades project manager to accept your recommendati on
Uses correct and appropriate spelling, grammar, etc. Integrates and interprets findings
Writing
Uses correct spelling, grammar, etc. throughout report Provides a summary that prioritizes and integrates individual findings and synthesizes an interpretation Provides a development plan that recommends actions that are supported by key findings
Several spelling, grammar, etc. errors in report Summary lists without prioritizations or fails to synthesize individual findings
Persuasively describes development plan
Select key information from written report useful to the project manager
Select information the demonstrates key features user training Select information that demonstrates significant features of the user training sample Select information that demonstrates significant factors affecting user experience Select information that recommends plans for program development Key information is presented
Speaking
Concisely and accurately demonstrates key features of user training Concisely and accurately demonstrates significant features of the user training sample
Development plan that is does not recommend actions or is not supported by key findings Selected features are incomplete or redundant Significant features are missing, insignificant features are included, or irrelevant features
Concisely and accurately demonstrates significant factors affecting user experience
Significant factors are missing, insignificant factors are included, or irrelevant factors
Create and informative and useful presentation
Speaking
Concise and accurate recommendations for program development Succinctly presents key information
Significant recommendations missing Omits or inaccurately presents key information
6
CSC 225 – Introduction to Software Development
for the project manager Handouts, visuals, demonstrations, etc. support and complement the presentation Uses concise, accurate, and useful support materials to support and complement the presentation Uses verbose, inaccurate, or extraneous support materials that detract from or confuse the presentation Order does not relate to the order of the written report or does not support report understanding Lacks focus or is disorganized; not useful for the project manager
Report order is clear from the presentation
Orders presentation to support the order and understanding of the written report Speaking and Teaming Demonstrates a clear understanding how to organize a presentation useful to the project manager Demonstrates careful planning, avoids first-time problems, and anticipates potential problems Demonstrates a clearly defined role for each team member Attire for each team member is appropriate for the meeting Demonstrates a clear and accurate understanding of questions, and accurately and respectfully answers each Teaming Each task is independent,
Demonstrate trustworthy technical expertise and communicatio n skills
Focused and organized presentation
Carefully planned and well-executed presentation
Demonstrations lack of preparation and inadequate planning
Each team member’s role is clearly defined
Team member roles are unclear
Each team member is properly attired for the meeting Questions are accurately, authoritatively, and respectfully answered
Team members under dress or over dress for the meeting Demonstrates lack of understanding or the lack of ability to explain answers to questions. Lack of respect for the questioner Tasks are not
Collaborate
Breakdown the
7
CSC 225 – Introduction to Software Development
effectively on a software development team software development project into small, independent task clearly defined, and contributes to the overall software development task independent, are vague or unclear, or do not contribute to the software development task Some team assigned tasks that take too little or too much time, and teams are assigned tasks that fall short of or exceed the allotted time Individuals and small groups are unaware of the state of other individual or small group task Results of each task are not clear or are not easy to access No meeting announcement, missing information, or inadequate advanced notice One or more required attendees absent or late Omitted major topics, time not on task, not enough time to answer all questions
Effectively and equitable assign tasks to individuals or small groups of developers that can be completed in the allotted time
Each team is assigned tasks that can be accomplished in the allotted time and tasks are evenly assigned
Effectively coordinate task among individuals or small groups
Each individual or small group is aware of the state of tasks assigned to other individuals or small groups Results of each tasks are collected in a uniform, easy to use document Meeting announcement is sent with date, time, and place in advance
Organize and execute a meeting with the project manager and the software development team
Effectively and efficiently coordinate results from each task Required attendees are notified of the meeting arrangement
Teaming
Required attendees are present on time
All required attendees present on time
Meeting is wellorganized and executed
All major topics are presented, no time is wasted, all questions are answered in the allotted time
8
CSC 225 – Introduction to Software Development
Develop knowledge of individual team member skills and trust among team members Identify skills of each team member Teaming Team members are able to clearly state at least two strengths and weaknesses for each team member Team members complete assigned tasks and wait for others to complete assigned tasks Team members cannot identify team member strengths or weaknesses
Develop trust among team members
Team members do not complete assigned tasks or do tasks assigned to others
9
1
CSC 225 – Introduction to Software Development LEARNING OBJECTIVES FOR THIS ASSIGNMENT While working on this assignment, focus on developing your ability to perform these technical tasks: 1. Teach novice to expert users how to use the software product. 2. Gather data on user experience including demographic, experience level, and request versus observation. 3. Analyze data to identify strengths and weaknesses of the software product. 4. Create a development plan for the program based on analysis of customer experience. 5. Identify the key technical information about a program that the project manger wants when deciding how to create a development plan to meet customer requirements. Focus also on developing your ability to perform these communication tasks: 1. Write a report that helps managers make practical decisions efficiently. [Writing] 2. Write a report that builds a manager’s confidence in your team’s technical and communication abilities. [Writing] 3. Write a report that persuades mangers to accept your recommendation. [Writing] 4. Select key information from written report useful to the project manager. [Speaking] 5. Create an informative and useful presentation for the project manager. [Speaking] 6. Demonstrate trustworthy technical expertise and communication skills. [Speaking & Teaming] 7. Deliver your presentation in a professional manner that supports achievement of your goals. [Speaking & Teaming] 8. Collaborate effectively on a software development team. [Teaming] 9. Organize and execute a meeting with the project manager and the software development team. [Teaming] 10. Develop knowledge of individual team member skills and trust among team members. [Teaming] ASSIGNMENT SCHEDULE Friday (8/31): Introduction to customer requirements. Wednesday (9/5): Introduction to evaluating user experience. Friday (9/7): Submit your report and make your presentation. Peer review of presentations. GRADING CRITERIA The grading criteria for your team’s written report and presentation are presented in the attached rubrics
2
CSC 225 – Introduction to Software Development Customer Requirements Report
Technical Rubric
TECHNICAL ABILITIES Ability
Teach novice to expert users how to use a software product.
Details
Create a plan to teaching novices
Report Section
Instruction Section
EVIDENCE EXAMINED TO EVALUATE YOUR TECHNICAL ABILITIES (Note that your present your evidence in your report) Done Well Rating and Comments Needs Improvement
Plan description with specific steps for a novice Plan description is disorganized, generic, or is not appropriate for a novice Plan description is disorganized, generic, or is not appropriate for a expert Individual user descriptions, no synthesis, changes in a list, or no supporting evidence Useful demographic data missing or not useful data included, missing data, or not listed in a table Data missing or not listed in a table Missing request, corresponding data, sample question, or not in a table
Points
Create a plan for teaching experts
Plan description with specific steps for a expert
Identify changes in each plan from teaching experience
Gather data on user experience.
Gather demographic data for each user
Data Section
Synthesize experience with novices and experts, and list specific changes to each plan support by evidence Useful demographic data for all users listed in a table
Gather experiencelevel data for each user Gather change requests by questioning users
Experience-level data for all users listed in a table Change requests listed in a table with corresponding experience-level and demographic data.
3
CSC 225 – Introduction to Software Development
Include sample questions Gather change requests by observing users Observed requests listed in a table with corresponding experience-level and demographic data List of best product features with a brief and useful description with evidence from gathered data and user experience List of product poorest features with a brief and useful description with evidence from gathered data and user experience Describes accurately the nature and amount of work required to advance each of the program’s weaknesses to a level that would improve users experience Each recommendation is clearly based on issues explicitly described in the analysis section Provides enough detail about each recommendation to enable a manager to incorporate it into a project plan Missing request, corresponding data, , or not in a table
Identify strengths and weaknesses of the software product.
Identify and describe which product features provided the best user experience
Analysis Section
Best product features not in a list, not useful description, or inappropriate or missing evidence Poorest product features not in a list, not useful description, or inappropriate or missing evidence Omits or describes inaccurately the work required to advance each of the program’s weaknesses to a level that would improve users experience Recommendations are not based on issues explicitly described in the analysis section Describes recommendations vaguely so a manager would not be able to incorporate it into a project plan
Identify and describe which product features provided the poorest user experience Create a development plan for the partially completed program. Recommend a development plan based on prioritization of product weakness and change requests Recommen dations Section
4
CSC 225 – Introduction to Software Development Customer Requirements Report
COMMUNICATION RUBRIC
COMMUNICATION ABILITIES Ability
Report helps project manager make practical decisions efficiently
Details
Provides critical information useful to the reader Critical information is easily accessible to the reader
Comm Skill
Writing
EVIDENCE EXAMINED TO EVALUATE YOUR COMMUNICATIONS ABILITIES (Note that your present your evidence in your report) Done Well Rating and Comments Needs Improvement
Contains all information useful to the reader and none that is not useful Uses text formatting, organization (e.g., headers), and graphic devices (e.g., lists and tables) that makes information easily accessible to the reader Uses style and tone appropriate for the workplace Useful information is missing or not useful information is included Fails to use formatting, organization, or graphics that makes information accessible to the reader
Points
Report builds project manager’s confidence in team’s technical and communicatio n abilities
Concise and appropriate writing style for project manager Uses precise terms appropriate for the reader
Writing
Uses terms and concepts familiar to the reader, or explains unfamiliar terms or concepts
Uses informal style and tone that is inappropriate for the workplace Misuses terms or concepts or uses terms or concepts unfamiliar to the reader without explanation Key findings are explained inaccurately or imprecisely Fails to used evidence from user training to support key findings
Provides accurate and precise explanations
Key findings are accurately and precisely explained Uses evidence from user training to support key findings
Uses credible evidence to support explanations
5
CSC 225 – Introduction to Software Development
Report persuades project manager to accept your recommendati on
Uses correct and appropriate spelling, grammar, etc. Integrates and interprets findings
Writing
Uses correct spelling, grammar, etc. throughout report Provides a summary that prioritizes and integrates individual findings and synthesizes an interpretation Provides a development plan that recommends actions that are supported by key findings
Several spelling, grammar, etc. errors in report Summary lists without prioritizations or fails to synthesize individual findings
Persuasively describes development plan
Select key information from written report useful to the project manager
Select information the demonstrates key features user training Select information that demonstrates significant features of the user training sample Select information that demonstrates significant factors affecting user experience Select information that recommends plans for program development Key information is presented
Speaking
Concisely and accurately demonstrates key features of user training Concisely and accurately demonstrates significant features of the user training sample
Development plan that is does not recommend actions or is not supported by key findings Selected features are incomplete or redundant Significant features are missing, insignificant features are included, or irrelevant features
Concisely and accurately demonstrates significant factors affecting user experience
Significant factors are missing, insignificant factors are included, or irrelevant factors
Create and informative and useful presentation
Speaking
Concise and accurate recommendations for program development Succinctly presents key information
Significant recommendations missing Omits or inaccurately presents key information
6
CSC 225 – Introduction to Software Development
for the project manager Handouts, visuals, demonstrations, etc. support and complement the presentation Uses concise, accurate, and useful support materials to support and complement the presentation Uses verbose, inaccurate, or extraneous support materials that detract from or confuse the presentation Order does not relate to the order of the written report or does not support report understanding Lacks focus or is disorganized; not useful for the project manager
Report order is clear from the presentation
Orders presentation to support the order and understanding of the written report Speaking and Teaming Demonstrates a clear understanding how to organize a presentation useful to the project manager Demonstrates careful planning, avoids first-time problems, and anticipates potential problems Demonstrates a clearly defined role for each team member Attire for each team member is appropriate for the meeting Demonstrates a clear and accurate understanding of questions, and accurately and respectfully answers each Teaming Each task is independent,
Demonstrate trustworthy technical expertise and communicatio n skills
Focused and organized presentation
Carefully planned and well-executed presentation
Demonstrations lack of preparation and inadequate planning
Each team member’s role is clearly defined
Team member roles are unclear
Each team member is properly attired for the meeting Questions are accurately, authoritatively, and respectfully answered
Team members under dress or over dress for the meeting Demonstrates lack of understanding or the lack of ability to explain answers to questions. Lack of respect for the questioner Tasks are not
Collaborate
Breakdown the
7
CSC 225 – Introduction to Software Development
effectively on a software development team software development project into small, independent task clearly defined, and contributes to the overall software development task independent, are vague or unclear, or do not contribute to the software development task Some team assigned tasks that take too little or too much time, and teams are assigned tasks that fall short of or exceed the allotted time Individuals and small groups are unaware of the state of other individual or small group task Results of each task are not clear or are not easy to access No meeting announcement, missing information, or inadequate advanced notice One or more required attendees absent or late Omitted major topics, time not on task, not enough time to answer all questions
Effectively and equitable assign tasks to individuals or small groups of developers that can be completed in the allotted time
Each team is assigned tasks that can be accomplished in the allotted time and tasks are evenly assigned
Effectively coordinate task among individuals or small groups
Each individual or small group is aware of the state of tasks assigned to other individuals or small groups Results of each tasks are collected in a uniform, easy to use document Meeting announcement is sent with date, time, and place in advance
Organize and execute a meeting with the project manager and the software development team
Effectively and efficiently coordinate results from each task Required attendees are notified of the meeting arrangement
Teaming
Required attendees are present on time
All required attendees present on time
Meeting is wellorganized and executed
All major topics are presented, no time is wasted, all questions are answered in the allotted time
8
CSC 225 – Introduction to Software Development
Develop knowledge of individual team member skills and trust among team members Identify skills of each team member Teaming Team members are able to clearly state at least two strengths and weaknesses for each team member Team members complete assigned tasks and wait for others to complete assigned tasks Team members cannot identify team member strengths or weaknesses
Develop trust among team members
Team members do not complete assigned tasks or do tasks assigned to others
9
Genre
Customer Requirements
Assignment Duration
One Week
Communication Skill
Writing, Speaking, Teaming
Technical Skill
Requirements
Workplace Scenario
The project manager has decided to develop the product begun but not completed by an acquired company. The product manager has assigned your development team to develop customer requirements based on customer experience using the product. The project manager will use your requirements to advise upper management on the status of the project.
Team Size
4-6
Additional Information
The course (CSC 225 – Introduction to Software Development) is a sophomore-level, experiential introduction to software development that focuses on learning basic software development principles and communications skills by developing an ongoing project. The course project, Tank Wars, continues from the previous semester and is packaged for the next semester.
Over the course there are five set-up assignments
• Program Review Report
• Customer Requirements Report
• Prioritized Bug/Enhancement Report
• Project Management Tools Report
• Preliminary Test Plan Report
that provide background for four two-week Scrum Cycles included in the Scrum Process Management assignment.
Each assignment is a specific Technical Rubric.
The Communication Skills Rubric is the same for all six assignments. Communication skills are assessed cumulatively from the rubric. Communication skills that are to be assessed in this assignment are in red. Communication skills assessed on in earlier assignments and that will continue to be assess in this assignment are in green. Communication skills not assess are in black. All communication skills are assessed for the Scrum Process Management assignment.
Over the course there are five set-up assignments
• Program Review Report
• Customer Requirements Report
• Prioritized Bug/Enhancement Report
• Project Management Tools Report
• Preliminary Test Plan Report
that provide background for four two-week Scrum Cycles included in the Scrum Process Management assignment.
Each assignment is a specific Technical Rubric.
The Communication Skills Rubric is the same for all six assignments. Communication skills are assessed cumulatively from the rubric. Communication skills that are to be assessed in this assignment are in red. Communication skills assessed on in earlier assignments and that will continue to be assess in this assignment are in green. Communication skills not assess are in black. All communication skills are assessed for the Scrum Process Management assignment.
Collection
Citation
Mark Hoffman, “Customer Requirements Report,” Incorporating Communication Outcomes into the Computer Science Curriculum, accessed May 18, 2020, http://cs-comm.lib.muohio.edu/items/show/28.
Comments