StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Agile Methodology for Object-Oriented Software Developmen - Essay Example

Summary
The paper "Agile Methodology for Object-Oriented Software Development" assesses the application of Agile methodology in object-oriented software development. Agile software development refers to a collection of software developmental methodologies whose necessities and resolutions undergo alterations…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER95% of users find it useful

Extract of sample "Agile Methodology for Object-Oriented Software Developmen"

Applying Agile Methodology to Object-Oriented Software Development Name Student ID Course Instructor Date Applying Agile Methodology to Object-Oriented Software Development Introduction Agile software development refers to a collection of software developmental methodologies whose necessities and resolutions undergo alterations through joint efforts of independent joint teams. It offers the opportunity for adaptive management, change in the advance, timely liberation, continues improvement, and supports change (Mohan and Ahlemann 2013, p. 831). It is a theoretical system which constantly delivers minute advancements in the present software. Object oriented analysis and design (OOAD) refers to a common technical strategy used to analyze, apply, design an application framework or business buy use of the object-oriented paradigm and illustrations all through the development life cycles to facilitate proper contact with stakeholder about the product quality. With respect to the standard guide Unified Process, OOAD; in the recent software development is mainly carried out in an incremental manner. This paper seeks to assess the application of Agile methodology to object –oriented software development. An Overview of Agile Development Methodologies: Characteristics, History, Current State, Development, Benefits and Constrains The Agile (light weight) software developmental methodologies was established in the mid-1990s and evolved from the traditional waterfall oriented methodologies which was observed to require heavy regulation, divided, and over-incremental strategies of developmental methods (Vlaanderen et al., 2011, p. 60). The Unified process is the earliest implementation of agile methods followed by Scrum, Adaptive Software Development, Feature Driven Development and Dynamic Systems Development Method. Currently they are collectively referred to as agile methodologies. The Agile manifesto was established in the year 2001 by major software developers. The manifesto facilitated the formation of the Agile Alliance which runs the agile developmental software according to set standards (Chuang et al., 2014, p. 90). The numerous developmental methodologies enhance flexibility, cooperation, and collaboration throughout the software development process. In contrast to traditional software systems, agile development aims at complex systems and projects with non-linear attributes where accurate predictions are not easy at the initial stages. The Agile methodologies are of adaptive nature. ‘Rolling wave’ is a major strategy of adaptive process. It discovers targets but it is very flexible and allows change for even the targets. The advantage of adaptive methodologies is that they aim at easy adaptation of changing factual. Adaptive methodology does not give future predictions. Predictive methodologies offer an early prediction for the future and if the project does not take the path as predicted, it is very difficult to adjust path (Mohan and Ahlemann, 2013, p. 835). In Agile, the testing is normally performed together with coding. Testing process is carried out in minute iterations; it is possible for users to utilize the new software sections for value validation. After determination of the actual value, it is possible to make informed decisions about the future. However, agile methodologies may be ineffectual in huge institutes and various categories of projects. Agile methodologies have proofed best for developmental and non-chronological projects. Hence, many organizations utilize a blend of both agile and sequential approaches. Relevance of Agile to the Unified Process and OOAD in General The Unified Process (UP) refers to a software product engineering procedural system. The UP offers a system for implementation of software product engineering projects. The unified process has proliferated over time as well as the agile software development. In most instances, there are misapprehension between agility and the Unified process. Some researchers classify UP as non-agile and the description of Agile is limited to Agile Alliance and project development. Nevertheless the basis of Agility surpasses the two. The origin of Agile can be traced to philosophy of war the UP is a process system; hence it ought to be modified before it is implemented (Vlaanderen et al., 2011, p. 60). The UP has been applied in Agile for many years and the Agile applied is UP is referred to as Agile Unified Process. In the recent times, however, it has been discovered that UP is applicable in a non-agile system. According to the Unified Process guide OOAD is best carried out in an agile system. Guidelines On How Agile Methodologies Can Be Applied To Object-Oriented Software Development Developers all over the globe work continuously on distinct projects and as the need to meet new requirements arises, the existing applications are enhanced by including new objects, developers, and modules (Barakat, 2013, p. 13). The agile methodologies are applied in OOAD. The different methodologies focus on various aspects of the software development procedure. Several methodologies center on the practice such as the XP, and Agile Modeling while the rest center on software management such as Scrum (Vlaanderen et al., 2011, p. 60). Object oriented design involves the application of implementation restraints to the theoretical model which is achieved through object oriented analysis. Such restrains may include performance needs, effectiveness of the system, hardware and software basis. Object oriented design is the major strategy for applications model. It is the major technique utilized in the OOAD by use of the agile methodologies. Object Oriented Model (OOM) generally separates two features of work; the modeling of dynamic characterization and case use and the development of inert aspects such as category and constituents. The object oriented model utilizes Unified Modeling Language (UML) AND SymsML. Various cases studies have been conducted for instance; the development of Web applications for current communication in an institution. In the past era, Web application development was carried out using conventional methods; the water fall method. The water-fall methodology has experienced various critics due to low efficiency and lack of flexibility. Therefore, the agile system is adopted for the Web application development (Bartsch, 2010, p. 498). The agile system focuses on minute designs, concise developmental schedules, and reduced developmental stages. However, there are authorization rules which guide the changes on of these applications. The AI-based change support algorithm is vital in searching of suitable modification processes regarding to the desired changes offered in the policy (Bartsch, 2010, p. 495). Studies have been conducted in various organizations’ administration to show the efficiency of agile systems in the development of Web application by use of agile system method. It was found out that an agile system is modifiable to suit the needs of the software development, however, the modification of a default system results to a less efficient and chancy software. Challenges Of Improving Software Engineering Practice In Relation To Agile And OOAD And Provide Recommendations Various challenges are encountered in the attempt to adopt agile methodologies and OOAD in various settings such as big organizations (Chuang et al., 2014, p. 84). There is lack of sponsor support is the major challenge that is associated with agile methodology implementation. In organizations, agile is majorly implemented by the software developmental department in the attempt to maximize the company operations. Lack of adequate sponsorship may cause extensive challenges and conflicts from the management team. A project without adequate sponsorship is likely to fail. Another challenge includes the lack of teams that are focused enough. The implementation of agile requires committed and focused teams. If the team is dealing with numerous projects, it will be difficult to implement the agile system. However, it can be achieved with efficient arrangements (Conboy, Coyle, Wang & Pikkarainen, 2011, p. 51). Conclusion This paper discussed the application of Agile methodology to object –oriented software development. The Agile (light weight) software developmental methodologies was established in the mid-1990s and evolved from the traditional waterfall oriented methodologies which was observed to require heavy regulation, divided, and over-incremental strategies of developmental methods. The Agile methodologies enhance flexibility, cooperation, and collaboration throughout the software development process. The Agile methodologies are of adaptive nature and are numerous applied in software development in major areas. However, agile methodologies may be ineffectual in huge institutes and various categories of projects. The Unified Process refers to a software product engineering procedural system. Various challenges are encountered in the attempt to adopt agile methodologies and OOAD in various settings such as big organizations such as lack of sponsorship and committed team. There ought to be an establishment in the Agile system that will favor its application in large organizations. Bibliography Barakat, S. 2013. Agile Programming: as a CMS development Methodology. Innovative Systems Design and Engineering, 4(1), pp. 13-16. Bartsch, S. 2010. Supporting authorization policy modification in agile development of Web applications. In Availability, Reliability, and Security, 2010. ARES'10 International Conference on. pp. 495-500. IEEE. Chuang, S. W., Luor, T. and Lu, H. P. 2014. Assessment of institutions, scholars, and contributions on agile software development (2001–2012). Journal of Systems and Software, 93, pp. 84-101. Conboy, K., Coyle, S., Wang, X., & Pikkarainen, M. 2011. People over process: Key challenges in agile development. Ieee Software, 28(4), pp. 48-57. Mohan, K. and Ahlemann, F. 2013. Understanding acceptance of information system development and management methodologies by actual users: A review and assessment of existing literature. International Journal of Information Management, 33(5), pp. 831-839. Vlaanderen, K., Jansen, S., Brinkkemper, S. and Jaspers, E. 2011. The agile requirements refinery: Applying SCRUM principles to software product management. Information and Software Technology, 53(1), pp. 58-70. Read More
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us