Development Methodologies Software
The emergence of technology has led to a huge advancement in software technologies. However, it is important to indicate that these advancements come with challenges and software development methodologies come in to fill these inherent gaps and hitches. The multi-dimensional approach towards combating technological challenges incorporates the concept of software technologies. Moving to the inherent challenges, it is important to indicate that the emerging technological challenges such cyber-terrorism and hacking requires a comprehensive approach towards coming up with sustainable solutions. The need to enhance system software requires up to date software development methodologies and hence the need to invest in the same. However, it is important to indicate that more than efficient system software there is need for goodwill and determination to combat the inherent challenges, as they are experienced in the modern society. For that reason, other than efficient and software development methodologies more needs to be done to ensure security and effectiveness of software systems. In the current world, software projects possess a huge dimension consisting of a broad range of approaches, high risk, and small resources. Moreover, with the continued advancement of technologies, software development has become a common and essential activity, and thus it is necessary for an organization to select the most effective approach that suits their operations. As such, the report will provide an analysis of various software development methodologies comprising of the contrasts and comparisons of all the frameworks. It will also present a high-level review of each model taking into account the weaknesses and strengths. In addition, an overview of the numerous project management work phases, including initiation, planning, execution, monitor and control, and closure, for each approach will also be provided. Finally, the applicability of the various software development methodologies in the games industry will be portrayed.
Software Development Methodologies
1.1 Context
The current world is seeing a constant increment of the importance of software, and as a result, there is a rise in the need for extensive software development projects. Also, over the years, software development has evolved significantly, and various frameworks have been presented. Moreover, the market has become quite competitive, and therefore, there is a need for the deliverance of a quality software product, at the least cost and time possible to ensure the enhanced competitiveness of the client organization. However, despite that the number of software development methodologies have grown, each approach has its own benefits and shortcomings. In addition, the selection of the framework to be utilized determines the way that the operations teams ought to be organized and manners of coordination of activities for the provision of an efficient guideline for the achievement of the set goals. Furthermore, in case of scarce resources, the selection of an ineffective development approach can result in the death of a project. As such, selection of the proper methodology before the commencement of a project is crucial.
1.2 Purpose of Report
The given report aims to provide numerous methodologies involved in software development and select the most appropriate in the games industry. In addition, there will be a systematic review of the existing literature showing each software development methodology, its shortcomings, and strengths. Furthermore, the primary goal is the provision of a framework that evaluates the various software development methodologies and provides a detailed comparison of the approaches as well as the most applicable in the games industry. Therefore, the numerous project development activities involved in every methodology will also be provided for selection of the most appropriate depending on the proposed software characteristics. Ultimately, the five most applicable methodologies in the games industry will be presented accompanied by their scope of use, strengths and weaknesses, adaptation and experiences, practices, roles and responsibilities, and processes involved.
1.3 Structure of the Report
The introduction comprises of an overview of the current situation regarding software development methodologies. A brief discussion about the objectives of the report as well as its structure are also presented. Literature review. In herein segment, a detailed evolution of the software development methodologies, their classifications and importance will be provided. A justification behind the selection of five certain approaches will also be discussed as well as their applicability in the games industry. Also, a comprehensive discussion of the scope of use, strengths and weaknesses, adaptation and experiences, practices, roles and responsibilities, and processes involved in each methodology will be included. Methodology comparison. A thorough comparison of the various software development methodologies presented in the literature review part, including the contrasts and similarities will be provided in the section.
Discussion about the project. The part will comprise of the discussion of various activities including the project planning, team members involved, environment, and purpose. Moreover, an explanation of how the software qualities like productivity, interoperability, re-usability, maintainability, variability, user friendliness, performance, robustness, reliability, and correctness will be ensured will also be available in the section. The proposed methodology. The segment will consist of a well-researched and clear justification of selecting the most appropriate framework that can best suit the project. Also, there will be provision of a comprehensive description of the roles and responsibilities, development lifecycles, and tasks involved in the pre-production, production, and post production phases as well as means of ensuring quality assurance. Conclusion will be the final chapter comprising of a wrap up of the work done, mentioning the shortcomings and benefits of the selected software development methodology.
2.0 Literature Review
2.1 The History of Software Development Methodologies
Various software development models were used from four decades ago. However, the early versions of software development methodologies comprised of design processes, which were predictable and deterministic given that the work conditions were not changing as rapidly as they are currently. Nonetheless, the explicit frameworks of software evolution involving large projects are traced back to the 1950s and the 1960s. They include models such as the code and fix and stagewise process models. Moreover, these traditional models were designed with the aim of provision of a conceptual tactic for logical management of the creation of software systems (Marciniak 2001, p.5). As such, they could be utilized in the directing, budgeting, coordinating, staffing, organizing, and planning software development activities. However, it has also been stated that the advancement of software development approaches stemmed from the problems of ad hoc programming (Vohra and Singh 2013, p.23). The ad hoc programming at first resulted in the plan-driven models followed by the iterative change-driven approaches of software development.
2.1.1 The plan-driven models for software development
These approaches were also termed as traditional process models, code-driven, and document-driven frameworks. Moreover, a common feature between these models was their focus on defining of the costs, schedule, and scope of the project candidly (Vohra and Singh 2013, p.23). An example of traditional approaches is the code-and-fix software process model which consisted of two developmental phases. However, the framework brought about difficulties that required correct sequencing of the stages of software development; specifically the need to design before coding, the need for early preparation for modification and testing, and to outline the requirements before design. In the middle of 1950s, the stagewise model was created in an attempt to handle the various challenges associated with the code-and-fix process. Besides, the model was designed through the continuous improvement of high-level system specifications into source code components (Marciniak 2001, p.6). It progressed from the difficulties generated by the increment of software program sizes, which proved challenging to one programmer. For settlement of the issue, a software engineering conference was held in Germany in 1968, which focused on factors like development practices, costs, and quality. Afterward, the waterfall model was introduced in 1970, which evolved into a theory comprising of the sequential stages of requirements analysis, design, and development (Vohra and Singh 2013, p.23). Furthermore, it was an improvement of the stage wise framework for it brought about prototyping to match the design and requirements analysis phases as well as ensured the provision of feedback loops between the consecutive steps. Also, the waterfall approach introduced the need for the building of a pilot model of a system at the initial stages project development. The pilot model involves the carrying out of two cycles of development and collection of feedback for adjustment of the framework.
2.1.2 Iterative change-driven models
Another version of the traditional software development methodologies is the incremental development and release process, which entailed the creation of software through the provision of the fundamental operating functions at the initiation of a project. It also consisted of one primary modification to the earlier models that is it involved the adoption of the incremental and iterative techniques. The latter approach refers to the overall lifecycle framework in which software is created in several iterations in a series, and the testing, implementation, design, and requirement analysis activities are carried out in every iteration (Vohra and Singh 2013, p.24). Provision of system users with enhanced versions of a system at systematic intervals then follows. The mentioned approach also supports a concept regarding the regular distribution of software maintenance services and updates to the users living in scattered communities, which led to the acceptance of the stipulation for standard software maintenance contracts (Marciniak 2001, p.7). As such, it became significant, and their usage grew in system vendors and commercial software firms.
The Iterative and Increment Development (IID) framework is dated back to early 1980s whereby the first approach, the evolutionary model, was designed (Larman and Basili 2003, p.53). The evolutionary model concentrated on the increment of the likelihood of ascertaining product improvements throughout the development procedure. In the late 1980s, the spiral model followed comprising of four iteratively recurring phases. These steps started with the determination of the constraints, alternatives, and objectives followed by the assessment of alternatives as well as the recognition and resolving of risks. The verification and development, as well as the planning of the next phase, then occurs. In the mid-1990s, the agile software development methodologies were introduced (Rai and Dhir 2014, p.1114). Its first model is the Extreme Programming (XP) which intended to merge the activities of testing, implementation, design, and analysis. Other frameworks including the Adaptive Software Development (ASD), Feature-Driven Development (FDD), Crystal Family of Methodologies, eXtreme testing, Dynamic Systems Development Method (DSDM), and Scrum also emerged in the mid-1990s. Moreover, in 2001, the agile “movement” was initiated whereby the numerous practitioners and originators of the various methodologies were required to find out the common features of the frameworks (Rai and Dhir 2014, p.1114). Accordingly, the Manifesto for Agile Software Development was written, and the term “agile” was selected for a combination of the techniques and methods that would share the principles and values of the agile approach (Melo et al. 2013, p.524).
2.2 Applicable Software Development Methodologies in the Games Industry
There are numerous software development methodologies which are utilized in the current world. However, in the report, only five approaches will be focused on, including the waterfall, scrum, Test Driven Development (TDD), Extreme Programming, and Rapid Application Development (RAD) models.
2.2.1 The waterfall model
The waterfall approach is a software development model that is based on following a subsequent cycle of phases with deliverables and particular activities undertaken at each step (Saxena and Upadhyay 2016, p.1012). The phases in the framework include requirements, design, coding or implementation, testing, and maintenance. Moreover, the traditional waterfall required the completion of one stage before moving to the next (Liviu 2014, p.41). However, there are other models which have modified some of the aspects of the traditional waterfall framework. They include the Royce’s modified, the sashimi, and the incremental waterfall models.
2.2.1.1 Requirements phase
The stage occurs after a proper understanding of the problem and realization of the best solution. It involves defining the goals of the solution through outlining of the technical and functional requirements of the project. Moreover, the output of the phase is a requirement specification document which consists of the stated requirements after revising with the client on the functions of the product. Furthermore, software requirements involve the establishment of the expectations of the software functionality as well as pinpoints the system requirements that will be affected by the proposed program (Munassar and Govardhan 2010, p.96). It also includes determination of the interaction required with other databases and applications user interface and performance requirements, among others. After a thorough requirements analysis, a development team can be provided with the clear definition of the customer’s business constraints and context as well as the tasks that the tasks that the product has to undergo (Bassil 2012, p.743). However, the teams can collect the various data sets of requirements, including, use of cases and customer interviews in numerous means. The obtained analysis is then documented in a formal requirements specification, which is utilized as a basis for the next stage.
2.2.1.2 Design phase
After collection of the requirements, one can easily define the product’s specifications, including the IDE and programming language, security parameters, performance targets, data sets, interfaces, modules, components, software architecture, and hardware requirements. The phase starts with the architectural design whereby the software framework of a system that meets the set requirements is determined. The main components, as well as their interactions, are also laid out on the step, but each component’s structure is not explained. The details design then follows which ensures examination of the stated software components and generates a specification regarding how each one is implemented. Coding, on the other hand, applies the detailed design specifications.
2.2.1.3 Implementation
The phase comprises of the actual construction of the product based on the design specifications created in the previous section (Bassil 2012, p.743). The stage is conducted by a development team comprising of interface designers, programmers, among other specialists, through utilization of tools like media editors, interpreters, debuggers, and compilers. Moreover, the output of this step is single or multiple product components, designed based on a pre-defined coding standard, which is integrated, tested, and debugged for compliance with the system architecture requirements. Nonetheless, for projects consisting of large teams, the most suitable choice is version control for tracking of modifications to the code tree and reversion of the previous snapshots in case of issues.
2.2.1.4 Testing
In this phase, both individual, as well as the completely integrated components, are systematically certified to make sure that they fully meet the requirements identified in the first stage, and they are error-free (Bassil 2012, p.743). Besides, the software is tested in its proposed operating environment as well as in the system where it ought to be integrated. The output of this stage should be usable and be shown to the users. Therefore, three types of testing take place in this phase, including acceptance testing which is formally undertaken by or on behalf of the client, system testing of the integrated product, and unit testing of individual code modules. In case defects are found, they are logged, and feedback is provided to the implementation for correction purposes. During this step, product documentation, like a user manual, is created, revised, and published.
2.2.1.5 Maintenance
Before this phase, the delivery of the product takes place in stages for reduction of the impact of errors as well as their occurrence. Most times, a controlled experiment is undertaken with a group of users for the provision of the output of the system. The process is referred to as beta testing and ensures that the designed software meets all the required qualities. For complex systems, the users are trained by the developers on how to handle the product. After this section, in case the product is not reverted to the previous phase, it gets released to the customers. After release, the maintenance step is very significant especially if the requirements change fast and the system has to transform fast as well free (Bassil 2012, p.743. As such, the maintenance stage entails adaptation of the system to the current needs and the correction of missed errors. These alterations come up as a result of defects discovered during the actual use of the system or modifications requested by the customer.
2.2.1.6 The strengths of the waterfall method
The waterfall approach has numerous strengths that software developers. For instance, it is easy to implement and understand (Munassar and Govardhan 2010, p.96). The method is also ideal for supporting of less experienced project managers or teams, or a group whose composition fluctuates. The systematic sequence of development phases as well as the strict controls for making sure the suitability of the design reviews and documentation thus ensuring the maintainability, reliability, and quality of the developed software (Saxena and Upadhyay 2016, p.1013). The division the activities into phases ensures that the progress of the system development is measurable. The use of waterfall approach also guarantees the conservation of resources (Balaji and Murugaiyan 2012, p.27). Also, in this model, the output is produced after every step hence giving the project manager and the client a feeling that there is significant progress. Moreover, feedback from each phase supports flexibility. The sequential development method also enforces discipline for every stage has a definite end point and a start. Also, the emphasis on design and requirements prior to coding ensures mitigation of wastage of effort and time as well as decreases the risk of not meeting customer expectations or schedule slippage. The waterfall development methodology also supports efficiency in knowledge transfer especially if the team members are situated in different geographical locations. Also, the stressing on the first two phases ensures the improvement of quality given that detection and correction of possible errors can occur at the early stages (Balaji and Murugaiyan 2012, p.27).
2.2.1.7 The weaknesses of the waterfall method
Despite having several advantages, the waterfall approach has also seen a number of criticisms based on its shortcomings. Some of the critics point out that the method is too rigid and most of the users do not recognize the requirements until the later stages of development and thus the approach ought not to waste a lot of time in the pre-coding steps (Saxena and Upadhyay 2016, p.1013). Also, given that the software is delivered in the late stages of development, there can be delays in detection of serious flaws. As such, if the software is in the testing phase, going back and modifying something that was not correctly carried out in the concept step can be quite difficult (Saxena and Upadhyay 2016, p.1013). The technique also possesses high amounts of uncertainty and risks, particularly if involving large projects (Jindal, Gulati and Rohilla 2015, p.164). The waterfall tactic is also not suitable for projects with moderate to high risk of changing requirements as well as for long and ongoing or complex and object-oriented projects.2.2.2
The Rapid Application Development
Rapid Application Development (RAD) refers to a software development life cycle created for the provision of higher quality systems and faster software development progress compared to traditional approaches (Naz and Khan 2015, p.6). The term RAD was used for the first time in the 1970s when the traditional lifecycles were rigid and led to the creation of poor quality systems. The discussed technique emphasizes on iterative delivery and rapid prototyping requiring minimum planning thus making it a better choice compared to the normal waterfall model (Naz and Khan 2015, p.6). As such, its primary objectives are low cost, high quality, and high speed. The model also develops high-quality software and at a fast rate due to its ability to re-use software components, and it is a firmly paced schedule that brings forward design improvements to the next product version. Moreover, such an approach is created to take advantage of powerful development software such as code generators, prototyping tools, and CASE tools. Also, RAD is termed as an incremental development approach that is people-centered. As such, co-operation and collaboration between all stakeholders as well as active user involvement are vital. Furthermore, testing is also included throughout the development to ensure that the software is reviewed and tested by both the users and developers incrementally (Daleel 2016, p.11). Therefore, among the most significant techniques that the Rapid Application Methodology utilizes time boxing, iteration, and prototyping.
2.2.2.1 The methodology of RAD
The Rapid Application Development approach accelerates the cycle of development of a software and makes it easy for quality products to be delivered faster hence ensuring saving of valuable resources (Beynon-Davies et al. 2014, p.211). For handling of the current challenges, the RAD has various significant factors such as the model’s ability to implement time-boxed development teams for fast creation of the core of the system and setting up of enhancements in following releases. It also allows for selection of a collection of CASE tools for support of code reusability, prototyping, and modeling along with automation of numerous combinations of strategies (Seema and Malhotra 2012, p.281). The RAD development approach is also based on utilization of workshops rather than interviews in review design and collection of requirements. It also uses evolutionary prototypes that are ultimately changed into the final product (Dhanotia and Goyal 2012, p.109). Moreover, the RAD method is a combination of the best available tactics and permits specification of the series of tasks that can make the strategies most effective. It comprises of four stages including the requirements planning, user design, construction, and the cutover phases.
Requirements planning
The objectives of the phase are to pinpoint the business processes that ought to be supported by the proposed software. The stage also aims at ensuring familiarization with existing systems and instituting a general knowledge of the business problems that surround its ultimate operation and development. The phase starts with a couple of meetings, between the software developers and the business management teams, which commences the development process through setting up of a mutual understanding regarding the proposed system’s objectives. Joint Requirement Planning (JRP) workshops then follow involving the information system professionals, end users, and business executives. At this stage, there is the development of the definition of the project scope and outlining of the system.
User design
The objectives of this phase include preparation of a work plan outlining the steps essential for the transition of the system, the schedule by which the stages can be achieved, and the effort needed for the performance of the steps. It also aims at the development of the system structure based on the manual and automated functions that will be a part of the system. The discussed stage also comprises of the comprehensive evaluation of the business data related to the proposed software. Moreover, thorough analysis of the business activities connected to the proposed system area also occurs. The output of this phase is an implementation plan, an outline system design, and a detailed system area model. Nevertheless, several tasks are conducted at this stage. For instance, there is the production of a comprehensive system area model through JAD workshops which are carried out for completion of the examination of the data and business activities related to the proposed system. An outline system design is then created by the JAD workshop participants through utilization of the completed and verified system area model. A step regarding refinement of system design follows whereby the design that crops up from the JAD workshops is reexamined by the user design team and the project team members. Verification of the consistency of the design and analysis occurs through prototyping and interaction analysis. The latter involves the study of the interactions between data and functions for identification of extraneous data or functions. Confirmation regarding the completeness of the outline system design and the detailed system area model is also conducted in this phase. Upon resolving of inconsistencies, prototypes of screens are generated and presented to the users for revision and analysis, and the list of open issues adjusted. Then, a plan listing all the tasks that ought to be undertaken for the development of the system as well as ways of converting it into operational use, and the implementation strategies are created. Moreover, an estimate of the required effort for completion of each task is also presented alongside an overall project cost estimate. Eventually, the outcomes of the final JAD workshop are integrated into the implementation, and system design plan and authorization regarding advancement to the rapid construction phase is requested.
Rapid construction (RC)
This phase seeks to test, develop, and design the required transition software and conduct the phases essential for the preparation of the system conversion to production status. The rapid construction stage also aims at testing and creation of the software that implements the proposed system as well as ensure generation of a system that functions at a suitable level of performance. It also helps in the production of the documentation significant for the proposed software’s operation as well as ensures completion the comprehensive design of the proposed system. Moreover, this stage commences with the preparation for rapid construction. Finalizing of the development environment is conducted including the CASE software, workspace, and workstations for the system developers. Also, the database is created based on the initial data structure designed in the user design step. Afterward, activities regarding preparation for transition occur. These activities include the development of a thorough contingency plan for coverage of the failure of the converted software and work plan for transition events. Also, there is resolving of the organizational issues connected to the placement of the new software as well as preparation of training materials and the user training plans in this step. Moreover, transition arrangements and procedures are also developed as well as the program required for conversion of data from its existing format to a format that can be utilized by the new software. Upon completion of the preparation for the transition, the system is verified through conduction of multiple tests to ensure that it performs in correspondence with user requirements before entering the transition phase. The transition phase aims at installing the software in product operation with avoidance of interfering with the normal business activities. The developers also try to pinpoint potential future enhancement but at the same time attempting to maximize the effectiveness of the software in the promotion of the proposed business activities. Various activities are also carried out in this phase including management of user training. Training sessions, which end before the software is integrated into production, are carried out for the instruction of the new users on ways of operating the system. These sessions are based on materials and the training plan created during the rapid construction phase. In addition, information regarding the new software’s functionality is transformed from the existing data sources into a format that the new program can access. Once converted, the data is then integrated into the data structures linked to the software and installation of the production system commences.
2.2.2.2 Strengths of Rapid Application Development methodology
RAD technique takes advantage of automated methods and tools for the restructuring of the information systems’ building process (Liviu 2014, p.43). As such, when integrated to the entire information system organization, it can lead to a significant transformation of the information systems development. Also, the approach not only provides fast development time but also ensures that the delivered product is of high quality and its costs efficient (Naz and Khan 2015, p.6).
Bibliography
Balaji, S & Murugaiyan, M 2012, ‘Waterfall vs v-model vs agile: a comparative study on SDLC’. International Journal of Information Technology and Business Management, vol. 2, no. 1, pp.26-30.
Bassil, Y 2012, ‘A simulation model for the waterfall software development life cycle’, International Journal of Engineering and Technology, vol. 2 no. 5, pp.742-750.
Beynon-Davies, P et al. 2014, ‘Rapid application development (RAD): an empirical review’, European Journal of Information Systems, pp.211-223.
Daleel, M 2016, ‘Software engineering development and analysis of life cycle models’, International Journal of Computer Applications, vol. 133, no. 10, pp.9-12.
Dhanotia, S & Goyal, R 2012, ‘Rapid application development (RAD) approach with halt points’, International Journal of Engineering Sciences & Research Technology, vol. 1, no. 3, pp.109-114.
Hneif, M & Ow, S 2009, ‘Review of agile methodologies in software development’, International Journal of Research and Reviews in Applied Sciences, vol. 1, no. 1, pp.1-7.
Flora, H & Chande, S 2014, ‘A systematic study on agile software development methodologies and practices’, International Journal of Computer Science and Information Technologies, vol. 5, no. 3, pp.3626-3637.
Jeldi, N & Chavali, V 2013, ‘Software development using agile methodology using scrum framework’, International Journal of Scientific and Research, vol. 3, no. 4, pp.1-3.
Jindal, S Gulati, P & Rohilla, P 2015, ‘Various software development life cycle models’, Journal of Computer Science and Engineering, vol. 1, no. 4, pp.162-168.
Krishna, R et al. 2011, ‘Survey on extreme programming in software engineering’, International Journal of Computer Trends and Technology, vol. 2, no. 2, pp.21-24.
Kumar, S & Bansal, S 2013, ‘Comparative study of test driven development with traditional techniques’, International Journal of Soft Computing and Engineering, vol. 3, no. 1, pp.352-360.
Larman, C & Basili, V 2003, ‘Iterative and incremental development’, A Brief History, vol. 36, no. 6, pp.47-56.
Liviu, M 2014, ‘Comparative study on software development methodologies’, Database Systems Journal, vol. 3, pp.37-55.
Mahajan, R & Kaur, P 2010, ‘Extreme programming: newly acclaimed agile system development process’, International Journal of Information Technology and Knowledge Management, vol. 3, no. 2, pp.699-705.
Marciniak, J 2001, ‘Process models in software engineering’, in:J Marciniak, Encyclopedia of Software Engineering, Wiley and Sons, Hoboken, pp.1-20.
Melo, C et al. 2013, ‘The evolution of agile software development in Brazil’, Journal of the Brazilian Computer Society, vol. 19, no. 4, pp.523-552.
Munassar, N & Govardhan, A 2010, ‘A comparison between five models of software engineering’, International Journal of Computer Science Issues, vol. 7, no. 5, pp.94-101.
Naz, R & Khan, M 2015, ‘Rapid applications development techniques: a critical review’, International Journal of Software Engineering and Its Applications, vol. 9, no. 11, pp.163-176.
Parsons, D et al. 2011, ‘Test driven development: advancing knowledge by conjecture and confirmation’, Future Internet, vol. 3, pp.281-297.
Permana, P 2015, ‘Scrum method implementation in a software development project management’, International Journal of Advanced Computer Science and Applications, vol. 6, no. 9, pp.198-204.
Rai, P & Dhir, S 2014, ‘Impact of different methodologies in software development process’, International Journal of Computer Science and Information Technologies, vol. 5, no. 2, pp.1112-1116.
Ress, A Moraes, R & Salerno, M 2013, ‘Test-driven development as an innovation value chain’, Journal of Technology Management & Innovation, vol. 8, no. 1, pp.115-123.
Sarker, I et al. 2015, ‘A survey of software development process models in software engineering’, International Journal of Software Engineering and Its Applications, vol. 9, no. 11, pp.55-70.
Saxena, A & Upadhyay, P 2016, ‘Waterfall vs. prototype: comparative study of SDLC’, Imperial Journal of Interdisciplinary Research, vol. 2, no. 6, pp.1012-1015.
Schwaber, K & Sutherland, J 2014, The scrum guide, viewed 30 October 2017, < https://www.scrumguides.org/docs/scrumguide/v1/scrum-guide-us.pdf>.
Seema, K & Malhotra, S 2012, ‘Analysis and tabular comparison of popular SDLC models’, International Journal of Advances in Computing and Information Technology, vol. 1, no. 3, pp.277-285.
Taya, S & Gupta, S 2011, ‘Comparative analysis of software development life cycle models’, International Journal of Computer Science and Technology, vol. 2, no. 4, pp.536-540.
Thakur, D 2017, ‘Rapid application development (RAD) model and its advantages and disadvantages’, E-computer notes, viewed 30 October 2017, http://ecomputernotes.com/software-engineering/rapid-application-development>.
Vohra, P & Singh, A 2013, “A contrast and comparison of modern software process models’, International Journal of Computer Applications, vol. 1, pp.23-26.
Wasmus, H & Gross, H 2007, ‘Evaluation of test-driven development: an industrial case study. Netherlands: software engineering research group’, Delft University of Technology Press, Delft.
Academic levels
Skills
Paper formats
Urgency types
Assignment types
Prices that are easy on your wallet
Our experts are ready to do an excellent job starting at $14.99 per page
We at GrabMyEssay.com
work according to the General Data Protection Regulation (GDPR), which means you have the control over your personal data. All payment transactions go through a secure online payment system, thus your Billing information is not stored, saved or available to the Company in any way. Additionally, we guarantee confidentiality and anonymity all throughout your cooperation with our Company.