CMP73010 - Managing Software Development: Agile Methodologies Report

Verified

Added on  2022/10/17

|11
|2256
|6
Report
AI Summary
This report comprehensively examines agile methodologies in software development, focusing on Scrum and Extreme Programming (XP). It begins by outlining the values and principles of the agile process, contrasting it with traditional methods like the Waterfall technique. The report delves into the specifics of Scrum, detailing its framework, roles, and iterative sprint cycles, as well as XP, outlining its practices and values. Arguments for and against adopting agile methods are presented, highlighting scenarios where Scrum is advantageous, such as projects with evolving requirements, and those where it may not be suitable. The report also includes a practical example of automatic document generation using C# code, demonstrating a simple word count program. The report concludes by emphasizing the benefits of Scrum for specific clients and projects, making it a valuable resource for understanding and applying agile principles in software development.
tabler-icon-diamond-filled.svg

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
Managing Software Development i
SOUTHERN CROSS UNIVERSITY
ASSIGNMENT COVER SHEET
For use with online submission of assignments
Please complete all of the following details and then make this sheet the first page of each file
of your assignment – do not send it as a separate document.
Your assignments must be submitted as either Word documents, text documents with .rtf
extension or as .pdf documents. If you wish to submit in any other file format please discuss
this with your lecturer well before the assignment submission date.
Student Name:
Student ID No.:
Unit Name: Managing Software Development
Unit Code: CMP73010
Tutor’s name:
Assignment No.:
Assignment Title:
Due date:
Date submitted:
Declaration:
I have read and understand the Rules Relating to Awards (Rule 3 Section 18 –
Academic Misconduct Including Plagiarism) as contained in the SCU Policy
Library. I understand the penalties that apply for plagiarism and agree to be bound
by these rules. The work I am submitting electronically is entirely my own work.
Signed:
(please type
your name)
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Managing Software Development ii
Table of Contents
1. Part 1: The Agile Process.....................................................................................................................1
The Values of the agile process................................................................................................................1
General principles of Agile process..........................................................................................................1
2. Explanation of the possible Agile methodologies that could be used.................................................2
Scrum.......................................................................................................................................................2
How does scrum work?........................................................................................................................2
Framework for Scrum..........................................................................................................................3
Extreme Programming (XP).....................................................................................................................3
Practices of XP.....................................................................................................................................3
Roles in XP...........................................................................................................................................4
3. Arguments for and against the adoption of agile development method.............................................5
Arguments for the adoption of Scrum agile development method..........................................................5
Arguments against adoption of XP agile development method...............................................................5
4. Projects that can benefit from Scrum..................................................................................................6
Projects that may not benefit from Scrum..................................................................................................6
Why using SCRUM is a good method for two clients?.................................................................................6
Part 2: Automatic Document Generation....................................................................................................7
Refences......................................................................................................................................................9
Document Page
Managing Software Development 1
1. Part 1: The Agile Process
Agile process of software development is a method of the project management process,
principally used for software /system development, where requests, product demands and
solutions passes through the cooperation of self-organized team and cross-working groups and
their clients. (Muslihat, 2019, 7)
Starting from the values and standards of Agile principles and values, it was made as a
solution option to the insufficiencies of traditional methods of software development, for
example, the Waterfall technique. Software industry is profoundly a competitive market because
software product has to be updated continuously. This implies software engineers have to always
improve and upgrade their software to keep up the game — and the straight, consecutive
approach of the Waterfall technique simply was not sufficient and may not guaranteed quality
work. (Muslihat, 2019, 7)
The Values of the agile process
ï‚· People and interaction over procedures and devices
ï‚· Working software over exhaustive documentation
ï‚· Client cooperation over contract arrangements
ï‚· Reacting to change over the accompanying plan
General principles of Agile process
ï‚· Consumer fulfilment through on schedule and nonstop deliverables i.e software
ï‚· Accommodate the changing software requirements during the improvement process
ï‚· Working software is delivered often, it can be weekly as opposed to monthly
ï‚· Close working cooperation between business delegate and the engineers
ï‚· A working product is the measure of the product improvement process
Document Page
Managing Software Development 2
ï‚· The Agile process supports a constant development pace
ï‚· face-to-face discussion is the best kind of communication because of the fact that the
designers are in the same area. (Muslihat, 2019)
ï‚· Continuous attention regarding technical excellence and great product design plan
Individuals who apply any kind of Agile method cling to these values and principles. The
principles offer a decent overview of what is required in regards to the Agile development life
cycle practices. (Muslihat, 2019, 11). The main agile methodologies are Kanban, SCRUM, Lean
Development, Extreme Programming (XP) and Crystal.
2. Explanation of the possible Agile methodologies that could be used
The methods that can be used for the two clients are Scrum and XP.
Scrum
This is the most used method in the Agile process development cycle. It has stages of
development called sprints. Scrum stresses on the maximization of the development time of a
product, characterized by day to day meetings to design the most ideal direction for the workday.
Work the matters more than others are given a priority and is broken into manageable loads.
(Pawar and Mahajan, 2017)
Scrum is about cooperation from both the development team and the owners of the
business or software project. It is about getting responses and giving a feedback to ensure that
the software developed is the best. (Pawar and Mahajan, 2017, 2)
How does scrum work?
ï‚· Scrum main activity is the sprint, an iteration of 1-4 weeks.
ï‚· Sprint planning is done to determine and define goals that the upcoming sprint is
supposed to achieve
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Managing Software Development 3
ï‚· There is a daily scrum. This is a meeting done at the end of day same time to state
contributions made on that day
ï‚· A Sprint, generally, props up from multi-week to multi-month to complete a thing from
the abundance.
ï‚· The goal of each Sprint is to make a valuable product
ï‚· Each Sprint closes with a Sprint review. Where each team showcase the work of the team
Framework for Scrum
It uses iteration to do software development. Scrum follows a specific set of roles,
responsibilities and non-changing meetings that focused on getting work done faster. It has three
fundamental roles; project owner, a development group and Scrum master. The project owner
sets the plan, find funding and discharge plans for the product, the development group is
responsible for the success and failure of the system, they execute functional requirements of the
product. Scrum master is a connection between the development group and the project owner
Extreme Programming (XP)
XP is another agile development framework that focuses on producing a high quality
product and a better life for the developers. It is anchored on five values; simplicity, feedback,
communication, respect and courage.
Practices of XP
XP is based on 12 practices that includes the following;
ï‚· Planning Game
ï‚· Metaphor
ï‚· Small releases
ï‚· Simple plan
Document Page
Managing Software Development 4
ï‚· Testing of the product
ï‚· Refactoring
ï‚· Pair programming
ï‚· Continuous integration
ï‚· Collective ownership
ï‚· 40 hour-week
ï‚· On-site customer
ï‚· Coding standards
Roles in XP
The customer- responsible for making a major decision if not all regarding the project
being developed
The Developer- is responsible for the implementations of all the requirements and
improvements identified by the client.
The tracker- keeps track of the progress being made towards an achievement of the set
objectives. Tracker checks on the development speed, the amount of time, test and identify areas
for improvement
A coach- is an experienced team member who have used XP before. Coach helps to mentor
the team on the best practices of extreme programming.
Document Page
Managing Software Development 5
3. Arguments for and against the adoption of agile development method.
Arguments for the adoption of Scrum agile development method.
Scrum helps projects where the business specification document is hard to be used to
determine the successfully development of the product. (Adell, 2013, 19).
Fast moving product development can easily and quickly have coded and tested using
scrum, as errors can be rectified instantly. (Adell, 2013, 19).
Through regular meetings, work progress is updated and thus have full controlled of the
product being developed. Thus, have clear visibility of product development. (Adell, 2013, 20).
It is simpler to cope with changes because of little sprints and steady feedback. (Adell,
2013, 20 ).
It is also possible to measure individual productivity of the team members,
Issues are identified early and therefore resolved amicably in advance through daily
meetings. (Adell, 2013, 20).
Arguments against adoption of XP agile development method
It is suitable mainly for Small, a Co-located development group
Cannot be suitable when developing safety systems that requires changes to be managed
critically to preserve safety
Not good to use when the project being undertaken is making expensive to change
decisions based of the product refactoring such as change on the hardware after the initial
hardware had been bought. This sometimes require change of the metaphor.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Managing Software Development 6
4. Projects that can benefit from Scrum
Anyone who wants to develop a complex project
Projects with continuously changing software specifications and requirements.
Scrum is not limited to software and technology; it works well also in other project
management across all industries.
It can be used by varied teams for a variety of projects, proven to be the most successful
agile method. (Valeri, Do and Oke, 2016, 27)
Projects that may not benefit from Scrum
Scrum may fail when teams try and work while not understanding set standards.
It doesn’t work when members of the development team prefer working alone.
Why using SCRUM is a good method for two clients?
Using the sprint process gives way for good project development that gives a saleable
product while the project is still being developed. This method reduces the time for marketing of
the product and results in more revenue because each completed backlog results in a new version
of the software. Moreover, during review of sprint before next sprint, testing is conducted in that
process, allowing development team to change the direction of the product at any stage. (Kelly
Uhlig, 2019, 16). Involvement of the product owner helps in facilitating software changes on the
requirements along the way, however, the budget and deadline are fixed. (Kelly Uhlig, 2019, 15)
Scrum has changed the way business of software development is conducted. It keeps
everyone involved on up to date information on progress during the daily meetings, the
development team focused on the activities and the owners focus on knowledge of the progress
which in turn helps to manage product and progress expectations. Therefore, they can track and
Document Page
Managing Software Development 7
estimate if the whole projects is on a good progress, if it is delayed, the reasons for the delay and
may be take necessary action in such case.
Part 2: Automatic Document Generation
1. Namespace
2. Assignment 2
3. {
4. //<summary>
5. //This program is for CMP73010 Assignment 2 (Session 2 2019)
6. //<remarks>
7. //It calls some functions that need commenting
8. //</remarks> </summary>
9. //perhaps include checks if there is a string entered eg. If(str.length==0
10. //and it that case initialize wrd to 0
11. using System;
12. public class Assignment 2
13. {
a. //main method begins the execution of the C# program
14. public static void Main()
15. {
16. // declare a string mrk using
a. // string keyword
b. string str;
17. int i, wrd,l; // Declaration
a. //write to console
18. Console.Write("\n\nCount the total number of words in a string :\n");
19. Console.Write("--------------------------------------------------\n");
20. Console.Write("Input the string : ");
21. str = Console.ReadLine();
22. l = 0; //Initialization
23. wrd = 1;//Initialization of word count
24. /* loop till end of string */
25. while (l <= str.Length - 1)
26. {
27. /* check whether the current character is white space or new line or tab character*/
28. if(str[l]==' ' || str[l]=='\n' || str[l]=='\t')
29. {
Document Page
Managing Software Development 8
a. wrd++;//Incrementing word count while on loop
30. }
31. l++;
32. } //End While loop
a. // Displaying Result
33. Console.Write("Total number of words in the string is : {0}\n", wrd);
a. }//End Main
34. }//end class Assignment 2
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Managing Software Development 9
Refences
Adell, L. (2013). Benefits & Pitfalls of using Scrum software development methodology.
Kelly Uhlig, D. (2019). Advantages and Disadvantages of the Scrum Project Management
Methodology. Retrieved 21 September 2019, from https://smallbusiness.chron.com/advantages-
disadvantages-scrum-project-management-methodology-36099.html
Muslihat, D. (2019). Agile Methodology: An Overview | Zenkit. Retrieved 21 September 2019,
from https://zenkit.com/en/blog/agile-methodology-an-overview/
Pawar, R., & Mahajan, K. (2017). Implementation of Change Management in Software
Development by using Scrum Framework. International Journal Of Advanced Research In
Computer Science And Software Engineering, 7(7), 400.
Valerii, K., Do Cao, T., & Oke, F. (2016). Advantages of SCRUM in Open Source Software
Development. Open Source Software Development.
chevron_up_icon
1 out of 11
circle_padding
hide_on_mobile
zoom_out_icon
logo.png

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]