A system development methodology is very formal and precise system development processes that define a set of activities, methods, best practices, deliverables, and automated tools that system developer and managers use to develop and maintain information system and software.
Underlying principles for system developments are:
Principle 1: Get the owners and users involved: System owner and user involvement is necessary for successful system development. The individuals responsible for systems development must take time for owners and users insist on their participation and seek agreement from them on all decisions that may affect them. Miscommunication and misunderstanding continue to be significant problem in system development. However, owner and user involvement and education minimize such problems and help in win acceptance of new ideas and technological change. Because people tend to resist change, information technology is often viewed as a threat. The best way to counter that threat is through constant and through communication with owners and users.
Principle 2: Problem Solving Approach: systems analysts should approach all projects using a problem solving approach. The classical problem solving approach is as follows
Study and understand the problem and its context
Define the requirements of suitable solutions
Identify candidate solutions and select the best solution
Design and implement the solution
Observe and evaluate the solution‘s impact, and refine the solution accordingly
Inexperienced problem solvers tend to eliminate or abbreviates one or more of the above steps. The result can range from solving the wrong problem, to incorrectly solving the problem to picking the wrong solution. A methodology‘s problem solving orientation can reduce or eliminate the above risks.
Principle 3: Establish Phases: The phases are
Each phase serves a role in the problem solving process. Some phases identify problems while others evaluate design and implement solutions.
Principle 4: Establish Standards: An organization should embrace standards for both information system and the process used to develop those systems. Standards should minimally encompass the following
• Automated tools
• Information Technology
These standards will be documented and embraced within the context of the chosen system development process or methodology.
Documentation reveals strengths and weakness of the system to multiple stakeholders before the system build. It stimulates user involvement and reassures management about progress.
Principle 5: Justify Systems as Capital Investments: Information systems are capital investments, just as a fleet of trucks and a new building are. When considering a capital investment, two issues must be addressed
Cost effectiveness Risk Management
Cost effectiveness is measured using a technique called cost benefit analysis.
Principle 6: Don’t Be Afraid to Cancel or Revise Scope: A significant advantage of the phased approach to system development is that it provides several opportunities to reevaluate cost- effectiveness and feasibility. There is often temptation to continue with a project only because of the investment already made. In the long run, canceled project are less costly than implemented disasters. This is extremely important for young analysts to remember.
At each check point, the analyst should consider the following options
• Cancel the project if it is no longer feasible
• Reevaluate and adjust the costs and schedule is project scope is to be increased
• Reduce the scope is the project budget and schedule are frozen and not sufficient to cover all project objectives
Principle 7: Divide and Conquer: ―If you want to learn anything, you must not try to learn everything- at least not all at once‖. For this reason, we divide a system into subsystems and components to more easily conquer the system and build the larger system. By dividing the large problem into more easily managed pieces, the analyst can simplify the problem solving process. This divide and conquer approach also complements communication and project management by allowing different pieces of the system to be delegated to different stakeholders.
Principle 8: Design system for growth and change: Many analysts develop systems to meet only
today‘s user requirement because of the pressure to develop the system as quickly as possible.
Although this may seem to be necessary short term strategy, it frequently leads to long term problems.
Now a day‘s tools and techniques make it possible to design systems that can grow and change as requirement grow and change. Flexibility and adaptability do not happen by accident thy must be build into system.