Login

Title

Program Review Report

Course

Software Engineering

Abstract

The Program Review Report assignment directs student teams to install, run, and evaluate software from a previous iteration of the course. The Program Review Report is first of five assignments that prepare students to develop the software they evaluate in this assignment over four two-week scrum cycles.

Students perform the following technical tasks:
1. Evaluate installation of existing project software.
2. Analyze operation of the program.
3. Identify, describe, and test (reproduce) bugs.
4. Analyze documentation to determine each document’s purpose, accuracy, and usefulness.
5. Create a development plan for a program based on evaluations of its installation, operation, bugs, and documentation.
6. Identify the key technical information about a program that the project manager wants when deciding how to create a development plan with an incomplete project.

Author

Mark Hoffman

Text

CSC 225 – Introduction to Software Development PROGRAM REVIEW REPORT You work for company that has bought out a smaller company that was developing several new products. The project manager has assigned your development team to evaluate one of the projects that was begun but not completed by the acquired company. Your evaluation report will include recommendations for completing the project. The project manager has asked your team to make a tenminute 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 five-to-seven-page evaluation report. 2. The project manager has asked your team to present significant findings from the evaluation report in a ten-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. Does the program run? 2. What does the program do? 3. What is the current state of the program? 4. What is the current state of the project documentation? 5. What needs to be done to complete the project? 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 correctly install the program? 2. Can your team identify and correct all incomplete and incorrect aspects of the program? 3. 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. LEARNING OBJECTIVES FOR THIS ASSIGNMENT While working on this assignment, focus on developing your ability to perform these technical tasks: 1. Evaluate installation of existing project software. 2. Analyze operation of the program. 3. Identify, describe, and test (reproduce) bugs. 4. Analyze documentation to determine each document’s purpose, accuracy, and usefulness. 5. Create a development plan for a program based on evaluations of its installation, operation, bugs, and documentation. 6. Identify the key technical information about a program that the project manger wants when deciding how to create a development plan with an incomplete project. 1

CSC 225 – Introduction to Software Development Focus also on developing your ability to perform these communication tasks: 1. Read documentation analytically to evaluate its effectiveness. [Reading] 2. Write a report that helps managers make practical decisions efficiently. [Writing] 3. Write a report that builds a manager’s confidence in your team’s technical and communication abilities. [Writing] 4. Write a report that persuades mangers to accept your recommendation. [Writing] 5. Select key information from written report useful to the project manager. [Speaking] 6. Create an informative and useful presentation for the project manager. [Speaking] 7. Demonstrate trustworthy technical expertise and communication skills. [Speaking & Teaming] 8. Deliver your presentation in a professional manner that supports achievement of your goals. [Speaking & Teaming] 9. Collaborate effectively on a software development team. [Teaming] 10. Organize and execute a meeting with the project manager and the software development team. [Teaming] 11. Develop knowledge of individual team member skills and trust among team members. [Teaming] ASSIGNMENT SCHEDULE Monday (8/27): Introduction to evaluating the installation and operation of a partially completed program. Introduction to team management of program evaluation. Wednesday (8/29): Introduction to evaluating the documentation of a partially completed program. Introduction to effective report writing, presentation, and meeting skills. Friday (8/31): 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 Program Review Report

Technical Rubric
TECHNICAL ABILITIES Ability
Evaluate installation of a partially completed program

Details
Install a program

Report Section
Installation Section

EVIDENCE EXAMINED TO EVALUATE YOUR TECHNICAL ABILITIES (Note that your present your evidence in your report) Done Well Rating and Comments Needs Improvement
Describes installation process accurately Focuses on the major steps taken Describes each major problem encountered precisely; summarizes the amount and kinds of minor problems encountered Describe accurately the program’s overall purpose, major parts, and the way the parts work together to achieve the purpose Describes installation process inaccurately Provides a narrative of every step taken Omits major problems encountered or describes them imprecisely; describes in detail each minor problem encountered Omits the description of the program’s overall purpose, describes some or all of its major parts inaccurately, possibly omitting some; fails to tell how the parts work together. Describes features that are unnecessary to understanding the program’s purpose, major parts, operation, and purpose Describes a method

Points

Verify that the installation has worked Identify in technical terms problems with the program’s installation

Determine the intended purpose and operation of a partially completed program

Develop an accurate “mental model” of a program’s major parts, the way the parts operate together, and the overall purpose the program serves

Program Overview Section

Focuses on major features of the program

Evaluate

Develop and use an

Program

Describes an efficient,

3

CSC 225 – Introduction to Software Development
operation of a program efficient, thorough method for evaluating a program’s operation Evaluation Section thorough method used to evaluate the program’s operation Describes precisely each major problem encountered that is inefficient and lacks thoroughness

Omits major problems encountered or describes them imprecisely Describes in detail each minor problem encountered Omits many parts of the program’s documentation. Omits or inaccurately describes the purpose, accuracy and usefulness of some or all documents Omits, states inaccurately, or describes imprecisely the additions, deletions, or modifications needed to make each document sufficiently useful Omits or inaccurately identifies what must be done to make some or all of the documentation sufficiently accurate

Evaluate a program’s documentation

Identify all parts of the program’s documentation Accurately determine each document’s purpose, accuracy, and usefulness Determine what, if anything, must be done to make the documentation sufficiently accurate and useful

Documentation Evaluation Section

Summarizes the amount and kinds of minor problems encountered Identifies all parts of the program’s documentation

Describes accurately the purpose, accuracy, and usefulness of each part

