1 / 16

Current Trends in Systems Develpment

Explore the principles and methodologies of adaptive approaches in agile development, including Agile Modeling, Extreme Programming, Scrum, and more. Learn how to navigate uncertainty, prioritize user collaboration, and effectively manage project time, scope, cost, and communication.

jverrill
Download Presentation

Current Trends in Systems Develpment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 • Agile Development • 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 • 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 • 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 • 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 • 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 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 Project Management and Methodologies

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

More Related