Name (Last-Name, First Name):_______________________________________________________ Instructions: For each “explanation” required in an answer, consider each “lettered part” to require somewhere between 1-2 paragraphs, each paragraph consisting of approximately 3-6 long sentences or 5-10 short sentences (not every sentence, paragraph, or part needs to be the same length). A longer answer is not necessarily a better answer. Answer all the questions completely and concisely. “Stating your answer” means directly answering the primary question as posed within the assignment. “Defending your answer” means providing all the logical argument steps that lead you to your answer (listing the details as well as why / how the details support your claim and documenting all reasonable assumptions as needed). If you are uncertain what to do, please ask! As per the syllabus grading policy, it is possible that only some parts of a given assignment will be graded—when this is the case, the parts used for grading purposes will be chosen at random. However, you are expected to do all parts of each assignment and all assignments. Failure to do so will affect your grade. Answer these questions based upon the readings and lecture discussions. 1. Suppose you are part of a small company and on a team that is responsible for delivering a medium-sized project (a project with about 10-15 people on the core-project team and 24 months for schedule). This is a traditional software project using a Plain Linear PMLC and Traditional Waterfall SDLC. Assume that the lifecycle decisions are appropriate for this project (do NOT change them or claim that they are inappropriate). Obviously (based on the situation described below), we are NOT in a “VERY HIGH” CMM maturity-level organization, but that does not mean that we cannot try to think and act with reasonable maturity. A. Suppose that the project is running late: we are just about to start integration testing. We are in danger of not being able to test as thoroughly as we had hoped. Speaking as a “mature software quality professional”, how would you respond to the question ”How can we successfully meet the original project budget and deadline?” and the suggestion that “We could skip integration testing and just do system testing as a way to help us meet this goal”? State your answer and defend your answer using the concepts discussed in lecture. Be sure to document any reasonable and valid assumptions necessary to support your answer. 2. Suppose you are part of a different small company and on a different team that is responsible for delivering a different, but still medium-sized project (here, a project with 20-30 people on the project team and around 18 months for schedule). Once again, this is a traditional software project, but now we are using an Incremental PMLC and SDLC with three (3) “roughly-equal” increments. Assume that the lifecycle decisions are appropriate for this project (do NOT change them or claim that they are inappropriate). For this project, we have a single-deployment platform and development language (for example, you can choose the specific OS and programming Language for your assumptions, such as Windows and C#, or Linux and Java, etc. but limit your assumption to a single-OS and single-Language). Obviously (based on the situation described below), we are NOT in a “VERY HIGH” CMM maturity-level organization, but that does not mean that we cannot try to think and act with reasonable maturity. A. Suppose that we are in the first increment and the project is running late—we are almost one third of the way through the total project schedule and budget. We are currently using minimal automation for unit test execution (e.g. NbUnit, JUnit, TestNG, etc.) but we are not using any other testing-related-automation for any other testing activities or levels. We have not started any integration activities. Some unit tests have been designed and executed, and no integration test design or execution has occurred. In fact, we have really just started the test design process for this project (some tests have been planned and designed across all levels, but not a significant percentage—less than 30% of the tests have been planned / designed both within each level and across all the levels). Also, suppose that we were in danger of not being able to design, execute and analyze the tests as thoroughly as we had hoped for some levels, especially system and acceptance testing. Speaking as a “mature software quality professional”, how would you respond to the question / suggestion “Should we buy or use a free automation tool / technique to makeup for lost time and get back on schedule for testing”? If “NO”, then answer, “Why NOT?” and “How can we address this situation?” If “YES”, then answer, “What are your tool / technique recommendations and how can we use them to address this situation?” State your answer and defend your answer using the concepts discussed in lecture. Be sure to document any reasonable and valid assumptions necessary to support your answer.