6.1) AIS Selection & Development Strategies Part 2 Flashcards

1
Q

What is the systems development lifecycle (SDLC) ? (4)

A
  • Systems Development Lifecycles (SDLC) is the cost-effective and time-efficient process that development teams use to design and build high-quality software.
  • The goal of SDLC is to minimize project risks through forward planning
  • This methodology outlines a series of steps that divide the software development process into tasks you can assign, complete, and measure.
  • SDLC was established in 1970 by Winston W. Boyce
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the two approaches to SDLC?

A

1) The waterfall approach to SDLC
2) Unified Process approach to SDLC

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the waterfall approach? (4)

A
  • The Waterfall is a linear-sequential approach to software development
  • In this approach, each phase must be completed before the next phase
    can begin, with no overlap.
  • It relies on detailed top-down upfront planning, where requirements are gathered and documented extensively before moving on to design and implementation. This top-down approach assumes that requirements are fully understood and defined at the beginning of the
    project.
  • Waterfall is often used and well-suited for small to medium-sized
    projects,
    within regulated environments with manageable scope, fixed scope, budget and duration as well as projects that can be easily divided into sequential phases and completed within a reasonable timeframe
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the key principles of the waterfall apporach to SDLC? (3)

A
  1. Sequential structure.
  2. Strong focus on documentation.
  3. Low customer involvement.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is ‘sequential structure’ ?

A
  • Typically includes phases such as
    Requirements, Design, Implementation,
    Verification, and Maintenance.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a strong focus on documentation?

A

Extensive details that define project
requirements and implementation process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is low customer involvement?

A
  • Requirements must be agreed upon early during the project lifecycle. Once requirements are defined, the development process strongly focuses on meeting the agreed requirements.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the advantages of waterfall approach? (5)

A

1.Simplicity: Waterfall is easy to understand and implement,
making it suitable for projects with straightforward
requirements and well-defined deliverables. Its linear
nature simplifies project management and progress
tracking.
2. Structured Approach: Waterfall offers a structured and
disciplined approach to development, with distinct phases
(requirements, design, implementation, testing,
deployment) that provide clarity on project milestones and
deliverables.
3. Documentation: Waterfall emphasizes comprehensive
documentation at each phase, ensuring that requirements,
designs, and other project details are well-documented.
This documentation can serve as a reference point for
stakeholders and future maintenance.
4. Stability: Once a phase is completed in Waterfall, its
deliverables are typically not subject to change, providing
stability in project scope and requirements. This can be
advantageous for projects where requirements are unlikely
to change significantly.
5. Risk Management: Waterfall addresses risks upfront during
the planning phase, allowing for early identification and mitigation strategies. By defining requirements and designs early in the process, Waterfall aims to minimize risks
associated with unclear objectives.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the disadvantages of the waterfall approach? (5)

A
  1. Limited Flexibility: Waterfall is inflexible when it comes to
    accommodating changes in requirements, as each phase
    must be completed before moving on to the next. Changes
    late in the development process can be costly and timeconsuming to implement.
  2. Late Feedback: Stakeholder feedback is typically gathered
    at the end of the development process, during the testing
    phase. This late feedback can result in costly rework if
    requirements or designs need to be adjusted based on
    stakeholder input.
  3. Long Delivery Time: Waterfall projects often have long
    delivery times, as each phase must be completed sequentially before proceeding to the next. This can result
    in delays in delivering value to customers or stakeholders.
  4. Higher Risk of Failure: Since Waterfall assumes that
    requirements are fully understood and defined upfront,
    there is a higher risk of project failure if requirements are
    misunderstood or change significantly during development.
  5. Limited Customer Involvement: Waterfall typically involves limited customer involvement after the initial requirements phase, which can lead to misunderstandings or
    misalignment between the final product and customer
    expectations.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the Unified process approach to SDLC? (5)

A
  • An iterative, incremental, architecture-centric, and use-case-driven approach to software development.
  • Consists of four phases (inception, elaboration, construction, and transition.
  • Unified Process approach focuses on enlarging and refining a system through multiple iterations, with cyclic feedback and adaptation.
  • The system is developed incrementally over time, iteration by iteration;
    thus, this approach is also known as iterative and incremental software
    development.
  • Suitable for projects with complex requirements, large-scale, custom software development and dynamic customer requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the key principles of the unified process? (3)

A

1) Use-case-centric: A use-case defines the interaction between two or more entities.
2) Architecture-centric approach: Involves creating a blueprint of the organization of the software system.
3) Iterative and incremental approach: Each iteration of the systems development is
treated as a mini-project.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the advantages of the UP approach to SDLC? (5)

