Information System Development - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Information System Development

Description:

IS specialist have little training in methods. programmer resistance ... lesson from on-line traders (schwabb, etrade, etc) what is the solution to this? ... – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 29
Provided by: ericsa7
Category:

less

Transcript and Presenter's Notes

Title: Information System Development


1
Chapter 3
  • Information System Development
  • Sept. 13

2
Overview for Today
  • Projects
  • The Software Crisis (course notes)
  • 8 Principles of Systems Design
  • Different approaches to AD

3
What is the Software Crisis?
  • Schedules and costs are often wrong
  • Cant keep up with demand
  • Quality is often poor
  • 1997 Software costs 200B
  • no sign of slowing down...

4
What causes these trends?
  • Lack of good data from past projects
  • lessons learned
  • repository, organizational memory
  • Poor communication
  • client needs
  • designers abilities
  • Testing, Quality, Reliability
  • how do you measure?
  • what is a good measure?

5
IS Development Failures
  • Complex software has a short history
  • 40 years traditional
  • 15 years of distributed
  • Logical vs. Physical product
  • Managers dont know methodologies
  • IS specialist have little training in methods
  • programmer resistance
  • Hardware vs. software lifecycle

6
Management IS Myths
  • We dont need a new approach...
  • Hardware, software, expectations change
  • We already have procedures...
  • But they are not used properly or at all!
  • Just add more programmers...
  • And overhead, and time, and costs, and ...
  • Mythical Man Month

7
User IS Myths
  • General objectives are good enough, we can add
    details later
  • code for flexibility, but cant anticipate it
    all!
  • Well just change to code to fit the
    requirements...
  • Do you want it done, or done right?

8
System Development Life Cycles and Methodologies
  • The process used to develop information systems
    is called a methodology.
  • All methodologies are derived from a logical
    system problem-solving process that is sometimes
    called a system development life cycle.
  • A system development life cycle (SDLC) is a
    logical process by which systems analysts,
    software engineers, programmers, and end-users
    build information systems and computer
    applications to solve business problems and
    needs. It is sometimes called an application
    development life cycle.

9
System Development Life Cycles and Methodologies
  • What is a Methodology?
  • A methodology is the physical implementation of
    the logical life cycle that incorporates (1)
    step-by-step activities for each phase, (2)
    individual and group roles to be played in each
    activity, (3) deliverables and quality standards
    for each activity, and (4) tools and techniques
    to be used for each activity.
  • A true methodology should encompass the entire
    systems development life cycle.
  • Most modern methodologies incorporate the use of
    several development tools and techniques.

10
System Development Life Cycles and Methodologies
  • Why Do Companies use Methodologies?
  • Methodologies ensure that a consistent,
    reproducible approach is applied to all projects.
  • Methodologies reduce the risk associated with
    shortcuts and mistakes.
  • Methodologies produce complete and consistent
    documentation from one project to the next.

11
Intro to Methodologies
  • Formal, structured process
  • Based on industry best practices
  • Really 3 types of methodology
  • Sequential, Iterative, None
  • Process Based vs. Data Based
  • 8 Principles of design

12
Principle 1Get Owner User Involvement
  • Why?
  • users know the domain
  • users will be the ones to resist the system
  • how do you overcome this?
  • Make sure we have cross functional communication
  • Get people to sign off on project
  • hands on experience

13
Principle 1Get Owner User Involvement
  • Owner and user involvement is an absolute
    necessity for successful systems development.
  • The individuals responsible for systems
    development must make time for owners and users,
    insist on their participation, and seek agreement
    from them on all decisions that may affect them.
  • Methodologies reduce the risk associated with
    shortcuts and mistakes.
  • Methodologies produce complete and consistent
    documentation from one project to the next.

14
Principle 2.Problem Solving Approach
  • Understand the problem, cause/effects
  • What will a solution look like?
  • Where will your solution come from?
  • Choose the best solution criteria?
  • Observe Evaluate
  • Seem a little too obvious?

15
Principle 2 Problem-Solving Approach
  • A methodology is, first and foremost, a
    problem-solving approach to building systems.
  • The classical problem-solving approach is as
    follows
  • Study and understand the problem (opportunity,
    and/or directive) and its system context.
  • Define the requirements of a suitable solution.
  • Identify candidate solutions and select the
    best'' solution.
  • Design and/or implement the solution.
  • Observe and evaluate the solution's impact, and
    refine the solution accordingly.

16
Principle 2 Problem-Solving Approach
  • There is tendency among inexperienced problem
    solvers to eliminate or abbreviate one or more of
    the problem solving steps.
  • The result can be range from
  • solving the wrong problem
  • incorrectly solving the problem
  • picking the wrong solution

17
Principle 3.Establish Phases Activities
  • Provide continuity and direction
  • Can be completed
  • linearly
  • repetitively
  • several at a time
  • End of each phase is a quality check
  • Establishes a time line for tracking

