1/38
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
what is systems development? why learn it?
step-by-step process used to develop & manage an information system; helps ensure systems are properly planned, developed, tested, & implemented to reduce the chance of failure
SDLC phases
planning, analysis, design, development, testing, implementation, maintenance
planning
define system to be developed , set project scope, develop project plan (gannt)
analysis
gather business requirements, prioritize requirements
design
design system model, design technical architecture
development
build technical architecture, build database & programs
testing
write test conditions, perform testing (unit, system, integration, user acceptance)
implementation
write detailed user doc, provide training for system users, choose an implementation method (parallel, plunge, pilot, phased)
maintenance
build a help desk to support system users, provide an environment to support system changes
how are component based methods (rapid application development) different from SDLC?
SDLC: follows linear, step-by-step process & develops system from scratch component based: use reusable components to build the system faster instead of starting from scratch
agile philosophy?
emphasizes working continually w/ goal of more frequent product rollouts & constant improvement across smaller components of a larger project
prototyping
iterative, exploratory process whereby a preliminary version of the system is built & refined - in response to user feedback before full scale implementation (hot cold)
prototyping useful
helps users see & test system early & identify needed changes
prototyping advantages
encourages active end-user participation, helps resolve discrepancies among end users, gives end users a feel for final system, helps determine technical feasibility, sell idea of proposed system
prototyping disadvantages
may lead to ppl to believe final system will follow shortly, tempt project team to forgo proper testing: documentation, project can be hard to terminate (sunk cost fallacy)
when to use SDLC?
when requirements are clear and/or stakes are high
when to use prototyping?
when requirements are fuzzy feedback is critical
self sourcing
when employees/users (end user) develop info system themselves instead of outside developer
when is self sourcing a good idea?
system is simple, low risk, and users understand business ness
outsourcning
hiring outside company or developer to develop or manage an info system
when is outsourcing a good idea?
outside provider has more expertise or resources than the organization
SaaS
software as a service model offers a full service software suite online
PaaS (platform as service)
slightly more basic, providing firms w/ tools to develop, test & deploy cloud based software themselves
IaaS (infrastructure)
most basic, providing firms w/ only the essentials
SaaS, PaaS, IaaS compared to tradirional outsourcing
all three use an outside provider, cloud services are typically more flexible and scalable because you access resources over the internet instead of having the provider build/manage a custom system for you
primary benefits of SaaS, PaaS, IaaS
lower costs/upfront investment, scalability, less maintenance, quick access
primary risks of SaaS, PaaS, IaaS
less control, dependence on provider, security/privacy concerns
how was three mile island failure different from sinking of vasa?
3 mile: failure of complex system —> predictably unpredictable
vasa: failed output of a poorly developed system
how is the challenger explosion similar to & different from three mile island?
both were failure of complex systems involving human/organizational decisions; three mile nuclear plant safety measures prevented worse outcome & challenger destruction of spacecraft & loss of crew
project definition failures
stem from unclear purpose, weak sponsorship, or misaligned priorities
project failure most relevant phases
planning (what problem) & analysis (what does the system need)
project management failures
reflect deficiencies in planning, monitoring, communication and/or control
scope creep
project expands beyond initially stated goals (from users)
future creep
project adds a feature beyond initial requirement (from developers)
why might teams skip or minimize steps?
poor project management can lead to key development phases being skipped or minimized to cut time/cost (cost/time pressure can lead to lapses in good judgement/ethics)
project execution failures
involve technical missteps in engineering & testing of project —> inappropriate technical choices, inadequate testing procedures should catch flaws before major rollout
how do we cope with a rapidly changing technological environment?
anticipate future changes, pay attention to current ones, know your industry/field
vasa case
project definition failure - ship was poorly designed because requirement/design were wrong from beginning
healthcare.gov
project definition: requirements were unclear/changing
Management: poor leadership, coordination & oversight
execution: inadequate testing & technical problems