A
  1. Iterative Development: UP is an iterative and incremental
    approach to software development, allowing for continuous
    feedback and refinement throughout the project lifecycle. This
    iterative nature enables early detection and mitigation of risks
    and uncertainties.
  2. Flexibility: UP offers flexibility in tailoring the process to suit the
    specific needs of the project and the organization. It provides a
    customizable framework that can be adapted to different
    project sizes, domains, and team compositions.
  3. Risk Management: UP emphasizes risk management
    throughout the development process, with a focus on
    identifying, analyzing, and mitigating risks at each iteration. By
    addressing risks proactively, UP helps minimize the likelihood of
    project failures and delays.
  4. Customer Involvement: UP encourages active customer
    involvement throughout the project, ensuring that the
    delivered software meets user needs and expectations.
    Customers are engaged in requirements elicitation,
    prioritization, and validation, leading to higher satisfaction with
    the final product.
  5. Continuous Improvement: UP promotes continuous process
    improvement through regular retrospectives and lessons
    learned sessions. By reflecting on past experiences and
    feedback, teams can identify areas for improvement and make
    adjustments to their development practices accordingly.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the disadvantages to the UP approach? (5)

A
  1. Complexity: The Unified Process framework can be complex and challenging to implement, especially for smaller teams or projects
    with limited resources. Its comprehensive nature may require
    significant upfront investment in training and infrastructure.
  2. Documentation Overhead:
    UP places a strong emphasis on
    documentation, which can result in overhead and administrative
    burden, particularly in projects where documentation is perceived as
    a bureaucratic process rather than a valuable tool for communication and knowledge sharing.
  3. Resource Intensive: Implementing UP effectively requires dedicated resources, including skilled personnel, tools, and infrastructure. For organizations with limited resources or tight budgets, the overhead associated with adopting UP may be prohibitive.
  4. Potential for Scope Creep: While UP allows for flexibility in
    accommodating changes to requirements, it also carries the risk of scope creep if changes are not managed effectively. Without proper
    governance and change control mechanisms, iterations may expand
    beyond their intended scope, leading to schedule delays and
    increased costs.
  5. Dependency on Stakeholder Availability: Active customer
    involvement is a key principle of UP, but it relies on the availability
    and commitment of stakeholders to participate in requirements
    elicitation, reviews, and feedback sessions. In projects where
    stakeholders are not fully engaged or accessible, achieving
    meaningful collaboration can be challenging.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the challenges with using the traditional SDLC? (5)

A
  • Demands for development resources are so numerous that AIS projects can be
    backlogged for several years.
  • A newly designed AIS does not always meet user needs.
  • The development process can take so long that the system no longer meets company needs.
  • Users are unable to specify their needs adequately.
  • Changes to the AIS are often difficult to make after requirements have been frozen into specifications.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is Agile methodologies and what does it do? (4)

A
  • Agile methodologies are a set of frameworks and practices for iteratively developing
    software.
  • Agile Methodologies were formalized at a meeting in 2001 by a group of like-minded software developers.
  • Agile was introduced to combat some of the challenges experienced with SDLC.
  • Agile is guided by the 12 Principles
    encapsulated in the Agile Software
    Manifesto
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the characteristics of agile approach to SDLC? (6)

A
  • Agile projects are divided into small, incremental iterations or time-boxed
    iterations called Sprints, typically lasting 1-4 weeks.
  • Each iteration results in a potentially shippable product increment, allowing for continuous feedback and validation from stakeholders.
  • Agile emphasizes adaptive planning over extensive upfront planning.
  • Instead of trying to predict all requirements and details at the beginning of the project, Agile teams prioritize the most valuable features and adjust their plans based on feedback and changing priorities.
  • Agile embraces change as a natural and inevitable part of the development process.
  • Instead of resisting change, Agile teams welcome it as an opportunity to deliver greater value to customers and respond effectively to evolving
    requirements and market dynamics.
17
Q

What are the principles of the agile manifesto? (12)

A
18
Q

What approach is used for agile methodologies?

A

Scrum

19
Q

What is the Scrum approach to agile? (5)

A
  • Scrum is a management framework teams use to self-organize and work towards a common goal.
  • It describes a set of meetings, tools, and roles for efficient project delivery.
  • Much like a sports team practicing for a big match, Scrum practices allow teams to self-manage, learn from experience, and adapt to change.
  • The Scrum Alliance facilitates training and certification of Scrum professionals
  • Scrum User Group South Africa (SUGSA) – a community of Scrum professionals in SA who gather an discuss ways of improving the process.
20
Q

What is the role of the product owner? (2)

A
  • Possibly a Product Manager or Project Sponsor
  • Decides features, release date, prioritization, $$$
21
Q

What is the role of the scrum master ? (3)

A
  • Typically a Project Manager or Team Leader
  • Responsible for enacting Scrum values and practices
  • Remove impediments/politics, keeps everyone productive
22
Q

What is the role of the project team? (3)

A
  • 5-10 members; Teams are self-organizing
  • Cross-functional: QA, Programmers, UI Designers, etc.
  • Membership should change only between sprints
23
Q

What are the key concepts of the Scrum methodology? (5)

A
  • Scrum Team: All team members involved in developing the system
  • Scrum Sprints: A short period wherein a development team works to complete specific tasks,
    milestones, or deliverables
  • Product backlog: A to-do list organized by the product owner that defines product requirements
  • Task board: A board that shows itemized activities for the development process.
  • User story: A way to describe the desired functionality of product backlog items.
24
Q

What is the exmaple of a product backlog?

A
25
Q

What is the example of a task board?

A