1 / 10

Chapter 16, Methodologies: Putting it all together

Chapter 16, Methodologies: Putting it all together. Outline. A Mountaineering Example Project Context Goals, Environment, Methods, Tools, Methodology Methodology Issues Planning, Design Reuse, Modeling, Process, Control & Monitoring, Redefinition Methodology Spectrum

osman
Télécharger la présentation

Chapter 16, Methodologies: Putting it all together

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. Chapter 16, Methodologies: Putting it all together

  2. Outline • A Mountaineering Example • Project Context • Goals, Environment, Methods, Tools, Methodology • Methodology Issues • Planning, Design Reuse, Modeling, Process, Control & Monitoring, Redefinition • Methodology Spectrum • Royce’s Methodology based on the unified process • Extreme Programming • Methodological Heuristics

  3. Key Decisions in an Expedition • A leader has to answer several key questions to create a successful expedition • What mountain should be climbed? • What process should be used? • What types of tools should be used? • Who should be member of the team? • Does the expedition need a leader? • Different answers to these questions lead to different styles

  4. Key Decisions in an Software Project • Project goals • Schedule • Cost • Project organization • Software life cycle Model • Tools • Methods • Team members

  5. If the Project Goal cannot be achieved A project goal is too ambitious or the original goal is simply wrong. Continuing is not an option. • Option 1: Ask for more resources or a revised schedule. • Not really an option, because there is no more money and the schedule is fixed. • Option 2: Admit the problem and turn the project into a “successful failure”: • Do a thorough analysis to understand what went wrong. • Focus on the failure to determine lessons learned. • Try to recycle the work that has been achieved so far for another project. • Option 3: Revise the project goal • Turn the current project status into the goal. • Sometimes the revised project goal is actually as good or better than the originally envisioned

  6. Methodology Issues • Methodologies provide guidance, general principles and strategies for selecting methods and tools in a given project environment. • The key questions for which methodologies typically provide guidance include: • How much involvement of the customer? • How much planning? • How much reuse? • How much modeling? • How much process? • How much control and modeling? Roycevs.XP

  7. Use Case Model System Model Object Model Dynamic Model class... class... class... Source Code Analysis, System Design Object Design - Carl enters the store - He buys a car toy. .... Scenario are Model Transformations Forward Engineering: Source code is generated from the system model (Ideal: „0 % manual coding“, Component-Based Software Engineering) Reverse Engineering: The system model is reconstructed from existing source code (legacy systems) Refactoring: The source code is transformed according to refactoring rules (program transformation) Textual scenarios generate external models

  8. Stories class... class... class... Refactoring: The source code is transformed according to refactoring rules (program transformation) Source Code XP User Stories generate source code

  9. Methodology Do’s and Do Not’s • Try to train the client. • Train the developers about the process • Try to find a dedicated lab for all the developers • Think carefully about how to maintain the infrastructure • Use version control as an integration tool • Make sure to have resources to deal with iteration overlaps • Make sure to allow informal communication

  10. Methodological Heuristics • Be prepared to change the system • Functional requirements can change during a project when the client becomes more experienced • Technological change can occur any time • Be prepared to change the organization • Move from hierarchical organization to participatory management when project participants are becoming capable of making decisions • Be prepared to change the process • Move from activity-oriented to entity-oriented during a project when beginners become experienced developers • Shorten client decision time • Train the client • Build trust • Learn the right lessons and nothing more

More Related