Bonanza Offer FLAT 20% off & $20 sign up bonus Order Now
EECT042
UK
Coventry University
AB Solutions seeks to maintain its competitive advantage by switching from its already existing waterfall process for software development and adopt the Scrum Process and XP Methodology. This will help AB Solutions reduce its development team sizes and have many projects be undertaken in parallel. This report provides an overview of the Agile methodology, compares the Agile Methodology with the waterfall process, describes the Scrum Process and XP methodology, outlines the guidelines for choosing Scrum or XP according to types of projects and describes the Kanban process.
The Agile Methodology is a software development methodology that focuses on developing software in iterations. This enables the software being developed to be delivered incrementally rather than being delivered all at once.
This methodology has 4 major values that when implemented by AB Solutions, they will be able to deliver high quality working software. The first of these values is the valuing individuals and interactions over processes and tools. Because it is people who actualize the development of products by adapting to the business needs and meeting client needs, it would be very essential for AB Solutions to value them more than the processes and tools they use.
The second value emphasized on by Agile is focusing on software rather than documentation. This is because documentation takes more time of the development process while agile focusses on delivering software at a faster pace (Al-Zewairi et al. 2017, pp.74). What this means for AB Solutions thus is that it will not eliminate the documentation process rather it will streamline it hence developing high quality software.
Next, we have the emphasis on customer collaboration over contract negotiation. Agile puts more importance on the collaboration between the customers or clients with the product managers. Rather than the customers detailing their requirements before the project starts, they are included in the development process through their valued feedback (Venkatesh et al 2020, pp. 733). AB Solutions will thus collaborate with their customers to develop software that better meets their needs.
Lastly, Agile champions for responding to changes over following a plan. This is in contrast to the traditional software development methodologies that view a change in requirements as an expense and thus avoid it. Since user requirements keep on changing and agile works in sprints that embrace changes and views them as means to add quality to the product, AB Solutions will be able to create not only working but also high-quality software by implementing this methodology
For the delivery of a high-quality software product to be achieved, the software development teams follow the software development life cycle. This cycle consists of requirements gathering, conducting a feasibility study, design of the project, coding, testing, installation, and maintenance (Kisling 2019, pp.1-2). The agile methodology is a development methodology that mainly focuses on continuously improving software under development through continuous iterations (Hoda, Salleh & Grundy 2018, pp. 58). On the other hand, waterfall breaks down the development process into phases. The project work is then sequentially completed in each phase. The outcome of the first phase becomes the input of the next phase thus everything is sequential (Chari & Agrawal 2018, pp. 165). Both agile and waterfall software development methodologies aim at delivering high-quality software. However, these methodologies use differing software development life cycle models.
Agile Methodology | Waterfall Methodology |
Its development cycle consists of sprints | Divides its development cycle into phases |
Develops software incrementally and thus phases such as project planning and prototyping may happen severally. | Develops software sequentially and the phases are completed only once |
It is flexible as it embraces changes in the requirements of the software under development even after the initial project planning | It is considered to be rigid as it does not allow the ability to change user requirements once the project has begun |
Ideal for projects where evolution and change in requirements is expected | Ideal for projects with predefined requirements and change is not expected |
Testing is done regularly after each successive sprint | Testing is done after the completion of the software |
Champions for the collaboration between the customers and product managers to come up with requirements on regular basis | Requirements have to be prepared initially by the business analyst before the start of the project |
Focusses on developing software that better meets the needs of the customers as it aligns itself with the customer requirements | Focuses on completing the project |
The development teams are small but are highly coordinated | The development teams are less likely to be highly coordinated or synchronized |
The scrum process is a lightweight framework and a subset of agile methodology that suggests that a project should be developed through sprints with each sprint lasting approximately two weeks. Before the beginning of each sprint, the team members meet to identify the number of items they can deliver and then create a sprint backlog. The sprint backlog usually enlists the tasks that should be performed during the sprint (Srivastava, Bhardwaj & Saraswat 2017, pp.864). During the sprint, the team codes and tests the functionality of small features that are derived from the main idea so that by the end of the sprint, these new features get added to the evolving system.
Extreme Programming is an agile software development methodology whose main focus is delivering software of high quality. It also ensures that the team behind the software has a healthy relationship by having teams follow software engineering best practices (Saleh, Huq & Rahman 2019, pp. 6). Extreme Programming delivers projects through frequent small iterations and this gives room for the team members and clients to examine, review, and give feedback on the project’s progress.
Using the Scrum Process, AB Solutions team members will be holding daily scrum meetings to come up with the sprint deliverables and create the sprint backlog. The scrum meetings will last a maximum of fifteen minutes. They will also be attended by all team members so that they get to share their previous day's tasks and their current day's tasks. These meetings will help get the AB Solution’s team members in sync and also give them an opportunity to identify any hindrances to progress.
When implementing Extreme Programming, AB Solutions will focus on practicing the methodologies five main fundamental values. These values will enable the project stakeholders to develop confidence in the project's direction while also understanding that their feedback is necessary. The first value is Simplicity which states that the AB Solutions will do only what is needed and asked for but nothing more than that. The second fundamental value is Communication which suggests that the communication between AB Solutions team members will be face to face and the team will work together on everything from gathering of the requirements to coding the software. The third is Feedback which means that AB Solutions will demonstrate the project under development to the stakeholders early and listen to them to make any changes needed. The next value is Respect which emphasizes that all the stakeholders, from the AB Solutions developers, their clients and management, should give and receive the respect they deserve from the other team members. Lastly, there is Courage which states that the team members will tell the truth on matters regarding project progress and estimates and they will be ready to adapt to changes as they happen (Alexandros et al 2017, pp.391).
For projects that require extensive management and control over the increments and iterations, the methodology that AB Solutions will use is Scrum.
For projects requiring small teams of between five to nine members, Scrum will also be implemented.
For projects that have fixed time constraints due to using new technology, XP is more applicable for AB solutions.
For projects that use technology that allows for automated units and functional tests, AB Solutions will use XP.
The Kanban software development approach is an agile approach that focuses on creating efficiency in teamwork. To achieve this, Kanban is based on visualizing tasks from the other peoples' context, minimizing works in progress, and improving the workflow by starting the next start immediately after completing the current one (Riaz 2020, pp.25). AB solutions will be able to utilize this methodology for projects that will require steady output regardless of the team and project size. This is because it aims at reducing the project sizes and have them being undertaken in parallel (Lei et al 2017, pp.59).
Using Agile Software development methodologies for project design and management brings more benefits to the final product compared to the traditional waterfall method. This is because with Agile, there is extensive stakeholder engagement and customer satisfaction. AB Solutions will therefore stand to maintain its competitive advantage by using these methodologies. Additionally, agile enables the team to understand the client's objectives and therefore, as a software business, AB Solutions will be able to develop high-quality software.
Part 2: Java Documentation comments
@param – denotes the parameters that the countString method receives, in this case, the words typed by the user.
@return – specifies the return value of the countString method, in this case, the total number of words
@author – adds the author of a class, in this case, the student name
@version – indicates the current version of the file and the date when it was checked out.
@exception – throws an exception if an input or output exception occurs, in this case, if a user does not type a string
@see – points to a reference not available by URL, in this case, a book about looping through a string
Hoda, R., Salleh, N. and Grundy, J., 2018. The rise and evolution of agile software development. IEEE software, 35(5), pp.58-63.
Venkatesh, V., Thong, J.Y., Chan, F.K., Hoehle, H. and Spohrer, K., 2020. How agile software development methods reduce work exhaustion: Insights on role perceptions and organizational skills. Information Systems Journal, 30(4), pp.733-761.
Al-Zewairi, M., Biltawi, M., Etaiwi, W. and Shaout, A., 2017. Agile software development methodologies: survey of surveys. Journal of Computer and Communications, 5(05), p.74.
Chari, K. and Agrawal, M., 2018. Impact of incorrect and new requirements on waterfall software project outcomes. Empirical Software Engineering, 23(1), pp.165-185.
Kisling, E., 2019. Transitioning from Waterfall to Agile: Shifting Student Thinking and Doing from Milestones to Sprints. Proceedings of Southern Association for Information Systems, pp.1-2.
Srivastava, A., Bhardwaj, S. and Saraswat, S., 2017, May. SCRUM model for agile methodology. In 2017 International Conference on Computing, Communication and Automation (ICCCA) (pp. 864-869). IEEE.
Lei, H., Ganjeizadeh, F., Jayachandran, P.K. and Ozcan, P., 2017. A statistical analysis of the effects of Scrum and Kanban on software development projects. Robotics and Computer-Integrated Manufacturing, 43, pp.59-67.
Alexandros, N.K., Sakas, D.P., Vlachos, D.S. and Dimitrios, N.K., 2017. Comparing scrum and xp agile methodologies using dynamic simulation modeling. In Strategic Innovative Marketing (pp. 391-397). Springer, Cham.
Saleh, S.M., Huq, S.M. and Rahman, M.A., 2019, February. Comparative study within Scrum, Kanban, XP focused on their practices. In 2019 International Conference on Electrical, Computer and Communication Engineering (ECCE) (pp. 1-6). IEEE.
Riaz, M.N., 2020. Implementation of Kanban Techniques in Software Development Process: An Empirical Study Based on Benefits and Challenges. Sukkur IBA Journal of Computing and Mathematical Sciences, 3(2), pp.25-36.
Looking for affordable assignment help online? Need someone to offer you prices that would go easy on your pocketbook? Bothered, “Can I pay someone to do my assignment at the best industry price?” Of course, you can. MyAssignmenthelp.co.uk has the finest paper writers. They are dedicatedly available to back you up with well-knit assignment papers at the best industry price.
Sign up for finance assignment help or management assignment help and enjoy a flat 20% off along with an additional $20 sign-up bonus. How cool is that? So, think no more and count on our expertise for affordable assignment help in the UK.
Upload your Assignment and improve Your Grade
Boost Grades