Unformatted text preview:

CS 383 Homework 4:Agile MethodLee VanGundyOctober 26, 2010AbstractThis document presents reasoning for using the Scrum Agile Programming Devel-opment Model for the development of Groups in a University Setting (GUS)1For this software project, Groups in a University Setting (GUS), we have alreadydecided to use an agile programming method. We have also narrowed it down to usingone of five different agile programming methods. Of those five the best one to usedepends on a couple of things, such as the type of software project, and requirementsof the customer. For this project the method that we should use is Scrum.Scrum would most likely be the best method for our project for most any reasonableteam size, and could be applicable for the whole class. By doing so everyone would endup on a similar schedule, and then be able to compare progress between groups basedon that similar schedule. The other agile methods that could be used include: PairProgramming, Extreme Programming, Feature Driven Development, and Test DrivenDevelopment. Each of these has their own positive and negative features. However,these other methods do not fit the needs of this project and group.Pair programming has the benefit of two people looking over the same code at thesame time, and would serve to hopefully remove many errors. However, to do thisfor a team could potentially cut the productivity that a team is capable of, as onlyone person would be able to type at a time. This is also not particularly feasible forour class especially when wanting to keep everyone in the class busy this could be apotential way for people to not put in as much effort as some of the other members oftheir team if we were to use this software development method.Extreme programming, though, a very flexible development method would not beuseful for this project. The main highlight of Extreme programming is the respon-siveness to the changing customer requirements. To a certain degree this would beuseful due to GUS needing to be adaptable for many groups. This, however, wouldnot benefit us for the long run of our project as it the features that we will need toaccommodate must be flexible for all of the different groups that GUS is targeted for.Also, there should be a point that the features for the program will be close to all beingall encompassing that at that point there hopefully the features would be adaptablethemselves for any new uses. By doing this code would not have to be changed for anyfeature that is related to anything that already exists, thus promoting modularity.Feature Driven Development does not seem like it would be a good way to developfor GUS even though the features of GUS are definitely positive. However, this seemsto not be as flexible for responding to the customer after the project was begun. Thiswould then seem to be almost the opposite side of Extreme programming in terms ofpaying attention to features and customer responses.Test driven development does not seem to be the best method for the developmentof GUS as it there are so many features that would need their own specific types oftests that could hinder the flexibility of the final product by limiting what can be doneby the types of changes that can be made, as any changes to a feature would need tobe made through the tests that it was designed to meet, which really seems more likean extra step that would not be needed for this development project.2Scrum provides a nice structured pattern to the development process that shouldbe suited nicely to both GUS, and the classroom setting that we are developing. Reg-ular meetings before, after, and during a sprint will help to ensure that communicationhappens continuously. There will also be incremental releases of the software that canbe will have been fully tested and reviewed. Doing so will ensure that everything isworking for that section, and at each step of the development process. This should alsohelp to show progress for the class, as the progress will be able to be measured overa consistent period of time. As to the degree that this software development methodshould be used, it would make sense for the whole class to use it. One reason would bethat it would provide structure and common point of comparison of progress amongthe different teams.Of all five different agile development methods the one that would have the mostdifficulty being applied to this project is Pair programming due to some of the prob-lems mentioned above, such as productivity, efficient use of the number of students wehave in the class, and the time frame that we have to do it. Also, it would be difficultto keep the class organized if not all the teams were using the same software develop-ment method, and this should be the case no matter whichever software developmentmethod is chosen to be used in the


View Full Document

UI CS 383 - Homework 4

Download Homework 4
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Homework 4 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Homework 4 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?