Alternative Methodologies Ken Peffers UNLV March 2004
Limitations of SDLC Expensive development Suited to in-house development Works poorly if problem not well structured Length of time
Alternative methodologies Prototyping Spiral Model Rapid Application Development (RAD) Phased Development Packages Sourcing
Prototyping Use To determine requirements –users may not know what they want or have trouble imagining what is possible To design user interface –in design phase To build the system
Prototyping 1. Define initial needs. 2. Create “quick and dirty” functionality. 3. User tests and comments. 4. Revise system 5. User tests and comments If satisfactory, step 6, otherwise step Incorporate into requirements or produce production system.
Prototyping Technology Application development environment –Access, Visual Basic Screens only –Storyboarding
Prototyping outcome Prototype may become final version Prototype may be used to define requirements. May be prototyped in one language and final version produced in another
The Spiral Model To reduce project risk –Iterative prototypes –Each iteration moves the project further along Cycle 1—feasibility study –Risk analysis What can go wrong How can the risk be managed –Prototype –Operation concept –Life cycle plan
Spiral Model Cycle 2—systems analysis –Risk analysis –Prototype –Models –Software requirements –Requirements validation –Development plan
Spiral Model Cycle 3—design –Risk analysis –Prototype –Models –Software product design –Design validation and verification –Integration and test plan
Spiral Model Cycle 4—testing, integration, and acceptance –Risk analysis –Operational prototype –Models –Detailed design –Code –Unit test –Integration test –Acceptance test –Implementation
Rapid application development (RAD) Purpose: faster development and higher quality system Heavy user involvement in project front end
RAD steps Investigate problem & develop workable solution Iterative steps with users: –Use application development tool to develop prototype –Put prototype into operation –Refine and modify prototype –Approve acceptable version Complete system Note: system developed with this method ought not be too complex; consider incremental development
Phased Development SDLC, but –JAD sessions –Prototyping –Use of tools to speed development CASE Quick development environments, e.g., VB, Access,
Application Packages Generic application functions –Office automation Industry generic function –Medical practitioner appointment and billing Custom developed application –written in 4th generation language
Package or Custom Development Package –economy –generic need Custom –unique need –performance requirements Customized package –tailor package to unique needs
Sourcing In House Outsource –development –development and operation –purchase service
Sourcing Considerations In House –Building IT capability critical to competitiveness –Low cost in-house development Outsource –Operations critical to competitiveness –Lower costs –Access IT resources unavailable in-house