System Development Approaches Chapter 10
24 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is the primary goal in Agile Modeling?

  • To create detailed documentation for all processes
  • To develop software (correct)
  • To ensure all models are perfect
  • To build as many models as possible
  • What should be the secondary goal in Agile Modeling?

  • Perform extensive market research
  • Complete all documentation for the current project
  • Enable the next effort (correct)
  • Develop a comprehensive risk analysis
  • Which principle emphasizes the importance of adapting models based on project needs?

  • Model with a purpose (correct)
  • Embrace change incrementally
  • Build high-quality models
  • Minimize modeling activity
  • In which phase of the Unified Process (UP) do teams understand the system requirements?

    <p>Elaboration</p> Signup and view all the answers

    What is one of the benefits of employing incremental development?

    <p>Allowing for easy reversal of changes</p> Signup and view all the answers

    What is the main focus when building models in Agile Modeling?

    <p>Focusing on content rather than representation</p> Signup and view all the answers

    What helps maximize stakeholder ROI as per Agile Modeling principles?

    <p>Open communication and shared knowledge about models</p> Signup and view all the answers

    What characterizes the Construction phase in the Unified Process?

    <p>Building the actual system</p> Signup and view all the answers

    What is the primary benefit of using models in systems analysis?

    <p>Models simplify project communication.</p> Signup and view all the answers

    Which term describes adaptive projects that are chaotic yet ordered?

    <p>Chaordic</p> Signup and view all the answers

    What do Visual Modeling Tools assist developers in doing?

    <p>Building graphical models.</p> Signup and view all the answers

    Which Agile value emphasizes the importance of responding to change?

    <p>Responding to change over following a plan</p> Signup and view all the answers

    What role do techniques play in systems analysis?

    <p>They provide a collection of guidelines to support tasks.</p> Signup and view all the answers

    Which of the following is NOT a characteristic of the Waterfall Model?

    <p>Iterative feedback loops</p> Signup and view all the answers

    What is the importance of Integrated Development Environments (IDEs)?

    <p>They consolidate tools for a comprehensive development environment.</p> Signup and view all the answers

    Which of the following best describes incremental development?

    <p>A method that builds software in small, manageable chunks.</p> Signup and view all the answers

    What is a primary advantage of incremental development in system design?

    <p>It enables portions of the system to be delivered sooner for user testing.</p> Signup and view all the answers

    What is meant by a 'walking skeleton' in system design?

    <p>Bare-bones functionality is implemented first with the complete structure.</p> Signup and view all the answers

    Which of the following is NOT a characteristic of methodologies in system development?

    <p>They provide flexibility in project timelines.</p> Signup and view all the answers

    How do incremental development and agile methodologies primarily differ from the waterfall model?

    <p>They allow for iterations and adaptations throughout development.</p> Signup and view all the answers

    Which of the following does an effective project management technique not typically include?

    <p>Providing unexpected deliverables.</p> Signup and view all the answers

    What is one purpose of creating models in system design?

    <p>To abstract important aspects of the real world.</p> Signup and view all the answers

    Which statement best describes the skepticism some IS managers have towards new methodologies?

    <p>They consider the absence of an overall plan to be concerning.</p> Signup and view all the answers

    What is a fundamental feature of agile methodologies in the context of system development?

    <p>Frequent iterations and collaboration among stakeholders.</p> Signup and view all the answers

    Study Notes

    Chapter 10: Approaches to System Development

    • This chapter details system development approaches.
    • Two main approaches are predictive and adaptive SDLCs.
    • Predictive SDLC (waterfall model) is used when project planning is possible upfront.
    • Adaptive SDLC uses iteration when requirements are unclear and flexibility is needed.
    • All new system development projects use a methodology.
    • A methodology includes:
      • SDLC
      • Tools
      • Techniques
      • Models
    • Agile development is a current trend in system development.
    • Unified Process (UP) is a formal iterative approach using UML models with agile philosophies and UP disciplines.
    • Extreme Programming (XP) is an iterative approach taking industry practices to the extreme.
    • Scrum is an iterative approach using a Scrum Sprint.

    The System Development Life Cycle (SDLC)

    • Two general approaches to the SDLC:
      • Predictive: Waterfall model, assumes project planning in advance and requirements are well-understood.
      • Adaptive: Iterative development, assumes flexibility and adaptation to changing needs.
    • Most projects fall on a continuum between predictive and adaptive.

    Traditional Predictive SDLC

    • Based on sequential phases:
      • Initiation
      • Planning
      • Analysis
      • Design
      • Implementation
      • Deployment
      • Support
    • Phases are related groups of development activities.
    • Waterfall model assumes phases are completed sequentially without overlap or iteration.
    • Once a phase is complete, you move to the next phase, with no going back.

    Modified Waterfall with Overlapping Phases

    • Provides more flexibility than traditional waterfall.
    • Still assumes predictive planning and sequential phases to some extent but allows for some overlapping of phases.
    • Allows for additional activities in each phase.

    Newer Adaptive SDLC

    • Emerged in response to complex and uncertain technological environments.
    • Iterations are common, where design and implementation happen from the beginning.
    • Often claimed as the only way to develop information systems.

    Adaptive Approaches

    • Incremental development: Completing portions of the system in small increments as the project progresses.
    • Walking Skeleton: Building the complete system structure initially with basic functionality, making it available sooner which allows business to begin.

    A Generic Adaptive Approach

    • Six core processes repeated across iterations:
      • Identify the problem and obtain approval
      • Plan and monitor the project
      • Discover and understand details
      • Design system components
      • Build, test, integrate components
      • Complete system tests and deploy
    • Multiple iterations are required.

    Methodologies, Models, Tools, and Techniques

    • Methodologies provide guidelines for system development.
    • Models abstract real-world aspects; crucial for communication.
    • Tools assist in creating models or other project components.
    • IDEs provide comprehensive development environments.
    • Visual modeling tools create graphical models.
    • Techniques are collections of guidelines to complete activities and tasks.

    Agile Development

    • A guiding philosophy and set of guidelines for developing information systems in rapidly changing environments.
    • Chaordic -- a term for adaptive projects, meaning they are both chaotic and ordered.
    • Agile values: Responding to change, individuals and interactions over processes, working software over comprehensive documentation, and customer collaboration over contract negotiation.
    • Agile Modeling (AM) philosophy emphasizes building necessary models at the correct level of detail.

    Agile Modeling Principles

    • Build only necessary models.
    • Models should be useful and detailed appropriately.
    • Focus on model content rather than representation.
    • Use informal models when appropriate.
    • Emphasize stakeholder needs.

    Agile Principles

    • Focus on developing software as the primary goal.
    • Prioritize enabling the next effort as secondary.
    • Be mindful of versioned deliverables.
    • Build only the necessary models or documents.
    • Embrace change and incremental changes.
    • Use small, reversible steps to maintain progress and flexibility.
    • Build models with a purpose for understanding, communication, and problem-solving.

    The Unified Process (UP)

    • Was an early leader in adaptive approaches.
    • UP and UML (Unified Modeling Language) were developed together.

    UP Phases

    • Inception: Getting the project started.
    • Elaboration: Understanding system requirements.
    • Construction: Building the system.
    • Transition: Preparing for deployment of the system.

    UP Disciplines

    • Two types of disciplines:
      • Development: Business modeling, requirements, design, implementation, testing, and deployment.
      • Management: Planning, control, configuration and change management, and project management.

    Extreme Programming (XP)

    • Takes best software development practices to the extreme.
    • Focus on proven industry practices with unique ways to get better results.
    • Core values: Communication, simplicity, feedback, courage.

    XP Practices

    • Planning based on user stories, thorough testing, pair programming, simple designs, refactoring, collective code ownership, continuous integration, on-site customer, a system metaphor, small releases, forty-hour work week, and coding standards.

    XP Project Approach

    • Three-level approach (three rings): Outside ring (user stories and acceptance tests), middle ring (testing and overall planning), inside ring (iterations of coding and testing).

    Scrum

    • Combines principles of Rugby and Agile.
    • Defines an intense effort involving the entire team for a defined period of time.
    • Involves a prioritized list of user requirements (product backlog).
    • Defines product owner.
    • Defines Scrum master.
    • Scrum Sprint is a time-controlled mini-project.

    Scrum Practices

    • The scope of each sprint is often frozen to provide clarity and limit unnecessary expansion.
    • Consistent time periods are important to maintain a predictable rhythm.
    • It includes daily scrum meetings.
    • Scrum is very iterative.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Software Life Cycle Models PDF

    Description

    Explore the different approaches to system development in Chapter 10. This chapter compares predictive and adaptive SDLCs, detailing methodologies like Agile, Unified Process, Extreme Programming, and Scrum. Understand how each methodology suits various project requirements.

    More Like This

    Use Quizgecko on...
    Browser
    Browser