This action might not be possible to undo. Are you sure you want to continue?
cvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopasdfghj klzxcvbnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc
Scope, Lifecycle, Milestones, Challenges
Page | 1
Background Study 3.3. Reduction of Features 4.1. Appendix Page | 2 .1.1.1. Increased Quality 188.8.131.52.1.1.1. 3. Reduced Development Time 184.108.40.206.1. Tools 220.127.116.11.6.3.5. Bias towards System Needs 3.CONTENTS 1. Synopsis 2. 3. Conclusion 5. Scope 18.104.22.168.1.2. 3.1. People 3.1. 3.1. Introduction 3.4. Rapid Application Development Milestones 22.214.171.124.1.3.2. Scalability Reduction 3.3.4. Less Costs 3.3. 3. Methodology 3.2.4. References 6. Rapid Application Development Challenges 3. High Flexibility 3.2. 3. Development Techniques Prototyping Workshops Development Tools Time-boxing Active Customer Participation RAD Lifecycle 4 5 6 6 6 6 6 7 7 7 7 8 9 9 10 10 10 10 10 11 11 11 11 11 12 13 14 3. Management 126.96.36.199.1.
lifecycle. Severson (2006) states that a method of this type provides a framework that gives guidelines as to how the software development process can be optimized. milestones and challenges that are associated with IT projects which use the RAD methodology. Keeping in mind the three (quality. the discussion attempts to clearly define the scope. time). In that respect. software requirements continue to evolve and are becoming more complex with each day that passes. Moreover. expenditure and the time-frame allocated towards the development of a particular software product. Precisely. cost. This is because users worldwide have now particularly become more demanding when it comes to quality. the software development process can be optimized by adopting a sound software development method such as Rapid Application Development (RAD). the ultimate objective of this discussion is to deliberate on RAD.1. SYNOPSIS The process of developing a software system is very complex and demands a considerable amount of time to be invested. Page | 3 .
thus RAD is a continuous developmental process (Futrell et al. INTRODUCTION Hughes and Cotterell (2006) define RAD as an object oriented. developers should swiftly move on to start creating a fully operational model (prototype) of the intended system. 2006). What actually happens is that the users get a chance to examine the model at the earliest possible time and establish if the system meets their requirements. various developmental practices and development tools in an effort to create high quality systems within a fixed space of time. new and existing project management strategies. This process is done iteratively until the developers and clients agree on a final solution. the RAD methodology dictates that as soon as the requirements gathering process is completed. team-based software development method that fuses customers. It was introduced by IBM during the 1980s and its ultimate goal is cutting down on time and costs incurred in a project by ensuring constant customer participation in all stages of the system development lifecycle. The feedback that the customers provide is used in the amendment and enhancement of the prototype with the aim of refining the prototype to produce a deliverable that will cater to as much customer requirements as possible. In essence. Page | 4 .2. The model is then used as a demonstration tool to the users and also serves to solicit feedback from customers about the system.
faster and at less cost.1.1 Development Techniques RAD merges the finest techniques available and also dictates how best those techniques can effectively be used to achieve optimum results in systems development. 3. Prototypes play a pivotal role in ensuring that the customer¶s expectations are met before a solution is finalized.1 Scope RAD is aimed at producing high quality software in a reasonably short space of time (normally between 2 .1.1. 3. people.1. Page | 5 . 1999). create a fully functional model and then discusses the model with the customer. 2002). According to Severson (2006). The essentials of this methodology will be discussed throughout this document and they include the following: 3. For example concepts like iteratively developing systems and prototyping have been inherited from other methodologies such as the spiral model of development.6 months).1. RAD has four elementary characteristics which include methodology. What actually happens is that developers carry out investigations. RAD addresses these challenges by providing a methodology that makes it possible to speed up the development time whilst not compromising on quality and cost. To achieve this. BACKGROUND STUDY 3. 1999). management and tools as illustrated in appendix 1 (Beynon-Davies et al. Refinements are then made and more reviews take place until an agreement is reached about the final solution (Fitzgerald et al.1 Methodology The ultimate challenge facing most organizations that develop software is being able to produce high quality software.2 Prototyping RAD is heavily dependent on incremental prototyping methods that in the end produce a final product. RAD goes further to put more emphasis on shorter time-frames and reducing costs and increasing quality (Beynon-Davies et al. processes and guidelines have been formulated to help provide a standard and systematic approach to rapid software development.3. However.
5 Time-boxing RAD allows the rapid construction of systems through a technique called time-boxing. A time-box can simply be defined as a deadline for delivering the final working deliverable.1. RAD uses Joint Application Development (JAD) workshops as a means of collecting requirements and design review feedback. instead of extending the deadline to allow more time for the project. the creation of prototypes.4 Development Tools It goes without saying that RAD heavily relies on Computer Aided Software Engineering (CASE) tools to speed-up the activities that involve tasks like system modeling.6 Active Customer Participation Traditional approaches to software development like the waterfall model compromised the issue of user involvement during the process of developing a software system.1. However the RAD approach views the aspect of active customer participation as a basic necessity for successfully completing a project. What this means is that. during a project. 2002). The workshops are however not limited to the requirements planning phase only and is therefore used in the various stages of the project lifecycle (Fitzgerald et al. The reasons for this perspective include practical reasons (for example reducing costs associated with eliciting requirements) Page | 6 . and the provision for support of features like re-use of code. requirements are reduced so that the project fits into the specified time-box (Fitzgerald et al.1. 3. 2002).1.1.1. the customer. key users and developers lock themselves into discussions. more priority is given to developmental activities and in the event that the project starts to lag behind.3. Therefore a right selection of these modern tools like Database Management Systems (DBMS) and GUI builders is very important in the successful completion of RAD projects (Fitzgerald et al. requirements are reduced so that the project activities do not go beyond the stated deadline. 2002). 3. In short.1. During such workshops. 3.1.3 Workshops Traditional methods of development used methods like interviewing to gather requirements. and establish the requirements and the scope of the system.
Appendix 2 illustrates the interaction amongst the phases. The purpose of the meetings is to scope the project as well as capturing the initial high level requirements for the intended system. Thus the structure of the lifecycle is crafted to make sure that the end product of a project caters for almost all the users¶ needs. It is characterized by intensive meetings between key customers and a team responsible for planning requirements. 1999).1. suggest modifications and eventually accept a functional model that addresses their business requirements (Beynon-Davies et al. models and prototypes are developed to capture critical processes involved in the system. an interaction between users and system analysts happens through JAD workshops. It compresses the detailed design. 1999). user description. The phase typically lasts between 1 ± 4 weeks and its end result is a number of action diagrams which explicitly define the relationships that exist between business processes and other data elements.7 RAD Lifecycle According to Aggarwal and Singh (2008). 2006). Structured tools like Microsoft Visio may be used in this phase for requirements modeling purposes (Beynon-Davies et al. This stage is very crucial because it allows the users a chance to understand the system through a working prototype. RAD has a lifecycle that a software development organization can follow to develop their products. coding and testing stages that are found in the waterfall model into this one phase. 3. User Design In this Functional Design phase.and opinionated reasons (for example customers may not accept a system that is developed without their constant contribution) (Hughes and Cotterell. However.1. Requirements Planning This phase is also referred to as the Concept Definition phase. Construction This is the phase that focuses on developing the actual system. It consists of four phases which are namely requirements planning. During the workshops. construction and cut over. unlike in other SDLC models. RAD dictates that users must Page | 7 .
Therefore a sound administrative system is needed to oversee the project from conception to completion. workshop manager. they should ensure that everyone involved understands the RAD methodology and hence adapt to the new culture that comes with the methodology. For example. the users continue to post their suggestions at the same time the system is being developed. and training of users (Beynon-Davies et al. Therefore.1. RAD commands that the people involved in projects should be well trained and greatly motivated. Cut over This is the final stage of the lifecycle. 3. Page | 8 . Once a product is developed. it is released to the user so as to gather feedback on how best to refine the system (Beynon-Davies et al. To achieve this. warrant success. and construction team. The activities involved in this stage are analogous to those of the implementation phase of the SDLC.3 Management It is very difficult to rapidly develop and deploy a system if there are administrative obstacles hindering the smooth flow of a project. 1999). project manager. However exceptional these tools can be. requirements planning team. 1999). 1999). they cannot on their own.1.2 People RAD is dependent on exceptional tools to achieve rapid system development. Some of the activities involved are acceptance tests by users. installing the system. those involved in the management of the project must be fully dedicated to RAD. They should ensure that all stakeholders involved in the project play their roles to the best of their abilities. 2002). Most importantly. training manager.continue their participation throughout the entire project. Most importantly they must be able to work as part of a team and complement other members¶ skills (Fitzgerald et al. They require people with the right skill-set and the ability to use these tools to achieve optimum results in projects. 3. Therefore. The key stakeholders in RAD projects include sponsors. members should be intensively trained on how to use tools so as to gain the much needed experience in RAD (Beynon-Davies et al. user design team.
it is undoubtedly clear that RAD employs computer-based tools and people to meet the objective of high quality products at high speeds.2 Rapid Application Development Milestones 3.1 Reduced Development Time The use of power tools ensures that a system is developed faster and thereby reducing the product cycle time. 2002). This greatly reduces the time consumed by these activities and thereby speeding up the development.2.2.3. 3.3 Increased Quality Constant customer participation increases the chances of producing a product that satisfies almost all the requirements of the customer. This means that the system is delivered to the customer in a lesser time-frame compared to the other development models like the waterfall model. UML diagrams) and directly generate code based on those models instead of hard coding (Beynon-Davies et al. These tools play a pivotal role in eradicating some problems that exist in other models of software development. RAD. Page | 9 . This resultantly brings business value to the customer (Futrell et al.4 Tools At this point in the discussion. The tools help in ensuring that repetitive tasks like code generation and project documentation are automated. CASE tools can be used to develop models (using e. Examples of tools that can be used in RAD projects are CASE tools. coupled with a reduction in the development time means less expenditure for the customer (Hughes and Cotterell. fewer developers (typically 2 ± 6) are needed to work on a RAD project. 3. For example. 1999). 3. That in-turn means that the risks of developing a system that does not bring business value are greatly reduced and hence a product of highest quality is produced (Severson.1.2. 2006). Therefore this reduction in the number of developers. 2006).g. primarily depends on the type of tools used in a project to determine the success of that project.2 Less Costs Since project teams consist of members who are skilled and experienced in their project domain. however.
4 High Flexibility By virtue of being able to build prototypes as early as possible in the RAD lifecycle. 2002). RAD focuses on developing prototypes that are refined iteratively to end up becoming a fully functional system. 2002).3 Reduction of Features As noted earlier in the discussion. 3. it is possible to make amendments to the system at an earlier stage of development.3 Rapid Application Development Challenges 3.3.3. 2006). Page | 10 .2 Scalability Reduction As previously noted. 3. time-boxing sacrifices certain application features in place of producing a deliverable within the specified time-box.3. 2006).2. This means that RAD has the likelihood to produce an application that has fewer features when compared to a product which is developed using some traditional methods like the spiral model (Severson. The problem with this approach is that a product developed in this fashion may lack the scalability that exists on a system that was developed from start as a full application using traditional methods like waterfall model (Severson. 3.1 Bias towards System Needs RAD places more emphasis on the dynamics of the system only and it fails to address needs at the business level. Most importantly early prototyping and demonstration ensure that the final deliverable meets almost all specified requirements (Futrell et al.3. It is also possible to stop and abort development in the case of a system that is unworkable. The disadvantage of this is the higher risk of producing a functional system which is capable of serving the business in the short term and fail to address the long-term goals of the system (Futrell et al.
Amongst these challenges are the fact that it tends to lean too much on emphasizing more on delivery deadlines and then compromising on other features that could have been added if there was not a deadline set. it can be noted that the advantages of RAD outweigh the disadvantages and hence that means RAD has successfully met its objective to create quality systems. people. It has also been successful in encouraging the involvement of customers in the entire process of its development lifecycle. Having said all that.4. CONCLUSION The conclusions emanating from the findings of this deliberation are suggestive of the fact that Rapid Application Development has brought about a new dimension in the software system development. This proves advantages in many respects but most importantly this improves the development process by ensuring full acceptance from the customer whilst the system is still being created. Page | 11 . management and high-tech computer-aided tools. The main points to be noted include the following: RAD has successfully achieved the objective of reducing costs on projects whilst not compromising on quality by effectively reducing the project time-frame and the number of people involved in such project. RAD has also proven to have challenges. RAD has also demonstrated strength in being able to speed up the development process by appropriately fusing its methodology. faster and at minimum cost.
Software Engineering. Rapid Application Development: Race against the Clock [http://www.. E. Quality Software Project Management. New Delhi: Tata McGraw-Hill Publishing Company Severson. (2006).atmel. 3rd Ed. R.uk/ejis] 1999.5. Y. et al (2002). 4th Ed. Accessed 19/09/2010 Fitzgerald. New Delhi: McGraw-Hill. M. REFERENCES Aggarwal. Rapid Application Development (RAD): an empirical review [http://www. B. Futrell. N.co. B.stockton-press.. (2002).com] 2006. Russo. and Singh. K. K... (2008). New Delhi: Pearson Education Hughes. T. and Stolterman. Software Project Management. Information System Development Method in Action. Low Price Ed. New Delhi: New Age International Publishers Beynon-Davies. R. Accessed 17/09/2010 Page | 12 . et al.. and Cotterell. P.
1999) Page | 13 . 1999) APPENDIX 2 RAD Lifecycle Phases (Courtesy of Beynon-Davies et al.APPENDIX 1 Typical Design Structure for RAD (Courtesy of Beynon-Davies et al.