18
Principle 4.Establish Standards for Consistent
Development and Documentation
  • Helps deal with turnover style
  • Establish expectation and accountability
  • ongoing communication tool
  • Documentation guidelines
  • bad habits, doing things in wrong order
  • strengths weaknesses
  • Quality checks
  • what was done, who did it, why, done correctly?

19
Principle 5.Justify as Capital Investment
  • Salesmanship! Build the economic case
  • Compare several solutions
  • buy or build, extent of IS, etc.
  • Evaluate solutions for feasibility / risks
  • Technical, Organizational, Economic, Schedule -
    no more than 12 weeks!
  • Tangibles vs. Intangibles

20
Principle 5. Justify Systems as Capital
Investments
  • Information systems are capital investments.
  • When considering a capital investment, two issues
    must be addressed
  • for any problem, there are likely to be several
    possible solutions
  • after identifying alternative solutions, the
    systems analyst should evaluate each possible
    solution for feasibility, especially for
    cost-effectiveness.
  • Cost-effectiveness is defined as the result
    obtained by striking a balance between the cost
    of developing and operating a system, and the
    benefits derived from that system.
  • Cost-benefit analysis is an important skill to be
    mastered.

21
Principle 6.Dont Be Afraid to Cancel or Revise
Scope
  • Each phase is opportunity to evaluate!
  • Cancel, re-evaluate, reduce scope
  • dont keep going just because
  • Creeping Commitments
  • both a problem and a solution! why?

22
Principle 6. Dont Be Afraid to Cancel or Revise
Scope
  • A significant advantage of the phased approach to
    systems development is that it provides several
    opportunities to reevaluate feasibility.
  • In the long run, canceled projects are less
    costly than implemented disasters!
  • Most analysts fail to adjust estimated costs and
    schedules as scope increases. As a result, the
    analyst frequently and needlessly accepts
    responsibility for cost and schedule overruns.

23
Principle 6. Dont Be Afraid to Cancel or Revise
Scope
  • The creeping commitment approach
  • Multiple feasibility checkpoints are built into
    the systems development methodology.
  • At any feasibility checkpoint, all costs are
    considered sunk (meaning irrecoverable) and
    irrelevant to the decision.
  • The project should be reevaluated at each
    checkpoint to determine if it is still feasible.
  • At each checkpoint, the analyst should consider
  • cancellation of the project if it is no longer
    feasible
  • reevaluation of costs and schedule if project
    scope is to be increased
  • reduction of scope if the project budget and
    schedule are frozen, but not sufficient to cover
    all project objectives.

24
Principle 7.Divide and Conquer
  • Basically super- vs. sub-system
  • supersystem is always in flux
  • How does my piece fit in?
  • Highly related to Phases Activities

25
Principle 7.Divide and Conquer
  • All systems are part of larger systems (called
    super-systems).
  • Virtually all systems contain smaller systems
    (called subsystems).
  • We divide a system into its subsystems in order
    to more easily conquer the problem and build the
    larger system.
  • By dividing a larger problem (system) into more
    easily managed pieces (subsystems), the analyst
    can simplify the problem-solving process.

26
Principle 8.Design for Growth Change
  • Entropy - inevitable decay of all systems
  • cant just design for today
  • lesson from on-line traders (schwabb, etrade,
    etc)
  • what is the solution to this?
  • Eventually, maintenance exceeds development costs
  • what to do then?

27
Principle 8.Design for Growth Change
  • Many systems analysts have fallen into the trap
    of developing systems to meet only today's user
    requirements.
  • Entropy is the term system scientists use to
    describe the natural and inevitable decay of all
    systems.
  • During the support phase, the cost of maintenance
    exceeds the costs of starting over the system
    has become obsolete.

28
Principle 8.Design for Growth Change
  • Systems that are designed to meet only current
    requirements are difficult to modify in response
    to new requirements.
  • Many systems analysts become frustrated with how
    much time must be dedicated to supporting
    existing systems (often called legacy systems),
    and how little time is left to work on important,
    new systems development.
  • Today's tools and techniques make it possible to
    design systems that can grow and change as
    requirements grow and change.
  • Flexibility and adaptability do not happen by
    accident they must be built into a system.

29
Underlying Principles of Systems Development
1. Get the owners and users involved 2. Use a
problem-solving approach 3. Establish phases and
activities 4. Establish standards for consistent
development and documentation 5. Justify systems
as capital investments 6. Dont be afraid to
cancel 7. Divide and conquer 8. Design systems
for growth and change
30
For next time...
  • Finish Chapter 3, Information Systems Development
  • Next Class
  • Guest Speaker from EY
  • Milestone 2, Group Contract
  • due Monday, September 20
Write a Comment
User Comments (0)
About PowerShow.com