Presentation is loading. Please wait.

Presentation is loading. Please wait.

Current Trends in Systems Develpment

Similar presentations


Presentation on theme: "Current Trends in Systems Develpment"— Presentation transcript:

1 Current Trends in Systems Develpment
Satzinger, Jackson, and Burd Object-Orieneted Analsys & Design Chapter 14

2 Adaptive Approaches to Development
Allow for uncertainty Use empirical controls Describe processes that are variable and unpredictable Monitor progress and make corrections on the fly Share the following characteristics Less emphasis on up-front analysis, design, and documentation More focus on incremental development More user involvement in project teams Reduced detailed planning (used for near-term work phases only) Tightly controlled schedules by fitting work into discrete time boxes More use of small work teams that are self-organizing

3 The Agile Development Philosophy and Modeling
A philosophy and set of guidelines for developing software in an unknown, rapidly changing environment Requires agility - being able to change direction rapidly, even in the middle of a project Agile Modeling A philosophy about how to build models, some of which are formal and detailed and others sketchy and minimal

4 The Agile Development Philosophy and Values
Responding to change over following a plan An agile project is chaordic - both chaotic and ordered Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation

5 Adaptive Methodologies using Agile Modeling

6 Agile Modeling Principles
AM is about doing the right kind of modeling at the right level of detail for the right purposes Use models as a means to an end instead of building models as end deliverables Does not dictate which models to build or how formal to make those models Has basic principles to express attitude that developers should have as they develop software

7 Extreme Programming An adaptive, agile development methodology created in the mid-1990s Extreme programming Takes proven industry best practices and focuses on them intensely Combines those best practices (in their intense form) in a new way to produce a result that is greater than the sum of the parts

8 XP Core Values Communication Simplicity Feedback Courage
In open, frequent verbal discussions Simplicity In designing and implementing solutions Feedback On functionality, requirements, designs, and code Courage In facing choices such as throwing away bad code or standing up to a too-tight schedule

9 Some XP Practices Planning
Users develop a set of stories to describe what the system needs to do Testing Tests are written before solutions are implemented Pair programming Two programmers work together on designing, coding, and testing Refactoring Improving code without changing what it does Owning the code collectively Anyone can modify any piece of code Continuous integration Small pieces of code are integrated into the system daily or more often System metaphor Guides members towards a vision of the system

10 XP Project Activities System-level activities Release-level activities
Occur once during each development project Involve creating user stories to planning releases Release-level activities Cycle multiple times - once for each release Are developed and tested in a period of no more than a few weeks or months Iteration-level activities Code and test a specific functional subset in a few days or weeks

11 Scrum A quick, adaptive, and self-organizing development methodology
Responds to a current situation as rapidly and positively as possible A truly empirical process control approach to developing software

12 Scrum Philosophy Responsive to a highly changing, dynamic environment
Focuses primarily on the team level Team exerts total control over its own organization and work processes Uses a product backlog as the basic control mechanism Prioritized list of user requirements used to choose work to be done during a Scrum project

13 Scrum Organization Product owner Scrum master Scrum team or teams
The client stakeholder for whom a system is being built Maintains the product backlog list Scrum master Person in charge of a Scrum project Scrum team or teams Small group of developers Set their own goals and distribute work among themselves

14 Scrum Practices Sprint Parts of a sprint
The basic work process in Scrum A time-controlled miniproject Firm 30-day time box with a specific goal or deliverable Parts of a sprint Begins with a one-day planning session A short daily Scrum meeting to report progress Ends with a final half-day review

15 Project Management and Methodologies
Project time management Smaller scope and focused on each iteration Realistic work schedules Project scope management Users and clients are responsible for the scope Scope control consists of controlling the number of iterations Project cost management More difficult to predict because of unknowns Project communication management Critical because of open verbal communication and collaborative work Project quality management Continual testing and refactoring must be scheduled Project risk management High-risk aspects addresses in early iterations Project human resource management Teams organize themselves Project procurement management Integrating purchased elements into the overall project Verifying quality or components Satisfying contractual commitments

16 Summary Slide Adaptive Approaches to Development
The Agile Development Philosophy and Modeling Extreme Programming Scrum


Download ppt "Current Trends in Systems Develpment"

Similar presentations


Ads by Google