Engineering Homework Help
SWE 483 Colorado Technical University Types of RAD Model Discussion & Responses
- Summarize the scenario you would be dealing with as a software development example.
- Describe the development methodology you selected and why you think it fits well with the scenario.
- Identify the key strengths and weaknesses of the methodology.
- Discuss how you would deal with the potential problems that might arise from the weaknesses in the methodology.
Responses to Other Students: Respond to at least 2 of your fellow classmates with a reply of at least 100 words about their primary task response regarding items you found to be compelling and enlightening. To help you with your discussion, please consider the following questions:
- What did you learn from your classmate’s posting?
- What additional questions do you have after reading the posting?
- What clarification do you need regarding the posting?
- What differences or similarities do you see between your posting and other classmates’ postings?
1st peer to respond to
For this course, the software development project scenario I recommend is planning a software project where a shopping management system will be developed. This development project is for clients who already have a successful physical store location; however, they want to branch out and open an online store as well. The online store will basically offer the same products as they offer in their physical location, plus other specialty items, but their products can now be available for people all over the United States. This one system will be the combination of many helpful management information systems such as Inventory control, Employee management, Management reporting system, Sales and Marketing, Accounting, human resource, databases, plus other necessary management information systems.
The integrated shopping management system will be a system that delivers a more convenient way to uphold the operations that take place to correctly manage an online store successfully. The system will need to be easy to use, understand, and navigate through, and security measures are required.
This shopping management system has a primary objective which is to adequately provide access to the tools that make overseeing the day-to-day operations of the online store a little easier and also helps with some of the day-to-day operations in the physical store location such as inventory control and employee management. The system should be fully equipped with features that can assist with maintaining the business aspects which will raise revenue, and customer satisfaction.
The software development methodology that is chosen to be used when developing a software application is crucial to the success of the project.
For this software development project, the methodology I believe to be the most appropriate is the Agile Development Methodology. I have a few different reasons why I believe this methodology is better to use when developing a shopping management system software application.
My first reason is because of the amount of teamwork that this methodology seems to make a requirement when working towards developing a software application. For the duration of the software project’s lifecycle, cross-functional teams work together to successfully design and develop the software they have been tasked with. Reason number two is how the processes of a software development project are carried out. What I mean by this is when using the Agile Development Methodology, incremental rapid cycles are used to develop software applications. Nonetheless, the project team continues to remain focused on delivering continuous improvements for the duration of the software project, along with ensuring the quality of the software by allowing modifications to be made to the software during any cycle or phase of the project. By developing the software in incremental cycles, fewer issues will emerge. Additionally, by allowing modifications to be made to the software, efficiency is fostered by the team.
The biggest reason why I think this methodology is best for a software project that is developing a shopping management system is that taking the agile approach when developing software means that the client, stakeholders, and even the end-users are more involved throughout the project and the development processes. The project team, client, stakeholders, and all others engaged to the project communicate daily. Everyone is kept up to date with the progress of the project.
As most things in life do, the different software development methodologies each come with their own distinctive advantages and disadvantages. However, they all share the same goal of offering a development process that meets the requirements of the stakeholders and the client and is conducted as efficient as ever. Some of the advantages and disadvantages of the Agile Development Methodology have been provided below.
ADVANTAGES
- Incremental deliveries of the software product.
- The feedback of the client, end users, and stakeholders are incorporated throughout the software project’s lifecycle.
- New features can be experimented with.
- Encourages frequent delivery of a software product in working condition.
- There is the emphasis placed on people and interactions instead of processes and tools.
- Communicating with all individuals which are somehow engaged with the project leaves less wiggle room to squeeze speculations into.
- New products are being introduced to the market faster.
DISADVANTAGES
- The roles of the team members are not well defined which can cause confusion between the members of the team.
- Agile development is not suited for remote project teams due to the constant communication that needs to take place.
- Inadequate resource planning.
- Documentation is put together throughout/during the development processes not prior to. This can cause documentation to be a bit under-informed when it is actually put together.
- If the requirements of the client are not clear, then understanding exactly what it is they are wanting is tedious.
- Tracking the progress is difficult.
There is truly not one software development methodology that is perfect for all software projects around. The disadvantage of the methodologies helps make sense of that. But there are things that can be done to diminish the disadvantages.
Mitigating the agile development methodology disadvantages requires more of a Lean approach by emphasizing the importance of the following.
- Providing the client with software that is high in quality instead of providing them with a software product that is in a condition that functions.
- Managing a clear process for delivering the software product, not an uncertain route to be figured out along the way.
In an agile environment, risk management is built directly into the events of the project. The risks of a project when using the agile development methodology decrease as the project progressively moves forward. The way to ensure that the risks when developing software using this methodology are being managed in the correct way is nothing other than encouraging flexibility within the development processes.
2nd peer to respond to
The scenario that I have chosen for my software development example is an Automatic Time Off system. For this software development plan, I will be using the Waterfall model as the methodology. The waterfall model is simple and very easy to use. In this model, each phase must be completed before beginning the next to avoid overlapping the phases.
The sequential phase in this model includes ?
- Requirement Gathering and analysis ? All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification document.
- System Design ? The requirement specifications from first phase are studied in this phase and the system design is prepared. This system design helps in specifying hardware and system requirements and helps in defining the overall system architecture.
- Implementation ? With inputs from the system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality, which is referred to as Unit Testing.
- Integration and Testing ? All the units developed in the implementation phase are integrated into a system after testing of each unit. Post integration the entire system is tested for any faults and failures.
- Deployment of system ? Once the functional and non-functional testing is done; the product is deployed in the customer environment or released into the market.
- Maintenance ? There are some issues which come up in the client environment. To fix those issues, patches are released. Also, to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment.
Each of these phases within the waterfall method are effective at promoting quality. If one of these phases did not exist within the waterfall method, my chosen application or system will most likely prove to be unsuccessful. The testing phase of the waterfall model is important because it discovers bugs and defects before the application is delivered to the client. Testing will guarantee the quality of the software and ensure it is reliable to use.
Without the maintenance phase, patches would not be released to fix the issues within the software or system. This phase includes obtaining maintenance requests from the end users and implementing these changes for a final product.
The disadvantages of using the waterfall model includes:
- Non-adaptive design constraints
- Working software is produced late during the life cycle, which will lead to high amount of risk and uncertainty.
- Not fitting for complex object-oriented projects (OOP).
- Poor methodology for long term and ongoing projects.
- Adjusting the scope during the life cycle can potentially end the project.
- Integration is completed at the end of the project; this does not allow to identify any challenges early in the life cycle.
- Waterfall methodology is not suitable for projects which contain requirements that have a possibility of changing.
- It is difficult to measure progress within stages.
- Reduces efficiency by not allowing process to overlap.
The advantages of using the waterfall model includes:
- Each phase will be completed before continuing to the next phase.
- Suitable for small projects where requirements are well defined.
- Quality and assurance testing is performed before the completion of each stage.
- Documentation is done at every phase.