ADAPTIVE SOFTWARE DEVELOPMENT Group 1 GROUP MEMBERS • Sadia Nadeem 2020-CS-03 • Sheikh Hanan Ali 2020-CS-07 • Khadija Azeem 2020-CS-09 • Ali Raza 2020-CS-37 • Fatima Abid 2020-CS-61 • Hamna Rehman 2020-CS-77 • Numan Subhani 2020-CS-80 WHAT IS ADAPTIVE SOFTWARE DEVELOPMENT (ASD)? • Adaptive Software Development is one of the agile methodologies. • Jim Highsmith published Adaptive Software Development in 2000. • Adaptive Software Development is a method to system. • ASD focuses on human collaboration and self- • As with other Aglie methods, ASD is used to make teams more adaptable to changing customer demand, requirements and market needs. FLOW MODEL OF ASD • The framework has three development lifecycle phases: • Speculation • Collaboration • Learning SPECULATION • During this phase project is initiated and planning is conducted. • We get information about the project from the product owner (customer) like project requirements, user needs, customer mission statement, etc, to define set of release cycles that the project wants. COLLABORATION • In this phase that the actual development begins. • In project management, a collaborative environment invites the team to work as one to produce the desired result. • Collaboration or the collaborative environment is the only genuine way through which we can achieve the desired result. LEARNING • The Learn part of the Lifecycle is vital for the success of the project. • Input from customer. • Both, the developers and customers examine their assumptions and use the results of each development cycle to learn the direction of the next. • The team learns : • About product changes • More fundamental changes in underlying assumptions about how the products are being developed WHERE CAN YOU USE ASD? • ASD is beneficial in businesses where the priority is on rapid delivery of products, services, and values. • This process requires consistent improvement of the product features with changing times.. • It follows a user-centric approach that helps design more intuitive software that caters to user needs. • It requires a lot of user involvement, which is tough to achieve. ASD is better suited for single projects. CHARACTERISTICS OF ADAPTIVE SOFTWARE DEVELOPMENT • There are six major characteristics of the ASD lifecycle. • Mission focused • Feature based • Iterative • Timeboxed • Risk driven • Change tolerant • Mission focused: This is important that the project that you overtake guides the mission of the client business. Mission statements are to be guided to encourage exploration and provide boundaries for development instead of a clear direction. With a clear mission statement, it becomes essential for the team to reflect on a solution that earns great results. • Feature based: ASD is a feature-based solution system, it doesn’t revolve around tasks. Features are the functionalities that are developed during the iteration for customer’s priorities. They can evolve after a few iterations and they need to be worked on properly. Documents like user manuals, instruction manuals, etc. are all part of the features. • Iterative: Adaptive Software Development is based on iterative processes. The new features are added in each iteration. It emphasizes successive deliveries to get feedbacks and add new features . • Timeboxed: Time boxed in the ASD process refers not to use time deadlines incorrectly rather it is about setting fixed delivery times for iterations and projects. • Risk Driven: In Adaptive Software Development, in each iteration new challenges come and the process aims to solve high-risk items/activities quickly. So in this, the adaptive iterations are identified and analyzed with critical risks and also evaluated as well. • Change tolerant: As we discussed Adaptive Software Development is based on constant change, re-evaluation, and evolving products with lightweight planning and continuous learning. So this process takes continuous changes as an advantage and welcomes it. It does not make changes as problems rather it takes the changes as new challenges. WHAT ARE THE STRENGTH AND WEAKNESS OF ASD? • ASD strength include: • Focused on the end users, which can lead to better and more intuitive products • Allows for on-time and even early delivery • Encourages more transparency between developers and clients • ASD’s weaknesses include: • Demands extensive user involvement, which can be difficult to facilitate • Integrates testing into every stage, which can add to a project’s costs • Emphasis on rapid iterating and continuous feedback can lead to scope creep. COMPARISON OF ASD WITH XP AND SCRUM Adaptive software Development Extreme Programming Scrum •> A culture of adaption,Mission driven, Encourage Collaboration,Time Boxing. •> Customer Driven Development, Daily Builds,Max 2 weeks for one increment. •> Independent,Self orginizg, Self managing team, 30 days cycle. •> Organization surve the purpose of adaptive system which encourage planning or determinaton. •> Refactoring- The system gets constantly redesigned to accommodate change and to improve responsiveness. •> Replacing old way of defined and repeatable software development with the new product development view of Scrum. CONT….. ASD XP Scrum ASD has more to do with concepts and culture over actual software development. Less importance or Though there is a attention to overall view detailed specification and management. for the seamless execution of 30-day cycle, integration and acceptance tests are not detailed. ADAPTIVE SOFTWARE DEVELOPMENT PROS AND CONS Pros (Advantages) Some advantages of Adaptive Software Development : • Useful for rapid and complex software product development. • Easy software incremental adjustment • Focus on end-users, meeting requirements, and fulfilling demands • Allows on-time delivery with maximum customer satisfaction CONT….. • Provides high transparency between developers and clients. • Reduced vulnerabilities and bugs as undergoes multiple testing. CONS Cons(Disadvantages) Some disadvantages of Adaptive Software Development : • Working in an uncertain environment is challenging • Proceeding only with mission needs broad exploration and constant focus • Requires high user/client involvement • Requires testing into each iteration which increases the cost CONT….. • Frequent changes undergo with less documentation • Requires strict time commitment between different teams involved in project CONCLUSION • To sum it all up, the ASD Model is an ideal methodology for the development of complex software and systems . • One of the benefits of an ASD Model is its change-oriented lifecycle which allows teams to explore and deviate from plans without fear of failing, since things can be easily changed anytime throughout the developmentprocess. • This also provides high transparency between developers and clients due to the constant communication process that is encouraged by the ASD Model • one of its drawbacks is less documentation that create problem for new team member. THE END😀 Kaliza cool hua🙂❤