Question

In: Computer Science

in your own words , How would you select a methodology for developing a software system?...

in your own words , How would you select a methodology for developing a software system? What are the criteria? For example, among Waterfall, Parallel, Rapid Application, or Agile development methodologies which one would you choose for your development project.

Solutions

Expert Solution

Agile software development refers to  software development methodologies centered round the idea of iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. The ultimate value in Agile development is that it enables teams to deliver value faster, with greater quality and predictability, and greater aptitude to respond to change. Scrum and Kanban are two of the most widely used Agile methodologies.

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Agile methods or Agile processes generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals. Agile development refers to any development process that is aligned with the concepts of the Agile Manifesto. The Manifesto was developed by a group fourteen leading figures in the software industry, and reflects their experience of what approaches do and do not work for software development.

Scrum is a subset of Agile. It is a lightweight process framework for agile development, and the most widely-used one.

A “process framework” is a particular set of practices that must be followed in order for a process to be consistent with the framework. (For example, the Scrum process framework requires the use of development cycles called Sprints, the XP framework requires pair programming, and so forth.)
“Lightweight” means that the overhead of the process is kept as small as possible, to maximize the amount of productive time available for getting useful work done.
A Scrum process is distinguished from other agile processes by specific concepts and practices, divided into the three categories of Roles, Artifacts, and Time Boxes. These and other terms used in Scrum are defined below. Scrum is most often used to manage complex software and product development, using iterative and incremental practices. Scrum significantly increases productivity and reduces time to benefits relative to classic “waterfall” processes. Scrum processes enable organizations to adjust smoothly to rapidly-changing requirements, and produce a product that meets evolving business goals. An agile Scrum process benefits the organization by helping it to

Increase the quality of the deliverables

Cope better with change (and expect the changes)

Provide better estimates while spending less time creating them

Be more in control of the project schedule and state.

Benefits of Agile

Benefits to Customer
Customers find that the vendor is more responsive to development requests. High-value features are developed and delivered more quickly with short cycles, than with the longer cycles favored by classic “waterfall” processes.

Benefits to Vendors
Vendors reduce wastage by focusing development effort on high-value features, and reduce time-to-market relative to waterfall processes due to decreased overhead and increased efficiency. Improved customer satisfaction translates to better customer retention and more positive customer references.

Benefits to Development Teams
Team members enjoy development work, and like to see their work used and valued. Scrum benefits Team members by reducing non-productive work (e.g., writing specifications or other artifacts that no one uses), and giving them more time to do the work they enjoy. Team members also know their work is valued, because requirements are chosen to maximize value to customers.

Benefits to Product Managers
Product Managers, who typically fill the Product Owner role, are responsible for making customers happy by ensuring that development work is aligned with customer needs. Scrum makes this alignment easier by providing frequent opportunities to re-prioritize work, to ensure maximum delivery of value.

Benefits to Project Managers
Project Managers (and others) who fill the ScrumMaster role find that planning and tracking are easier and more concrete, compared to waterfall processes. The focus on task-level tracking, the use of Burndown Charts to display daily progress, and the Daily Scrum meetings, all together give the Project Manager tremendous awareness about the state of the project at all times. This awareness is key to monitoring the project, and to catching and addressing issues quickly.

Benefits to PMOs and C-Level Executives
Scrum provides high visibility into the state of a development project, on a daily basis. External stakeholders, such as C-Level executives and personnel in the Project Management Office, can use this visibility to plan more effectively, and adjust their strategies based on more hard information and less speculation.

Related Solutions

Explain in your own words how you would go about developing a behaviorally anchored rating scale
Explain in your own words how you would go about developing a behaviorally anchored rating scale
Imagine you are developing a software package that requires users to enter their own passwords. Your...
Imagine you are developing a software package that requires users to enter their own passwords. Your software requires that users' passwords meet the following criteria: The password should be at least six characters long. The password should be at least one uppercase and at least one lowercase letter. The password should have at least one digit. Write a program that asks for a password then verifies that it meets the stated criteria. If it doesn't, the program should display a...
Imagine you are developing a software package that requires users to enter their own passwords. Your...
Imagine you are developing a software package that requires users to enter their own passwords. Your software requires that user’s passwords meet the following criteria: 1. The password should be at least six characters long. 2. The password should contain at least one uppercase and at least one lowercase letter. 3. The password should have at least one digit. Write a program that asks for a password and then verifies that it meets the stated criteria. If it doesn’t, the...
In your own words, how would you know if you are experiencing a sexual problem that...
In your own words, how would you know if you are experiencing a sexual problem that requires professional help? What could you do before seeking such help?
THIS IS A HEALTHCARE CLASS. In your own words, how would you define the term “health”?...
THIS IS A HEALTHCARE CLASS. In your own words, how would you define the term “health”? What do you believe are some strategies to improve someone’s health? Explain your response.  
Describe an event, in your own words, and how would you explain an intersection and complement...
Describe an event, in your own words, and how would you explain an intersection and complement to someone who's never read the chapter introduction to Probability.    Remember your reader has never read about these concepts, how can you explain it to them, provide examples.   The examples can't be from the textbook, create your own.
In your own words and between (100-150 words) explain how might developing a social support program...
In your own words and between (100-150 words) explain how might developing a social support program for fathers with children who have serious health issues help these fathers and, in turn, their children? What sorts of topics might be included in such a program? ***NO PLAGIARISM or COPY AND PASTE FROM ANY RESOURCES PLEASE***
1. In your own words, describe how you would use the activity series provided to you...
1. In your own words, describe how you would use the activity series provided to you in your course to determine that the reaction of calcium with copper (II) nitrate occurs. 2, Calculate the number of moles in a 14.6 g sample of calcium carbonate (CaCO3). calculate the number of calcium atoms in that sample. 3. Calcium carbonate is formed from the reaction of solid calcium oxide with carbon dioxide in the atmosphere. Write the balanced chemical equation to illustrate...
Explain in your own words a concept from Marx that you find interesting. How would you...
Explain in your own words a concept from Marx that you find interesting. How would you use this concept to explain something that you have observed in your life or in society
Explain in your own words how would you inspect a Steering gear or rack and pinion...
Explain in your own words how would you inspect a Steering gear or rack and pinion power steering system leak? Name as many causes for leaks that you can think of. Thank you in advance!
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT