You have to use your own words to write the answers no books or google . 5Q Q1 Giving reasons for your answer based on the type of system being developed, suggest the most appropriate software process model that might be used as a basis for managing the development of the following systems: · A system to control anti-lock braking in a car · A virtual reality system to support software maintenance · An interactive travel planning system that helps users plan journeys Q2 It has been suggested that one of the problems of having a user closely involved with a software development team is that they ‘go native’. That is, they adopt the outlook of the development team and lose sight of the needs of their fellow users. Suggest three ways how you might avoid this problem and discuss the Q3 Explain how the principles underlying agile methods lead to the accelerated development and deployment of software. Q4 When would you recommend against the use of an agile method for developing a software system? Q5 List at least 4 questions that should be asked when deciding whether or not to adopt an agile method of software development.

Q1: Based on the type of system being developed, different software process models can be considered. Here are the most appropriate software process models for managing the development of the following systems:

1. A system to control anti-lock braking in a car: For safety-critical systems like this, the Waterfall model is the most appropriate software process model. The Waterfall model follows a sequential approach with distinct phases such as requirements analysis, design, implementation, testing, and maintenance. This model ensures a systematic and rigorous development process, which is crucial for safety-critical systems.

2. A virtual reality system to support software maintenance: For this type of system, where requirements and technology may change rapidly, an iterative and incremental process model like the Spiral model is suitable. The Spiral model involves multiple iterations of risk analysis, development, and evaluation. This iterative approach allows for continuous feedback from users and stakeholders, which is important in managing the evolving needs of software maintenance.

3. An interactive travel planning system that helps users plan journeys: An interactive and user-centered system like this would benefit from a user-centric model like the User-Centered Design (UCD) process. UCD focuses on understanding users’ needs, involving them in the design process, and continuously evaluating the usability of the system. It integrates user research, iterative design, and usability testing to ensure that the system meets the users’ expectations.

Q2: The problem of a user “going native” and losing sight of the needs of fellow users can be mitigated through the following approaches:

1. Stakeholder engagement: Encourage active participation of all relevant stakeholders throughout the software development process, including the user. This involvement helps maintain user perspective and prevents them from solely adopting the development team’s outlook.

2. User representation and feedback: Designate a user representative or advocate within the development team who can represent the needs and interests of the user community. Regular feedback sessions and usability testing involving actual users can provide valuable insights and ensure their needs are met.

3. User-centered design techniques: Incorporate user-centered design techniques such as personas, user stories, and user experience (UX) research methodologies. These techniques help maintain the user’s perspective and ensure that the development team focuses on user needs and requirements throughout the entire development process.

Q3: The principles underlying agile methods contribute to the accelerated development and deployment of software through the following ways:

1. Iterative and incremental development: Agile methods promote iterative and incremental development, where software is developed in small increments and delivered in short iterations. This allows for continuous feedback, enables stakeholders to see tangible progress, and provides opportunities for early deployment.

2. Customer collaboration: Agile methods prioritize close collaboration and frequent interaction with customers or end users. This ensures that the development team stays aligned with the customers’ changing needs and can quickly incorporate their feedback into the development process. This leads to faster turnaround times and faster software deployment.

3. Empowered development teams: Agile methods promote self-organizing, cross-functional teams that have the flexibility to adapt to changing requirements and make decisions at the team level. This empowerment allows teams to respond quickly to challenges and make rapid progress in software development.

4. Continuous improvement: Agile methods emphasize continuous learning and improvement. Through regular retrospectives, agile teams identify areas for improvement and implement changes to enhance their development process. This iterative approach helps to accelerate development by eliminating inefficiencies and streamlining workflows.

Q4: There are situations where the use of agile methods may not be recommended for developing a software system. These may include:

1. Stable and well-defined requirements: If the requirements for the software system are well-established and unlikely to change significantly, a more traditional and predictive software development approach, such as the Waterfall model, may be more suitable. Agile methods are better suited for projects with evolving or unclear requirements.

2. Large-scale and complex projects: Agile methods are most effective for small to medium-sized projects where teams can benefit from close collaboration and quick feedback cycles. For large-scale and complex projects, the dependencies and coordination required may make a more structured and planned approach more appropriate.

3. Regulatory or industry compliance requirements: Agile methods may not be recommended if the software system needs to adhere to strict regulatory or industry compliance standards. These situations may require a more rigorous and documented development process to ensure transparency and traceability.

4. Limited customer involvement or availability: Agile methods rely on regular and active customer involvement. If the customer or end users are not available or willing to engage in the development process, it may be challenging to effectively implement agile methods.

Q5: When deciding whether or not to adopt an agile method of software development, the following questions should be asked:

1. Are the requirements flexible and likely to change during the course of development?
2. Is regular and active customer collaboration feasible and achievable?
3. Does the project have a small to medium-sized team that can work in a self-organizing manner?
4. Can the project benefit from rapid iterations and early deployment to gather user feedback and make adjustments?

Need your ASSIGNMENT done? Use our paper writing service to score better and meet your deadline.


Click Here to Make an Order Click Here to Hire a Writer