Lecture 17 - SDLC: Sourcing Flashcards
What is project management?
Project management is the application of knowledge, skills, tools and techniques to project activities and to meet project requirements.
What constraints must be managed about a project? (3)
The Triple Constraint that must be managed:
- Scope / Quality of product
- Time / Schedule
- Resources / Cost $$
What do failed projects have in common?
- Poor project planning, e.g. (unclear objectives, lack of required resources)
- Poor project management & control, e.g.:
o Skipping SDLC phases
o Failure to manage scope - Incomplete or changing system requirements
- Limited user involvement
- Lack of executive support
- Lack of technical support
- Technology changes
Scope creep
Scope creep - occurs when the scope of the project gradually increases.
Feature creep
Feature creep - occurs when developers add extra features that were not part of the initial requirements.
What is a prototype? And what do they do?
A prototype is a (working) model of a proposed product, service, or system. For example, architects make prototypes to show a building’s design. During SDLC, prototypes are used to:
o Gather system requirements
o Help clarify requirements for a new system
o Show that a system is technically feasible (proof-of-concept prototype)
o Convince people of the worth of a proposed system (selling prototype).
What are the advantages of prototyping?
o Encourages end-user participation
o Helps resolve discrepancies among end-users
o Gives end-users a feel for the final system
o Helps determine technical feasibility
o Helps sell the proposed system
What are the disadvantages of prototyping?
o Leads people to believe that the new system will soon be complete
o Gives no indication of how the system will perform under real operational conditions
o Leads the project team to forgo proper testing and documentation
The Prototyping Process
4 Steps:
- Identify basic requirements
- Develop initial prototype
- Let the end-user review it
- Revise and enhance the prototype
What are some of the approaches/methodologies of Component-based Development?
o Rapid application development (RAD)
o Extreme programming (XP)
o Agile methodology
How/Where can we get needed software? (3 types)
A new information system can be built using:
- Insourcing with IT specialists (employees)
- Selfsourcing (end-user development) where end users take with little or no help from IT specialists
- Outsourcing with a third-party which is given a specified cost, time frame and level of service to adhere to.
What is component-based development ?
Builds small self-contained blocks of code (components) that can be reused across a variety of applications
o Different from traditional SDLC, where software is usually written from scratch
o IT specialists look in the software library for code they can reuse.
Selfsourcing
Selfsourcing (end-user development) is development and support of IT systems by end users with little or no help from IT specialists.
o This do-it-yourself systems development approach must align with organizational goals.
o Some support from IT specialists may be needed.
o Technical documentation must be written.
o Ongoing user support must be provided.
Selfsourcing
Advantages:
o Improves requirements determination
o Increases end user participation and sense of ownership
o Increases speed of systems development
o Reduces invisible backlog (undertaking system development projects that have not been funded due to a lack of resources)
Selfsourcing
Disdvantages:
o Lack of organizational focus creates “privatized” IT systems.
o Insufficient analysis of alternatives leads to below-par systems.
o Lack of documentation and support leads to short-lived systems.
o Lack of concern for security leads to potential gaps in protection.