Evolutionary Software Development(ESD) Premkumar.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Information technology solutions development Fundamentals of Information Technology Session 3.
Prescriptive Process models
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
1 Software Processes Name:Wassim Jamal Salem ID: Name:m3taz El Dweak ID:
CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
©Brooks/Cole, 2003 Chapter 10 Software Engineering.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Sommerville, I., Software Engineering, Pearson, 9th Ed., 2010.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
CS CS 5150 Software Engineering Lecture 5 by Stephen Purpura Matching Process to Risk.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Iterative development and The Unified process
COMP 350: Object Oriented Analysis and Design Lecture 2
CSE Senior Design II Staged Delivery Instructor: Mike O’Dell.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Project phases and the life cycle
Software Life Cycle Model
CSI315 Web Technology and Applications
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
Building the case for change Workforce Academy. Building blocks of change establishing the case for change assessing readiness for change building sponsorship.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Engineering Management Lecture 1 The Software Process.
Software Engineering Saeed Akhtar The University of Lahore Lecture 8 Originally shared for: mashhoood.webs.com.
1 SWE Introduction to Software Engineering Lecture 4.
Welcome to Session 3 – Project Management Process Overview
Software Engineering MCS-2 Lecture # 6
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
The Spiral Model Sultana & Mahmood. Systems development life-cycle The process of creating or altering computer systems The models that define the processes.
About OlaTech We create web based custom software applications for businesses.
10 Tips to Leading Teams Jim Allen.
Prototype 3 Prototype 2 Prototype 1 PROTOTYPIN G
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
Software Project Management Iterative Model & Spiral Model.
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
CS223: Software Engineering Lecture 4: Software Development Models.
CS223: Software Engineering Lecture 5: Software Development Models.
CSE Senior Design II Staged Delivery Instructor: Manfred Huber Partially adapted from Mike O’Dell.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering CE 501 Prepared by : Jay Dave.
Certification and Adoption Workgroup HIT Policy Committee April 28, 2014 Discussion on Incremental Rulemakings.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
List 3 – 5 guiding principles that will serve as foundation and guide rails for the project. See slide 4 for further details ObjectivesGuiding PrinciplesKey.
Software Development - Methodologies
Process 4 Hours.
Software Development Life Cycle Waterfall Model
Methodologies and Algorithms
Software Engineering Management
Continuous Delivery- Complete Guide
Methodologies By Akinola Soyinka.
Software Myths Software is easy to change
Documentation in Continuous Delivery Model and DevOps
How to Successfully Implement an Agile Project
Teaching slides Chapter 1.
Software life cycle models
Teaching slides Chapter 13
Presentation transcript:

Evolutionary Software Development(ESD) Premkumar

The Requirements Paradox Requirements must be stable Requirements always change Use a process that can cope with the Requirements paradox You cannot foresee every change but you can forsee change itself

2 nd Requirements Paradox We don’t want requirements to change Because requirements change is a known risk: We must provoke requirements change as early as possible !!

ESD? ESD or Evolutionary Software development is a software lifecycle model,which structures and guides the activities between the initial idea of a product and its final implementation. In this approach the developmental cycle is divided smaller incremental cycles in which the users are able to get access to the product at the end of each cycle.

Alright,but why ESD? To understand why let’s first figure out the traditional and most prominent lifecycle model, the WATERFALL MODEL In this model, the development process is organized as a series of steps from the initial software concept,requirements analysis, etc through implementation and testing. Each phase is separated, reviews are held at the end of each phase to determine whether the next phase of the project can be given the go ahead. However applying the Waterfall model requires a correct and complete understanding of the requirements from the beginning.

How they Compare Software development life cycles a) Waterfall model b) Evolutionary model

..contd The Waterfall Model

.contd The Evolutionary Model

Where ESD scores over Waterfall It addresses the ever present problem of change in requirements by early and ongoing involvement of the user in the development process. Increases visibilty of the management by breaking the project into smaller,more manageable pieces,thus addressing any potential risks effectively Continuous process improvement becomes a more realistic possibility The ability of developers to respond to market changes is increased in ESD because the software is continuously evolving and the development team is thus better positioned to change a feature set or release it earlier.

What does an ESD modelled project demand? Clear vision Project planning Select manage users Shift management focus Manage builds

When is ESD not required? When requirements are completely clear, nothing will change :: use waterfall Requirements can easily be met with the available resources, within the available time Everybody knows exactly what to do People make no mistakes Customer can wait until you are ready

Conclusion The most salient and consistent benefits of the ESD model have been its ability to get early,accurate well formed feedback from users and the ability to respond to that feedback. Additional advantages have come from the ability to Better fit the product to user needs and market requirements Manage project risk with definition of early cycle content Uncover key issues early and focus attention appropriately Increase the opportunity to hit market windows Accelerate sales cycles with early customer exposure Increase management visibility of project progress Increase product team productivity and motivation.

..Contd major changes in the customer-developer relationship can result in customer demand for more input and involvement in product definition and design. Since many software developers are no longer primary users of their products, they now need to be able to understand the Primary users’ needs, skill levels, and motivations. Numerous organisations worldwide have recognised ESD for its benefits and have been adopting it with great success..

Thank you