Podcast
Questions and Answers
Which prescriptive SDLC model emphasizes component reuse?
Which prescriptive SDLC model emphasizes component reuse?
What is a key characteristic of Agile methods?
What is a key characteristic of Agile methods?
Which aspect is NOT a component of agility?
Which aspect is NOT a component of agility?
What does the Incremental process model produce?
What does the Incremental process model produce?
Signup and view all the answers
What is the Unified Process Model designed for?
What is the Unified Process Model designed for?
Signup and view all the answers
Which principle emphasizes the importance of content over representation in Agile Modeling?
Which principle emphasizes the importance of content over representation in Agile Modeling?
Signup and view all the answers
What is the primary focus of XP (Extreme Programming) during the planning phase?
What is the primary focus of XP (Extreme Programming) during the planning phase?
Signup and view all the answers
Which of the following Agile Models emphasizes the use of time-boxing?
Which of the following Agile Models emphasizes the use of time-boxing?
Signup and view all the answers
What technique does XP encourage for addressing difficult design problems?
What technique does XP encourage for addressing difficult design problems?
Signup and view all the answers
What is one of the key features that distinguishes Adaptive Software Development (ASD)?
What is one of the key features that distinguishes Adaptive Software Development (ASD)?
Signup and view all the answers
In XP coding practices, what is recommended before starting the actual coding process?
In XP coding practices, what is recommended before starting the actual coding process?
Signup and view all the answers
What is a major characteristic of the Dynamic Systems Development Method (DSDM)?
What is a major characteristic of the Dynamic Systems Development Method (DSDM)?
Signup and view all the answers
Which of the following is NOT a principle of Agile Modeling?
Which of the following is NOT a principle of Agile Modeling?
Signup and view all the answers
What is essential for the acceptance of deliverables in DSDM teams?
What is essential for the acceptance of deliverables in DSDM teams?
Signup and view all the answers
Which of the following is a principle of the Kanban methodology?
Which of the following is a principle of the Kanban methodology?
Signup and view all the answers
What does the term 'Kanban' translate to in English?
What does the term 'Kanban' translate to in English?
Signup and view all the answers
In Scrum methodology, what is referred to as a 'sprint'?
In Scrum methodology, what is referred to as a 'sprint'?
Signup and view all the answers
What is a key feature of the iterative and incremental development approach?
What is a key feature of the iterative and incremental development approach?
Signup and view all the answers
How does the Kanban method increase visibility for teams?
How does the Kanban method increase visibility for teams?
Signup and view all the answers
Which of the following is NOT true about Scrum methodology?
Which of the following is NOT true about Scrum methodology?
Signup and view all the answers
Which characteristic distinguishes Kanban from Scrum?
Which characteristic distinguishes Kanban from Scrum?
Signup and view all the answers
Study Notes
Prescriptive SDLC Models
- Perform 5 generic activities
- Waterfall model suggests a linear progression
- Incremental process models produce software as a series of increment releases
- Evolutionary models are designed to accommodate change and produce incremental work products quickly
- Component-based model emphasizes component reuse and assembly
Unified Process Models
- Framework for UML methods and tools
Agile Process Models
- Effective (rapid and adaptive) response to change
- Effective communication among all stakeholders
- Drawing the customer onto the team
- Organizing a team so that it is in control of the work performed
Agile Methods
- Developed for small programming teams that work together in the same room
- Mostly been used for the development of small and medium-sized systems
- A plan-driven software process can support incremental development and delivery
- Agile process is not inevitably code-focused and may produce some design documentation
Agile Modeling
- Originally proposed by scott ambler
- Suggests a set of agile modeling principles:
- Model with a purpose
- Use multiple models
- Travel light
- Content is more important than representation
- Know the models and the tools you use to create them
- Adapt locally
Agile Models
- Driven by customer descriptions of what is required (stories, or scenarios)
- Recognizes that plans are short-lived
- Develops software iteratively with a heavy emphasis on construction activities
- Delivers multiple software increments
- Adapts as changes occur
Agile Models/Methods
- XP (Extreme Programming)
- Adaptive Software Development (ASD)
- Dynamic Systems Development Method (DSDM)
- Kanban
- Scrum
XP (Extreme Programming) 1
- The most widely used agile process, originally proposed by Kent Beck
- XP Planning
- Begins with the creation of “user stories”
- Agile team assesses each story and assigns a cost
- Stories are grouped to form a deliverable increment
- A commitment is made on delivery date
- After the first increment “project velocity” is used to help define subsequent delivery dates for other increments
XP (Extreme Programming) 2
- XP Design
- Follows the KIS (Keep It Simple) principle
- Encourages the use of CRC (Class Responsibility Collaborator) cards
- For difficult design problems, suggests the creation of spike solutions—a design prototype
- Encourages refactoring—an iterative refinement of the internal program design
- Through methods
- Through inheritance
- Through delegation
XP (Extreme Programming) 3
-
XP Coding
- Recommends the construction of a unit test for a story before coding commences
- Recommends pair programming
-
XP Testing
- All unit tests are executed daily
- Acceptance tests are defined by the customer and executed to assess customer visible functionality
Adaptive Software Development
- Originally proposed by Jim Highsmith
- ASD – distinguishing features
- Mission-driven planning (uses customer mission statement)
- Component-based focus
- Uses time-boxing
- Explicit consideration of risks
- Emphasizes collaboration for requirements gathering
- Emphasizes learning throughout the process
- Focus groups
- Formal technical reviews
- Postmortems (self examination)
Dynamic Systems Development Method
- Similar in most respects to XP and/or ASD
- Nine guiding principles:
- Active user involvement is imperative
- DSDM teams must be empowered to make decisions
- The focus is on frequent delivery of products
- Fitness for business purpose is the essential criterion for acceptance of deliverables
- Iterative and incremental development is necessary to converge on an accurate business solution
- All changes during development are reversible
- Requirements are baselined at a high level
- Testing is integrated throughout the life-cycle
Kanban
- Originating from the Japanese language, ‘Kanban’ translates to "visual board or signboard”
- Initially, the Kanban concept was introduced as a lean manufacturing system
- Uses visual methods for developing and managing projects
- Projects through Kanban are overseen with the help of the Kanban Board, which is divided into columns to depict the process flow of the software development
- This method requires thorough interaction and transparency to enable the team members to be equipped with the right stage of the development at any time and have a cohesive flow of work at all times.
Scrum
- One of the most popular agile methodology examples
- Scrum development methodology is depicted by various cycles of development
- Similar to Kanban, Scrum breaks down development phases into stages or cycles called 'sprints'
- The development time for each sprint is maximized and dedicated, thereby managing only one sprint at a time
- Scrum and agile methodologies focus on continuous deliverables, and thus this method lets designers adjust priorities to ensure that any incomplete or overdue sprints get more attention.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore the various models and methodologies in the Software Development Life Cycle (SDLC). This quiz covers prescriptive, unified, and agile process models, along with their characteristics and applications in software development. Test your knowledge on how these models adapt to change and facilitate effective communication among teams.