Podcast
Questions and Answers
What is the primary goal in Agile Modeling?
What is the primary goal in Agile Modeling?
What should be the secondary goal in Agile Modeling?
What should be the secondary goal in Agile Modeling?
Which principle emphasizes the importance of adapting models based on project needs?
Which principle emphasizes the importance of adapting models based on project needs?
In which phase of the Unified Process (UP) do teams understand the system requirements?
In which phase of the Unified Process (UP) do teams understand the system requirements?
Signup and view all the answers
What is one of the benefits of employing incremental development?
What is one of the benefits of employing incremental development?
Signup and view all the answers
What is the main focus when building models in Agile Modeling?
What is the main focus when building models in Agile Modeling?
Signup and view all the answers
What helps maximize stakeholder ROI as per Agile Modeling principles?
What helps maximize stakeholder ROI as per Agile Modeling principles?
Signup and view all the answers
What characterizes the Construction phase in the Unified Process?
What characterizes the Construction phase in the Unified Process?
Signup and view all the answers
What is the primary benefit of using models in systems analysis?
What is the primary benefit of using models in systems analysis?
Signup and view all the answers
Which term describes adaptive projects that are chaotic yet ordered?
Which term describes adaptive projects that are chaotic yet ordered?
Signup and view all the answers
What do Visual Modeling Tools assist developers in doing?
What do Visual Modeling Tools assist developers in doing?
Signup and view all the answers
Which Agile value emphasizes the importance of responding to change?
Which Agile value emphasizes the importance of responding to change?
Signup and view all the answers
What role do techniques play in systems analysis?
What role do techniques play in systems analysis?
Signup and view all the answers
Which of the following is NOT a characteristic of the Waterfall Model?
Which of the following is NOT a characteristic of the Waterfall Model?
Signup and view all the answers
What is the importance of Integrated Development Environments (IDEs)?
What is the importance of Integrated Development Environments (IDEs)?
Signup and view all the answers
Which of the following best describes incremental development?
Which of the following best describes incremental development?
Signup and view all the answers
What is a primary advantage of incremental development in system design?
What is a primary advantage of incremental development in system design?
Signup and view all the answers
What is meant by a 'walking skeleton' in system design?
What is meant by a 'walking skeleton' in system design?
Signup and view all the answers
Which of the following is NOT a characteristic of methodologies in system development?
Which of the following is NOT a characteristic of methodologies in system development?
Signup and view all the answers
How do incremental development and agile methodologies primarily differ from the waterfall model?
How do incremental development and agile methodologies primarily differ from the waterfall model?
Signup and view all the answers
Which of the following does an effective project management technique not typically include?
Which of the following does an effective project management technique not typically include?
Signup and view all the answers
What is one purpose of creating models in system design?
What is one purpose of creating models in system design?
Signup and view all the answers
Which statement best describes the skepticism some IS managers have towards new methodologies?
Which statement best describes the skepticism some IS managers have towards new methodologies?
Signup and view all the answers
What is a fundamental feature of agile methodologies in the context of system development?
What is a fundamental feature of agile methodologies in the context of system development?
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.
Related Documents
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.