1.
What method would you choose if you needed flexability in a project?
Correct Answer
B. Agile
Explanation
Agile methodology is the most suitable choice when flexibility is required in a project. Unlike other methods like Waterfall, Agile allows for iterative and incremental development, enabling frequent changes and adaptations to project requirements. It promotes collaboration, continuous feedback, and flexibility in responding to changing customer needs. This approach ensures that the project team can quickly adjust and deliver value to stakeholders, making Agile the ideal method for flexible project management.
2.
What is a good definition of the Waterfall method?
Correct Answer
B. Secquential design
Explanation
The correct answer is "Sequential design." The Waterfall method is a software development approach that follows a linear and sequential process, where each phase is completed before moving on to the next. This method emphasizes a structured and planned approach, with each phase building upon the previous one. It does not involve cyclical steps or allow for prototyping, and it is not flexible in terms of accommodating changes during the development process.
3.
What is associated with TDD?
Correct Answer
D. All of the above
Explanation
TDD, or Test Driven Development, is associated with all of the given options. Extreme programming is a software development methodology that emphasizes TDD as a core practice. Short development cycles are a key aspect of TDD, where developers write tests before writing the actual code, leading to frequent iterations and quick feedback. Repetition is also inherent in TDD, as developers continuously write and rerun tests to ensure the code is functioning correctly. Therefore, all of the options mentioned are associated with TDD.
4.
What is a specific implimentaion of Unified Process?
Correct Answer
A. RUP
Explanation
RUP (Rational Unified Process) is a specific implementation of the Unified Process. It is a software development process framework that provides a disciplined approach to assigning tasks and responsibilities within a development organization. RUP focuses on iterative development, where each iteration produces a working software increment. It also emphasizes the importance of collaboration and communication among team members. RUP follows a phased approach, with each phase having specific objectives and deliverables. Overall, RUP is a well-defined and structured methodology for managing and executing software development projects.
5.
What method is used in a prototyping lifecycle?
Correct Answer
C. JAD
Explanation
JAD stands for Joint Application Development, which is a method used in a prototyping lifecycle. JAD involves bringing together stakeholders, users, and developers to actively participate in the design and development process. This collaborative approach helps in gathering requirements, defining the system, and creating prototypes to ensure that the final product meets the desired objectives. JAD sessions are conducted to facilitate communication, understanding, and consensus among all parties involved, ensuring a more efficient and effective prototyping lifecycle.
6.
A criticism of what method is that it is developer centered rather than user centered?
Correct Answer
C. Agile
Explanation
Agile is criticized for being developer-centered rather than user-centered. This criticism stems from the fact that Agile methodologies prioritize the needs and preferences of the development team over the end users. Agile focuses on delivering working software quickly and iteratively, often leading to frequent changes and updates based on the development team's understanding of the requirements. However, this approach may overlook the perspectives and priorities of the end users, potentially resulting in a product that does not fully meet their needs or expectations.
7.
Intended for teams with different backgrounds and opinions to work together.
Correct Answer
D. JAD
Explanation
JAD, or Joint Application Development, is a methodology that encourages collaboration and input from different team members with diverse backgrounds and opinions. It involves bringing together stakeholders, users, and developers to collectively define requirements, identify solutions, and make decisions. JAD sessions are conducted in a structured and facilitated manner, ensuring that everyone's perspectives are heard and considered. This approach fosters teamwork and helps in achieving consensus among team members with different backgrounds and opinions.
8.
This method was developed by a devision of IBM.
Correct Answer
B. RUP
Explanation
The Rational Unified Process (RUP) is the correct answer because it was indeed developed by a division of IBM. RUP is a software development methodology that provides a disciplined approach to the entire software development lifecycle. It emphasizes iterative development, collaboration, and the use of best practices. RUP was developed by Rational Software Corporation, which was later acquired by IBM in 2003.
9.
What is a is a group of software methodologies that is based on iterative and incremental development?
Correct Answer
A. Agile
Explanation
Agile is a group of software methodologies that is based on iterative and incremental development. It emphasizes flexibility, collaboration, and continuous improvement throughout the development process. Agile methodologies, such as Scrum and Kanban, prioritize customer satisfaction, adaptability, and delivering working software in short iterations. The iterative approach allows for frequent feedback and adjustments, while the incremental approach enables the delivery of valuable features in small increments. Agile methodologies promote self-organizing teams, regular communication, and continuous delivery, resulting in faster time-to-market and higher customer satisfaction.
10.
Running tests to find the faults is a method of what?
Correct Answer
A. TDD
Explanation
Running tests to find the faults is a method of TDD, which stands for Test-Driven Development. TDD is a software development approach where tests are written before the code is implemented. It follows a cycle of writing a failing test, writing the code to pass the test, and then refactoring the code. By running tests to find faults, TDD ensures that the code is thoroughly tested and any issues or bugs are identified and fixed early in the development process.