Title
Prioritized Bug/Enhancement Report
Course
Software Engineering
Abstract
The Prioritized Bug/Enhancement Report assignment directs student teams to development criteria to rank bugs and enhancements, create a prioritized list of bugs and enhancements, and to estimate time and resources for each item. The Prioritized Bug/Enhancement Report is third 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. Synthesize results from the Product Review Report and the Customer Requirements Report to develop critical criteria to organize the development process.
2. Prioritize bug fixes and enhancements using the critical organizing criteria.
3. Identify the key features of each bug fix and enhancement.
4. Estimate resources needed to implement each bug fix or enhancement.
Students perform the following technical tasks:
1. Synthesize results from the Product Review Report and the Customer Requirements Report to develop critical criteria to organize the development process.
2. Prioritize bug fixes and enhancements using the critical organizing criteria.
3. Identify the key features of each bug fix and enhancement.
4. Estimate resources needed to implement each bug fix or enhancement.
Author
Mark Hoffman
Text
CSC 225 – Introduction to Software Development PRIORITIZED BUG/ENHANCEMENT REPORT The project manager has decided to continue development of the product begun but not completed by an acquired company. (This is the product your team evaluated in the Product Review Report and developed customer requirements for in the Customer Requirements Report.) The product manager has assigned your development team to develop a prioritized bug/enhancement list based on bugs identified in the Product Review Report and customer requirements identified in the Customer Requirements Report. Your team needs to develop criteria to facilitate and justify bug and enhancement ranking. Your team needs to create a prioritized list of bugs and enhancements. Your team needs to estimate time and resources needed to fix each bug and implement each enhancement. Your team’s report needs to recommendation the order in which bugs and enhancements should be developed to meet customer needs. The project manager has asked your team to make a ten-minute presentation summarizing the report. Your team’s 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 prioritized bug/enhancement report. 2. The project manager has asked your team to present significant findings from the prioritized bug/enhancement 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. What are the critical criteria that organize the development process? 2. How critical is each bug or enhancement to the development process? 3. What are the key features of each bug or enhancement? 4. What resources are required to fix each bug or implement each enhancement? 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 synthesize the results of the Program Review Report and Customer Requirements Report to identify product development critical criteria? 2. Can your team organize a list of bug fixes and enhancements organized by the product development criteria? 3. Can your team estimate time and people needed to complete each bug fix and enhancement? 4. Are you and the other team members able to work together effectively?
1
CSC 225 – Introduction to Software Development 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. LEARNING OBJECTIVES FOR THIS ASSIGNMENT While working on this assignment, focus on developing your ability to perform these technical tasks: 1. Synthesize results from the Product Review Report and the Customer Requirements Report to develop critical criteria to organize the development process. 2. Prioritize bug fixes and enhancements using the critical organizing criteria. 3. Identify the key features of each bug fix and enhancement. 4. Estimate resources needed to implement each bug fix or enhancement. 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 Monday (9/10): Introduction to critical criteria, prioritization, and estimation. Friday (9/14): 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 Prioritized Bug/Enhancement Report
Technical Rubric
TECHNICAL ABILITIES Ability
Synthesize critical criteria to organize the development process.
Details
Identify key results from the Product Review Report
Report Section
Overview Section
EVIDENCE EXAMINED TO EVALUATE YOUR TECHNICAL ABILITIES (Note that your present your evidence in your report) Done Well Rating and Comments Needs Improvement
List key results and each is clearly and concisely justified. Key features are not in a list or missing, or justification is missing or unclear. Key features are not listed or missing, or justification is missing or unclear. . List of results from each report with no synthesis or not supported by evidence. Bugs or enhancements in a list or missing
Points
Identify key results from the Customer Requirements Report
List key results and each is clearly and concisely justified.
Identify critical criteria for the development process
Prioritize bug fixes and enhancements using the critical organizing criteria
Create a list of bugs and enhancements from previous reports Prioritize list using the critical criteria for the development process
Prioritized List Section
Synthesize key results into a small list of critical criteria supported by evidence from supporting reports List bugs and enhancements
Each item assigned a priority with clear and concise explanation using critical criteria
Not all items are assigned a priority, or explanation is missing or unclear or too long, or explanation does not use critical criteria
3
CSC 225 – Introduction to Software Development
Identify the key features of each bug fix and enhancement Identify key features of each bug Prioritized List Section Clear and concise description of each bug with key features highlighted Clear and concise description of each enhancement with key features highlighted List an amount of time to fix each bug and a persuasive argument for its accuracy Key features missing or not highlighted, description is unclear or too long Key features missing or not highlighted, description is unclear or too long Time are not listed for each bug, or argument is missing or not persuasive Time are not listed for each enhancement, or argument is missing or not persuasive
Identify key features of each enhancement
Estimate resources needed to implement each bug fix or enhancement
Estimate the amount of time needed to fix each bug
Prioritized List Section
Estimate the amount of time needed to fix implement each enhancement
List an amount of time to implement each enhancement and a persuasive argument for its accuracy List the team members needed for each bug or enhancement and a persuasive argument for each.
Estimate team members needed for each bug or enhancement
Team members not listed for each bug or enhancement or argument is missing or not persuasive
4
CSC 225 – Introduction to Software Development
Prioritized Bug/Enhancement 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
Provides accurate and precise explanations
Key findings are accurately and precisely explained Uses evidence from user
Uses credible evidence
5
CSC 225 – Introduction to Software Development
to support explanations training to support key findings Uses correct spelling, grammar, etc. throughout report Writing 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 Speaking Concisely and accurately demonstrates key features of user training Concisely and accurately demonstrates significant features of the user training sample from user training to support key findings Several spelling, grammar, etc. errors in report Summary lists without prioritizations or fails to synthesize individual findings
Report persuades project manager to accept your recommendati on
Uses correct and appropriate spelling, grammar, etc. Integrates and interprets 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
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 facctors
Create and
Speaking
Concise and accurate recommendations for program development Succinctly presents key
Significant recommendations missing Omits or inaccurately
6
CSC 225 – Introduction to Software Development
informative and useful presentation for the project manager presented information presents key information 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
Handouts, visuals, demonstrations, etc. support and complement the presentation
Uses concise, accurate, and useful support materials to support and complement the presentation
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 firsttime 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
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
7
CSC 225 – Introduction to Software Development
questions, and accurately and respectfully answers each Each task is independent, clearly defined, and contributes to the overall software development task questions. Lack of respect for the questioner Tasks are not 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,
Collaborate effectively on a software development team
Breakdown the software development project into small, independent task
Teaming
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 well-
All major topics are
8
CSC 225 – Introduction to Software Development
organized and executed presented, no time is wasted, all questions are answered in the allotted time 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 time not on task, not enough time to answer all questions Team members cannot identify team member strengths or weaknesses
Develop knowledge of individual team member skills and trust among team members
Identify skills of each team member
Teaming
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 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. LEARNING OBJECTIVES FOR THIS ASSIGNMENT While working on this assignment, focus on developing your ability to perform these technical tasks: 1. Synthesize results from the Product Review Report and the Customer Requirements Report to develop critical criteria to organize the development process. 2. Prioritize bug fixes and enhancements using the critical organizing criteria. 3. Identify the key features of each bug fix and enhancement. 4. Estimate resources needed to implement each bug fix or enhancement. 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 Monday (9/10): Introduction to critical criteria, prioritization, and estimation. Friday (9/14): 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 Prioritized Bug/Enhancement Report
Technical Rubric
TECHNICAL ABILITIES Ability
Synthesize critical criteria to organize the development process.
Details
Identify key results from the Product Review Report
Report Section
Overview Section
EVIDENCE EXAMINED TO EVALUATE YOUR TECHNICAL ABILITIES (Note that your present your evidence in your report) Done Well Rating and Comments Needs Improvement
List key results and each is clearly and concisely justified. Key features are not in a list or missing, or justification is missing or unclear. Key features are not listed or missing, or justification is missing or unclear. . List of results from each report with no synthesis or not supported by evidence. Bugs or enhancements in a list or missing
Points
Identify key results from the Customer Requirements Report
List key results and each is clearly and concisely justified.
Identify critical criteria for the development process
Prioritize bug fixes and enhancements using the critical organizing criteria
Create a list of bugs and enhancements from previous reports Prioritize list using the critical criteria for the development process
Prioritized List Section
Synthesize key results into a small list of critical criteria supported by evidence from supporting reports List bugs and enhancements
Each item assigned a priority with clear and concise explanation using critical criteria
Not all items are assigned a priority, or explanation is missing or unclear or too long, or explanation does not use critical criteria
3
CSC 225 – Introduction to Software Development
Identify the key features of each bug fix and enhancement Identify key features of each bug Prioritized List Section Clear and concise description of each bug with key features highlighted Clear and concise description of each enhancement with key features highlighted List an amount of time to fix each bug and a persuasive argument for its accuracy Key features missing or not highlighted, description is unclear or too long Key features missing or not highlighted, description is unclear or too long Time are not listed for each bug, or argument is missing or not persuasive Time are not listed for each enhancement, or argument is missing or not persuasive
Identify key features of each enhancement
Estimate resources needed to implement each bug fix or enhancement
Estimate the amount of time needed to fix each bug
Prioritized List Section
Estimate the amount of time needed to fix implement each enhancement
List an amount of time to implement each enhancement and a persuasive argument for its accuracy List the team members needed for each bug or enhancement and a persuasive argument for each.
Estimate team members needed for each bug or enhancement
Team members not listed for each bug or enhancement or argument is missing or not persuasive
4
CSC 225 – Introduction to Software Development
Prioritized Bug/Enhancement 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
Provides accurate and precise explanations
Key findings are accurately and precisely explained Uses evidence from user
Uses credible evidence
5
CSC 225 – Introduction to Software Development
to support explanations training to support key findings Uses correct spelling, grammar, etc. throughout report Writing 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 Speaking Concisely and accurately demonstrates key features of user training Concisely and accurately demonstrates significant features of the user training sample from user training to support key findings Several spelling, grammar, etc. errors in report Summary lists without prioritizations or fails to synthesize individual findings
Report persuades project manager to accept your recommendati on
Uses correct and appropriate spelling, grammar, etc. Integrates and interprets 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
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 facctors
Create and
Speaking
Concise and accurate recommendations for program development Succinctly presents key
Significant recommendations missing Omits or inaccurately
6
CSC 225 – Introduction to Software Development
informative and useful presentation for the project manager presented information presents key information 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
Handouts, visuals, demonstrations, etc. support and complement the presentation
Uses concise, accurate, and useful support materials to support and complement the presentation
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 firsttime 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
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
7
CSC 225 – Introduction to Software Development
questions, and accurately and respectfully answers each Each task is independent, clearly defined, and contributes to the overall software development task questions. Lack of respect for the questioner Tasks are not 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,
Collaborate effectively on a software development team
Breakdown the software development project into small, independent task
Teaming
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 well-
All major topics are
8
CSC 225 – Introduction to Software Development
organized and executed presented, no time is wasted, all questions are answered in the allotted time 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 time not on task, not enough time to answer all questions Team members cannot identify team member strengths or weaknesses
Develop knowledge of individual team member skills and trust among team members
Identify skills of each team member
Teaming
Develop trust among team members
Team members do not complete assigned tasks or do tasks assigned to others
9
Genre
Bug Report
Assignment Duration
One Week
Communication Skill
Writing, Speaking, Teaming
Technical Skill
Project Management, Continuous Quality Assurance
Workplace Scenario
The project manager has decided to continue development of the product begun but not completed by an acquired company. The product manager has assigned your development team to develop a prioritized bug/enhancement list based on bugs identified in the Product Review Report and customer requirements identified in the Customer Requirements Report. The project manager will use your list 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, “Prioritized Bug/Enhancement Report,” Incorporating Communication Outcomes into the Computer Science Curriculum, accessed May 18, 2020, http://cs-comm.lib.muohio.edu/items/show/36.
Comments