Kursboken - tabeller Flashcards
What does the activity “Choose features to be included in an increment” involve in inrcemental development?
1.This activity involves selecting features from the planned product list that can be realistically implemented in the next product increment. It ensures that the development team focuses on achievable goals within the development cycle.
What is involved in refining feature descriptions in incremental development?
2.Refining feature descriptions entails adding detail to the initial feature outlines to ensure all team members have a common understanding of each feature. This includes providing sufficient detail for developers to begin implementation.
What does “Implement and test” entail in incremental development?
3.This activity involves coding the feature according to its refined description and developing automated tests that verify the feature behaves as expected. The tests confirm consistency with the feature’s detailed specifications.
What does “Deliver system increment” mean in the context of incremental development?
- This final activity involves delivering the developed increment to the customer or product manager for feedback. If sufficient features have been implemented, this increment might also be released as a new version of the system for customer use.
What does the activity “Integrate feature and test” involve in incremental development?
- Once a feature is developed and initially tested, it is integrated with the existing system. Further testing is conducted to ensure the new feature works harmoniously with other system components without causing disruptions.
What does the agile principle “Involve the Customer” emphasize?
1.This principle emphasizes the importance of closely involving customers with the software development team. Customers provide and prioritize new system requirements and evaluate each system increment, ensuring the final product aligns closely with their needs.
What does the agile principle “Embrace Change” entail in agile development?
2.The principle of Embracing Change means expecting and adapting to changes in product features and details as the development team and product manager learn more about the product. Agile teams adapt the software to cope with changes dynamically, maintaining flexibility in development.
What is meant by “Develop and Deliver Incrementally” in agile principles?
3.This principle dictates that software should be developed in increments. Each increment is tested and evaluated as it is developed, with feedback provided to the development team for necessary adjustments. This approach helps in identifying issues early and integrating customer feedback continuously.
How does the principle “Maintain Simplicity” impact agile development?
4.Maintaining simplicity involves focusing on creating straightforward solutions both in the software product and the development process. This principle advocates for reducing complexity wherever possible, which facilitates faster development and easier maintenance.
What does the agile principle “Focus on People, Not the Development Process” emphasize in agile development?
This principle emphasizes trusting the development team and recognizing that rigid processes do not fit all. It encourages team members to develop their own working methods and fosters an environment where creativity and individuality are valued over strict adherence to prescribed processes.
What is Incremental Planning / User Stories in XP?
In XP, there is no comprehensive “grand plan” for the system. Instead, requirements for each increment are established through discussions with a customer representative and are documented as user stories. These user stories are prioritized and selected based on the time available and their importance, guiding what is developed in each release.
What are Small Releases in XP?
Small releases in XP involve developing the minimum useful set of functionality that provides business value first. The system is released frequently, with each release incrementally adding functionality to the previous one. This approach allows for quick user feedback and iterative improvement.
What is Test-Driven Development in XP?
Test-Driven Development (TDD) in XP reverses the traditional development order; developers write tests before the actual code. This clarifies what the code should do and ensures that there is always a tested version of the code available. An automated unit test framework runs these tests after every change to ensure new code does not break existing functionality.
What does Continuous Integration entail in XP?
Continuous Integration in XP requires integrating work on a task into the overall system as soon as it is completed. A new version of the system is then created, and all unit tests are run automatically. The new version is only accepted if all these tests are successful, ensuring system stability and preventing regression.
What is Refactoring in XP?
Refactoring in XP involves improving the structure, readability, efficiency, and security of the code. Developers are encouraged to refactor continuously as soon as potential improvements are identified. This ongoing optimization process helps maintain high code quality and adaptability throughout the project lifecycle.
What is the key issue related to the Responsiveness attribute in non-functional system quality?
The key issue for Responsiveness is whether the system returns results to users within a reasonable time frame. This attribute measures the system’s ability to provide quick feedback or actions in response to user inputs.
What does Reliability mean in terms of non-functional system quality?
Reliability assesses whether the system features behave consistently as expected by both developers and users. It involves the system’s capability to perform its required functions under stated conditions for a specified period of time.
What is the Availability attribute in non- functional system quality?
Availability refers to the ability of the system to deliver its services when requested by users. It measures whether the system is operational and accessible when needed by users.
What does the Security attribute entail in a non-functional system quality?
Security evaluates whether the system protects itself and users’ data from unauthorized access, attacks, and intrusions. It involves implementing measures to safeguard sensitive information and system operations.
How is Usability defined in non- functional system quality?
Usability concerns whether system users can access and utilize the features they need quickly, efficiently, and without errors. This attribute focuses on user experience, ease of use, and the overall effectiveness of the user interface.
What does Maintainability imply in terms of non-functional system quality?
Maintainability measures how readily the system can be updated and new features can be added without incurring undue costs. It reflects the ease with which the system can evolve to meet changing needs or requirements.
What is meant by the Resilience attribute in non-functional system quality?
Resilience refers to the system’s ability to continue delivering user services in the event of a partial failure or external attack. It measures the system’s robustness and fault tolerance under adverse conditions.
Why are non-functional product characteristics critically important in architectural design?
Non-functional characteristics like security and performance are crucial because they affect all users. Getting these aspects wrong can make a product commercially unsuccessful. Design must balance opposing characteristics, optimizing the most important ones to meet user expectations and system requirements effectively.
How does the anticipated product lifetime influence architectural design?
For products expected to have a long lifetime, the architecture must support regular revisions and evolution to accommodate new features and technologies. This requires a flexible and adaptable design to ensure the product remains relevant and functional over time.
What is the impact of software reuse on architectural design?
Reusing large components from other products or open-source software can save time and effort. However, it also constrains architectural choices, as the design must be compatible with the reused components. This can limit flexibility but enhance efficiency and development speed.