BIC 21003 – System Analysis and Design - Chapter 6 Design Phase
Design Phase: Moving into Design
Learning Objectives
- Explain the initial transition from analysis to design.
- Create a system specification.
- Describe three ways to acquire a system: custom, packaged, and outsourced alternatives.
- Create an alternative matrix.
Transition from Requirements to Design
Brief Preview
Key Ideas
- Systems Analysis: Figure out what the business needs.
- System Design: Figure out how to build the system that fulfills those needs.
- All the “logical” work from Systems Analysis is converted to the “physical”.
Key Definitions
- Design phase:
- Decides how to build the system.
- Creates system requirements that describe all technical details for building the system.
- Determination of the overall system architecture consisting of physical processing components, hardware, software, people, and communication among them to satisfy system requirements.
- System specification:
- Final deliverable from design phase.
- Conveys exactly what system the development team will implement during the implementation phase.
Design Phase Steps
- Determine system acquisition strategy (make, buy, or outsource).
- Determine the technical architecture for the system.
- Address security concerns and globalization issues.
- Make hardware and software selections.
- Determine the way that users will interact with the system (interface, inputs, and outputs).
- Design the programs for the underlying processes.
- Design the way data will be stored.
- Create final deliverable - the system specification.
Elements of System Specification
- Recommended System Acquisition Strategy
- System Acquisition Weighted Alternative Matrix
- Architecture Design
- Hardware and Software Specification
- Interface Design
- Physical Process Model
- Program Design Specifications
- Physical Data Model
- Data Storage Design
- Updated CRUD Matrix
- Updated CASE Repository Entries
System Acquisition Strategies
What is the best way to acquire this system?
Ways to Acquire a New System
- Custom development (build from scratch) in-house
- Purchase software package (and possibly customize it)
- Install on our own computers, or
- Obtain access from a software provider (host)
- Outsource development to third party, who might
- Build system from scratch for us, or
- Purchase software for us, customize and install it
Custom Development: Pros and Cons
- Pros:
- Get exactly what we want.
- New system built consistently with existing technology and standards.
- Build and retain technical skills and function knowledge in-house.
- Allows team flexibility and creativity.
- Unique solutions created for strategic advantage
- Cons:
- Requires significant time and effort.
- May add to existing backlogs.
- May require skills we do not have.
- Often costs more.
- Often takes more calendar time.
- Risk of project failure
Purchased Software
- Application service providers (ASP) supply access to software on a pay-as-you-go basis
- Many applications today are “in the cloud”
- ASP – provider hosts someone else’s software
- SaaS – software vendor hosts its own software
- Considerable savings – no hosting infrastructure needed; host provides everything
- Risks include:
- Fear of losing confidential information
- Performance
*Analyze the vendor as well as the software functionality
*Verify vendor claims with others
*Look carefully at vendor support
*Assess long-term viability of vendor as an on-going business
*A new software company may have a great idea, but can they survive as a business over the long haul?
*If the vendor is an acquisition target, what will happen to the product?*
Purchased Software Packages: Pros and Cons
- Pros: (purchased or obtained from ASP or SaaS)
- No need to “reinvent the wheel” for common business needs.
- Tested, proven product.
- Cost savings.
- Time savings.
- Utilize vendors’ expertise.
- Some customization may be possible
- Cons:
- Rarely a perfect fit.
- Organizational processes must adapt to software.
- Reliance on vendor for maintenance and future enhancements.
- Won’t develop in-house functional and technical skills.
- Unique needs may go unmet.
- May require system integration
Systems Integration
- Building systems by combining packages, existing (legacy) systems, and custom software written for integration
- Integrating data between various parts of the system is the key challenge
- Many consultants specialize in systems integration
Outsourcing: Pros and Cons
- Hiring an external vendor, developer, or service provider to supply the system.
- Can also obtain custom system created by outsourcer.
- Can reduce costs and/or add value (resources, experience).
- Risks include:
- Losing confidential information.
- Losing control over future development.
- Losing learning opportunities
- Pros:
- Hire expertise we don’t have.
- May save time and money.
- Lower risk
- Cons:
- No opportunity to build in-house expertise.
- Reliance on vendor.
- Future options limited.
- Security – potential loss of confidential information.
- Performance based on contract terms
Outsourcing Contracts
- Time and arrangements
- Fixed-price
- Value-added
Outsourcing Guidelines
- Keep lines of communication open
- Define and stabilize requirements before signing the contract
- View the relationship as a partnership
- Select vendor, developer, or provider carefully
- Assign someone to manage the relationship
- Don’t outsource what you don’t understand
- Emphasize flexible requirements, long-term relationships, and short-term contracts
Influences on the Acquisition Strategy
What factors do we consider?
Acquisition Strategy Selection Factors
| When to Use Custom Development | When to Use a Packaged System | When to Use Outsourcing | |
|---|---|---|---|
| Business need | The business need is unique. | The business need is common. | The business need is not core to the business. |
| In-house experience | In-house functional and technical experience exists. | In-house functional experience exists. | In-house functional or technical experience does not exist. |
| Project skills | There is a desire to build in-house skills. | The skills are not strategic. | The decision to outsource is a strategic decision. |
| Project management | The project has a highly skilled project manager and a proven methodology. | The project has a project manager who can coordinate vendor’s efforts. | The project has a highly skilled project manager at the level of the organization that matches the scope of the outsourcing deal. |
| Time frame | The time frame is flexible. | The time frame is short. | The time frame is short or flexible. |
Business Need
- If the business need for the system is common and the technical solutions already exist, packaged software is a solution.
- A custom solution should be explored when the business need is unique.
- Outsourcing is used in situations where the business need is not a critical element of company strategy.
In-House Experience
- If in-house experience exists for all the functional and technical needs of the system, it will be easier to build a custom application.
- A packaged system may be a better alternative for companies that do not have the technical skills to build the desired system.
Project Skills
- The skills that are applied during projects are either technical (e.g., SQL) or functional (e.g., e-commerce).
- Different design alternatives are more viable, depending on how important the skills are to the company’s strategy.
Project Management
- Custom applications require excellent project management and a proven methodology.
- There are so many things that can push a project off track, such as funding obstacles, staffing, and overly demanding business users.
*The project team should choose to develop a custom application only if it is certain that the underlying coordination and control mechanisms will be in place.
*Packaged and outsourcing alternatives also must be managed; however, they are more shielded from internal obstacles.*
Time Frame
- When time is a factor, the project team should probably start looking for a system that is already built and tested.
- If a custom alternative is chosen, and the time frame is very short, consider using techniques like timeboxing to manage the problem.
- An outsourcing solution could take as long a custom development initiative.
Selecting an Acquisition Strategy
How Do We Choose?
Developing Our Options
Start by collecting information
- What tools and technologies are needed for a custom development project?
- What vendors make products that address the project needs?
- What service providers would be able to build this application if outsourced?
*Vendors and consultants are usually willing to provide information about various tools and solutions in the form of brochures, product demonstrations, and information seminars
*Project teams employ several approaches to gather additional information that is needed.*
Request for Proposal (RFP)
- Solicits formal proposals from vendor, developer, or service provider,
- RFPs describe in detail the system or service that is needed, and vendors respond by describing in detail how they could supply those needs, the price, schedule
Request for Information (RFI)
- Smaller budget, shorter and less detailed version
- Is sent to potential vendors to obtain general information about their products and services.
- Sometimes, the RFI is used to determine which vendors have the capability to perform a service. It is often then followed up with an RFP to the qualified vendors
Request for Quote (RFQ)
- Is used when you just need a price without any analysis or description of what is needed
Typical RFP Contents
- Description of desired system
- Special technical needs or circumstances
- Evaluation criteria
- Instructions on how to respond
- Desired schedule
- Other information that will help the submitter to make a more complete or accurate proposal
Developing an Alternative Matrix
- Combine several feasibility analyses into one matrix
- Include technical, economic, and organizational feasibilities
- Assign weights to indicate the relative importance of the criteria
- Assign scores to indicate how well the alternative meets the criteria
Sample Alternative Matrix
- This denotes how well the alternative meets the criteria. 1 = poor fit; 5 = perfect fit.
Chapter Summary: Key Abilities
- Identify and describe the steps associated with the design phase of the project.
- Explain the meaning and purpose of the components of the system specification.
- Explain the pros and cons of obtaining the new system through a custom development project.
- Explain the pros and cons of obtaining the new system through a purchasing a software package.
- Explain the pros and cons of obtaining the new system through an outsourcing firm.
- Explain how the characteristics of the project influence the selection of the acquisition strategy.
- Explain the use of RFPs, RFIs, and RFQs as ways of gathering information from vendors.
- Discuss the use of an alternatives matrix to systematically evaluate and compare alternatives.