CIS 123 - Systems Planning and Development

Systems Planning and Development Overview

This week we discuss how information systems are planned for and developed. It is difficult to fully understand how these processes work until you have experienced them, but we will do our best to explore the concepts and prepare you for dealing with them when you do get to experience them. The outline presented here is intended to help point out important topics and terms, but is not intended to replace the lecture (or the text)

Objectives

  • Explain the steps involved in planning IS
  • Describe the systems development life cycle
  • Explain challenges faced in systems development
  • Compare and contrast system conversion strategies
  • Explain the principles of agile systems development methods
  • Explain the concept of system integration
  • Discuss the advantages and disadvantages of certifications

Systems Planning and Development

  • the risks in planning, developing, and implementing a large IS are huge; there is a large outlay of money, time, effort, and focus; many large IS developments fail; if the system doesn't live up to its requirements, mission critical functions could be disrupted; some organizations have gone bankrupt primarily because of IS design and deployment failures
  • the advantages in planning, developing, and implementing a large IS can be huge; a good IS that supports an organization's mission well can give it a tremendous competitive advantage, increasing productivity throughout the organization
  • mission statement: a paragraph the communicates the most important overarching goal of the organization over the next few years; departments and other units within the organization have their own mission statements which should only be a few paragraphs long at most
  • vision statement: vision statements are developed based on mission statements and state what management expects the organization will look like in order to accomplish its mission

Planning

  • Steps:
    • create organization-wide and IS/IT mission statements
    • articulate the vision for IS/IT within the organization
    • create strategic plans for IS/IT
    • create tactical plans for IS/IT
    • create a plan of action to achieve mission and vision
    • create the budget required to achieve goals
  • standardization: adopting a common process, application, hardware, etc. across an organization
  • benefits of standardization: IT has to spend less time and money for training users and support staff; buying in quantity can reduce price per unit; commonalities across the organization help avoid system integration problems and make it easier for employees to switch areas and remain productive
  • disadvantages of standardization: IT seldom knows what is best for the user, so standardization can lead to lower productivity overall; standardization can also mean a lack of flexibility (IT is often more concerned with ease of maintenance than the employees' being able to do their jobs); standardization usually doesn't take into account differences between employees (some being extremely computer savvy and some being barely computer literate)
  • prototyping: the fast development of an application based on initial user requirements and several cycles of user input and developer improvements
  • progressive elaboration: continuing refinements made as more knowledge and experience are obtained
  • legacy system: old systems that an organization wants to work with rather than replace (often because they work well even though the technology is old)
  • systems integration: getting a number of applications and/or hardware to interface with each other and organizational processes

Systems Development Life Cycle

  • SDLC: Systems Development Life Cycle; a common framework for planning, developing, implementing, and maintaining an application
  • phases given in text:
    • planning
    • analysis
      • investigation: what is the purpose or goal of the proposed system?
      • technical feasibility study: is the proposed system reasonably possible?
      • economic feasibility study: will the benefits outweigh the costs?
      • operational feasibility study: will the system be accepted and used as intended?
      • requirements definition: what features and and interfaces will the system need?
    • design: includes construction and testing of system
    • implementation: could be parallel, phased, cut-over, or pilot conversion
    • support: includes maintenance and helping users
  • cost/benefit analysis: a study of how much expected benefits will generate and how much they will cost
  • ROI: Return on Investment; this helps tell you if the money could be better spent elsewhere
  • TCO: Total Cost of Ownership; this includes purchase, maintenance, training, etc.
  • organizational culture: refers to traits common across an organization, such as a willingness to share information or hide knowledge
  • systems requirements: functions that a system is expected to fulfill, and the features it will need
  • systems design: describes components of the system and how they operate, the construction of the system, and how the system will be tested
  • DFD: Data Flow Diagram; shows how data flows through an organization (see text for description, illustration, and examples)
  • UML: Unified Modeling Language; a graphical standard(s) for visualizing, specifying, and documenting software
  • parallel conversion: the old and new systems are kept running together until the new system is proven to work; expensive, but safe
  • phased conversion: parts of the new system are brought online one at a time as they are tested and ready to go; less expensive with moderate risk
  • cut-over conversion: the old system is abandoned when the new system is started; relatively inexpensive, but very risky
  • flash cut conversion: synonym for cut-over conversion
  • pilot conversion: smaller organizational units get to try out and test the new system before the whole organization starts using it; reduces risks and expense
  • beta site: an organization which gets to try out a new system or application to see how well it works and help find problems
  • outsourcing: letting a third party take over some of your internal business processes and functions

Agile methods

  • the purpose of agile methods is to greatly decrease feedback times and shorten development time, often by greatly increasing contacts with users
  • some agile methodologies
    • XP: extreme programming
    • ASD: active software development
    • LD: lean development
    • RUP: Rational unified process (Rational is a company name)
    • FDD: feature driven development
    • DSDM: dynamic systems development method
    • Scrum
    • Crystal
  • Agile methods are best used when the systems being developed are small, not overly complex, when user requirements are hard to get and/or changing, when the development team is small, the system is not mission critical, and the development budget is tight

Industry certifications

  • advantage: they tell a prospective employer that a potential employee should have knowledge in a certain area
  • advantage: someone looking for a job may find it easier to get hired if they have evidence of their expertise, especially when they don't have a significant amount of experience
  • advantage: businesses can check certifications of consultants before hiring them to find out if they are qualified to do the job
  • advantage: theoretically, having developers certified could increase the overall quality of developers and be a benefit to all of society (but it could also limit creativity and innovation)
  • disadvantage: certifications often aren't good indicators of what someone can or can not do
  • disadvantage: certifications can be used to limit entry to a field, making their use counterproductive