- Published: September 15, 2022
- Updated: September 15, 2022
- University / College: The Australian National University
- Language: English
- Downloads: 42
Critically evaluate two different methodologies that could be used to develop a web application (at least one of these methodologies should follow an agile approach). Justify the selection of one particular methodology for developing the online web applicationTable of Contents
LIST OF FIGURES
INTRODUCTION
A system development methodology or software development methodology in information system is a framework that is used to control, design, and program the method of developing the online web application. There are the following software and system methodologies: Agile Software DevelopmentRapid Application Development (RAD)Extreme Programming (XP)Systems Development Life Cycle (SDLC)WaterfallJoint Application Development (JAD)SpiralFeature Driven Development (FDD)Lean Development (LD)ScrumDynamic Systems Development Model (DSDM)However, this report focuses only two methodologies of software and system development methodology and their specific techniques and best practice.
MAIN BODY
Extreme Programming (XP)
Extreme programming is a type of agile programming approach and it’s the best-known and most broadly used agile programming approach. Extreme programming concept is simple but effective and it is proposed to get better software quality. It combines the entire team in a single thread, creates communication and gives feedback. It can handle complex project in a unique way making it simpler. Four stages of extreme programming are:
Planning:
User requirements are listed and reviewed. Scheduling iterations and planning to execute them after finished. Measures project velocity.
Designing:
Design in a simple way. Check designs after every session. Produce spike solutions to reduce risk.
Coding:
Code written in a agreed format. Unit test every code. Integrate one pair of code at a time. Re-evaluate product blocks by customer.
Testing:
Unit testing, acceptance testing are done before product release.(Human, 2005)Figure : Rhythms of Agile Programming Approach (Human, 2005)
Advantages of Extreme Programming (XP)
Customer involvement is prior. Combines a team to work properly. Rational planning as iterations is scheduled. Emphasis on quality than quantity. Uses most modern development methods. Redesign and refactoring ensures final product is bug freeImpressive testing to remove bugs. Can redo any step at any time.(Brodie, 2006)
Disadvantages of Extreme Programming (XP)
Coding gets more priority than designing. Documentation of design is very limited. Engineers cannot review structure of the software exclusively. No-data gathering guidance. Regular customer feedback slows down the process of development.(Brodie, 2006)
Rapid Application Development
James Martin, first to used the term ” Rapid Application Development” in his book. Rapid Application Development is a software development life cycle which makes development faster and helps in producing high quality product. Rapid Application Development has four essential aspects:
Methodology:
Integrating finest existing techniques and specifying sequence of the tasks, using workshops, selecting set of Case tools to support production or modelling, helping developer team to quickly build the core of the product, explaining pitfalls to avoid are one of the main aspects of Rapid Application Development.
People:
Sponsor, User Coordinator, Requirement Planning Team, User Design Tem, User Review Board, Training Management, Project Management, Construction Team, Workshop Leaders are the main actors in this process.
Management:
Team work and managing the entire team is one of the main aspects of Rapid Application Development.
Tools:
The Rapid Application Development method uses both computerized tools and human techniques to achieve the goal of high-speed and high-quality production. Selecting right tools and utilise them properly is essential.(Schwaber, 1996)
Stages of Rapid Application Development:
Requirement PlanningUser DesignConstructionImplementation(McConnell, 1996)Figure : Stages of Rapid Application Development (McConnell, 1996)
Advantages of Rapid Application Development:
Reduced development cost. Produces high-quality software. Helps in future maintenance. Acts as a catalyst and accelerates development. Ensures greater customer satisfaction. Gives the user to fine-tune their requirements and review the resulting product. More formalized process so helps in handling complexity of big projects. Use of CASE tools makes software development easier. Any programming language can be used. Provides framework and functional tools for better production.(McConnell, 1996)
Disadvantages of Rapid Application Development:
It produces series of prototypes in each stage. These prototypes may not finalize into a satisfactory product. CASE tools are not very flexible, robust.(McConnell, 1996)
Project Requirement
RAD
XP (Agile approach)
Requirement is stableYesNoUse of database or active directoryYesNoEach Stage need testingNoYesDeadline shortYesYesLarge and complex projectYesYesUse of Object-oriented ProgrammingYesYesNeeds relationship diagramYesNoFlexibleYesYesIndividual ProjectYesNo
Table: Comparison of RAD & XP
CONCLUSION
In view of the fact that today’s endeavour result are complex according to the fast change in business requirements. The so-called agile approaches which are flexible to alter, rapid and quick to respond are well suit to the system and software development tasks. However, business requirements to consider which agile methods are useful for the business or some particular tasks and assignments. The business can choose different agile development methods for different tasks or just modify any features that corespond the condition of the business and the projects.