Describes precisely the additions, deletions, or modifications needed to make each document sufficiently useful

Succinctly presents the information in an easy-touse table that enables the reader to quickly find relevant information for each part

4

CSC 225 – Introduction to Software Development
and useful. Presents Inaccurate or incomplete list of documented and undocumented bugs Omits a description of the steps used to test documented bugs, omits steps, and results missing. Omits or describes inaccurately the undocumented bugs Omits and inaccurately describe the factors that must be addressed

Identify, describe, and test all bugs

Develop and use a correct, complete test to repeat each documented bug Identify all undoucmented bugs and explain why they are bugs

Bug Evaluation Section

Lists accurately all documented and undocumented bugs

Describes fully steps used to test bug and test results for all documented bugs

Describes the behavior of undocumented bugs Synthesize evaluations of the various components of a program Identify and describes the critical factors that must be addressed in preparing a plan for completing the program Determine how far each factor is from an acceptable state Discussion Section Identifies and accurately describes all of the critical factors that must be addressed

Accurately describes how close each factor is to an acceptable state

Fails to describe how close each factor is to an acceptable state or conveys inaccurate judgments Fails to present an overall portrait of the scope and nature of the work required or presents mistaken judgments do not provides a reliable basis for formulating a plan for completing the program

Synthesize these general judgments into an overall evaluation of the scope and nature of the work that can form the basis of a plan for completing the program

Characterizes the overall scope and nature of the work required in a way that provides a reliable basis for formulating a plan for completing the program

5

CSC 225 – Introduction to Software Development
Create a development plan for a partially completed program Recommend a development plan based on a synthesis and prioritization of problems they discovered in their evaluation Recommen dations section Describes accurately the nature and amount of work required to advance each of the program’s critical factors to a level that would enable to program to perform acceptably Omits or describes inaccurately the work required to advance each of the program’s critical factors to a level that would enable to program to perform acceptably

Each recommendation is clearly based on issues explicitly described in the evaluation and discussion sections Provides enough detail about each recommendation to enable a manager to incorporate it into a project plan

Recommendations are not based on issues explicitly described in the evaluation and discussion sections Describes recommendations vaguely so a manager would not be able to incorporate it into a project plan

6

CSC 225 – Introduction to Software Development Program Review Report

COMMUNICATION RUBRIC
COMMUNICATION ABILITIES Ability
Report helps project manager make practical decisions efficiently.

Details
Provides critical information useful 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 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

Critical information is easily accessible to the reader

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 Writing Uses terms and concepts familiar to the reader, or explains unfamiliar terms or concepts

Concise and appropriate writing style for project manager Report builds project manager’s confidence in team’s technical and communicatio n abilities. Uses precise terms appropriate for the reader

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 program review

Provides accurate and precise explanations

Key findings are accurately and precisely explained Uses evidence from program review to

Uses credible evidence to support explanations

7

CSC 225 – Introduction to Software Development
support key findings Uses correct and appropriate spelling, grammar, etc. Integrates and interprets findings 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 Speaking Concisely and accurately demonstrates key features of the program operation Concisely and accurately demonstrates significant problems that define the current state of the project Concisely and accurately demonstrates significant bugs that define the current state of the project Concisely and accurately synthesizes the current state of the project Concise and accurate 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.

Writing

Persuasively describes development plan

Select key information from written report useful to the project manager

Select information the demonstrates key features of program operation Select information that demonstrates significant problems encountered

Development plan that is does not recommend actions or is not supported by key findings Selected features are incomplete or redundant

Significant problems are missing, insignificant problems are included, or irrelevant problems Significant bugs are missing, insignificant bugs are included, or irrelevant bugs

Select information that demonstrates significant bugs

Select information that synthesizes the current project state Select information that

Significant factors missing from the synthesis Significant

8

CSC 225 – Introduction to Software Development
recommends plans for program development Key information is presented recommendations for program development Succinctly presents key information recommendations missing Omits or inaccurately 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

Create and informative and useful presentation for the project manager

Speaking

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 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

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

Team members under dress or over dress for the meeting Demonstrates lack of

9

CSC 225 – Introduction to Software Development
accurately, authoritatively, and respectfully answered accurate understanding of questions, and accurately and respectfully answers each Teaming Each task is independent, clearly defined, and contributes to the overall software development task understanding or the lack of ability to explain answers to 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

Collaborate effectively on a software development team

Breakdown the software development project into small, independent task

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

10

CSC 225 – Introduction to Software Development

Meeting is wellorganized and executed

Develop knowledge of individual team member skills and trust among team members

Identify skills of each team member

Teaming

All major topics are 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

Omitted major topics, time not on task, not enough time to answer all questions 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

11

Genre

Program Review

Assignment Duration

One Week

Communication Skill

Writing, Speaking, Teaming

Technical Skill

Install and deploy

Workplace Scenario

You work for company that has bought out a smaller company that was developing several new products. The project manager has assigned your development team to evaluate one of the projects that was begun but not completed by the acquired company. Your evaluation report will include recommendations for completing the project. The project manager will use your recommendations to advise upper management whether to develop 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.

Citation

Mark Hoffman, “Program Review Report,” Incorporating Communication Outcomes into the Computer Science Curriculum, accessed September 25, 2017, http://cs-comm.lib.muohio.edu/items/show/22.

License

Creative Commons License

File: CSC225ProgramReviewReport.pdf

Comments

Allowed tags: <p>, <a>, <em>, <strong>, <ul>, <ol>, <li>