Systems Analysis and Design in an Age of

  • Slides: 24
Download presentation
Systems Analysis and Design in an Age of Options Chapter 1 Systems Analysis and

Systems Analysis and Design in an Age of Options Chapter 1 Systems Analysis and Design in an Age of Options

Some Remarks about the Textbook and Slides • Focus on software which is one

Some Remarks about the Textbook and Slides • Focus on software which is one part of information systems (systems). When authors say "software" many times you can replace it by "system". • The term "business analyst" (BA) often used but the point is really about system analyst (SA). When authors say "BA" you can add or replace it with "SA". • The term "feature" often used. A more precise technical term is "system function". • Some non-standard terms also used ("Big Plan Up Front", etc. ) • A mix of older and newer terms and notation schemes. SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -2

Chapter Outline • Character of System Development • System Requirements Analysis • The Big

Chapter Outline • Character of System Development • System Requirements Analysis • The Big Picture of System Projects in the Plan-Driven Approach • A Major Alternative to Plan-Driven: Agile Approaches • The SA/BA in an Age of Options • Summary SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -3

Software Projects: Difficult and Risky • Standish Group Report (1995): o 16% completely successful

Software Projects: Difficult and Risky • Standish Group Report (1995): o 16% completely successful o 53% failed to fully meet expectations o 31% cancelled prior to delivery • Why is this so? SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -4

Why So Difficult? The Obvious: Software Construction • • • • • • •

Why So Difficult? The Obvious: Software Construction • • • • • • • package fileiowithlooping; import java. util. Scanner; import java. io. File. Input. Stream; import java. io. File. Not. Found. Exception; import java. text. Number. Format; import java. util. Locale; public class File. IOwith. Looping { public static void main(String[] args) { Scanner file. In = null; try { /* Next line opens the file -- note use of escape characters */ file. In = new Scanner(new File. Input. Stream ("C: \Users\gspurrier\Documents\Products. txt")); } /* Following code executes if file is not found, including exit */ catch (File. Not. Found. Exception e) { System. out. println("File not found. "); System. exit(0); } /* Program only reaches this point if file is opened successfully */ Number. Format money = Number. Format. get. Currency. Instance(Locale. US); String code = ""; String description = ""; double price = 0. 0; int inventory = 0; • • • • • • double inventory. Value = 0. 0; double total. Inv. Value = 0. 0; System. out. println("Codet. Descript. Pricet. Inv. t. Value"); System. out. println("----------------------"); String line = null; while (file. In. has. Next. Line()) { line = file. In. next. Line(); String[] columns = line. split(", "); code = columns[0]; description = columns[1]; price = Double. parse. Double(columns[2]); inventory = Integer. parse. Int(columns[3]); inventory. Value = price * inventory; total. Inv. Value += inventory. Value; System. out. println(code + "t" + description + "t" + money. format(price) + "t" + inventory + "t" + money. format(inventory. Value)); } System. out. print("Total Inventory Value = "); System. out. println(money. format(total. Inv. Value)); } } Figure 1 -3 A simple Java program—like reading a foreign language SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -5

Why So Difficult? Off-the-Mark Software Requirements • Poor software construction = not running as

Why So Difficult? Off-the-Mark Software Requirements • Poor software construction = not running as designed • Poor software requirements = o Wrong features (functions): What the system needs to do o Wrong design: How the system will deliver those features (functions, capabilities) • Data • Logic • User Interface SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -6

Creating Systems: Project Teams • A demanding endeavor • Creativity • Complex communications •

Creating Systems: Project Teams • A demanding endeavor • Creativity • Complex communications • Large-frame pattern recognition • Asking interesting questions • Common sense SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -7

Creating Systems: A Human-Driven Process Figure 1 -2. Creating software: requirements, design, programming (construction)

Creating Systems: A Human-Driven Process Figure 1 -2. Creating software: requirements, design, programming (construction) (From i. Stock. com/Seventy. Four; i. Stock. com/skynesher; i. Stock. com/dima_sidelnikov) SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -8

Core Role of the SA: System Requirements * Figure 1 -7 SA&D core purpose:

Core Role of the SA: System Requirements * Figure 1 -7 SA&D core purpose: Determine requirements via analysis and design SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -9

Getting System Requirements from User Stories Figure 1 -6 The format and a specific

Getting System Requirements from User Stories Figure 1 -6 The format and a specific example of a user story and optional supporting acceptance criteria, illustrating how it can fit on a three-by-five-inch card SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -10

User Stories: Example • User Story: o Format: “As a type of customer, I

User Stories: Example • User Story: o Format: “As a type of customer, I want/need some kind of feature so that I can obtain some goal or benefit. ” o Learning: Who, What, and Why (but NOT How) • Examples: For a motor vehicle o As a race car driver, I want a car that • can accelerate rapidly so that I can pass other drivers, • can attain extremely high top speeds so that I can stay ahead of other drivers, • has easily removable wheels so tires can be changed in under 12 seconds and I don’t lose my position during pit stops. SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -11

Differing Requirements What would be requirements for a pickup truck used non-commercially? • brainstorm…

Differing Requirements What would be requirements for a pickup truck used non-commercially? • brainstorm… SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -12

Software Options: Construction vs. Configuration • Construction: o Traditional approach o Programming (e. g.

Software Options: Construction vs. Configuration • Construction: o Traditional approach o Programming (e. g. Java, C#, Python) • Configuration: o Increasingly important alternative o Selecting and configuring third-party software o COTS (commercial-off-the-shelf) software o ERP SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -13

Why SA&D is So Challenging • The SA/BA: o Cannot merely be a passive

Why SA&D is So Challenging • The SA/BA: o Cannot merely be a passive note taker o Must actively help business customers drive the systems project through ü Innovation ü Deep understanding ü Good judgment Figure 1 -8 A metaphor for the many points where the systems requirements and implementation process can go wrong (copyright © projectcartoon. com under the Creative Commons Attribution 3. 0 License) SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -14

Plan-Driven Approach: Like Building a House • Old approach/methodology: o “Traditional SDLC”, “Waterfall” •

Plan-Driven Approach: Like Building a House • Old approach/methodology: o “Traditional SDLC”, “Waterfall” • Key activities executed one after another in a linear approach • Big Requirements Up Front (BRUF) SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -15

Plan-Driven Approach Figure 1 -10 (modified) The plan-driven systems project approach (which includes traditional

Plan-Driven Approach Figure 1 -10 (modified) The plan-driven systems project approach (which includes traditional SDLC and waterfall) System Maintenance Sy ste m De ve lo pm en Adjusting the system, adding functions, storage, other hardware. Extends System Development to SDLC. t DEPLOYMENT TESTING SA&D in an Age of Options, Spurrier & Topi © Prospect Press TRAINING 1 -16

Business Analysis: Modeling Current vs. Future State • Current State: o Way organization currently

Business Analysis: Modeling Current vs. Future State • Current State: o Way organization currently operates o Identifying problems or opportunities that IT can address • Future State: o Way organization will operate with new/improved software • Requirements: o New Capabilities = Future State Capabilities – Current State Capabilities + Refactoring o Or: Current state vs. Future State, the difference is a gap to be bridged (sometimes called Gap Analysis) SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -17

Functional vs. Technical Designs • Functional Design (Logical Design): What the system does (supports)

Functional vs. Technical Designs • Functional Design (Logical Design): What the system does (supports) from the user perspective o Logic o Data o User Interface (not really a system function, but access to functionality) • Technical Designs & Architecture (Physical Design): Focus on technology o Technical Design: Translate functional designs to programming components o Architecture: Overall approach to data storage, processing, communications SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -18

Alternatives to Old System Methodologies: Agile Approaches* • Motivated by poor project outcomes through

Alternatives to Old System Methodologies: Agile Approaches* • Motivated by poor project outcomes through 1990 s • Examples: o e. Xtreme Programming o Scrum • Characteristics: o Iterative construction (“sprints”) o Emergent requirements SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -19

Agile Assumptions • Software development: o Business and technologies change fast o Uncertainty regarding

Agile Assumptions • Software development: o Business and technologies change fast o Uncertainty regarding system requirements, so flexible, evolving design needed o Completed system should fit current biz needs and tech. o Instead of Big Requirements Up Front, “build a little, review a little, revise a little” SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -20

A Compromise Option: Hybrid Approach • Hybrid approach: o A strong, modern approach for

A Compromise Option: Hybrid Approach • Hybrid approach: o A strong, modern approach for large, complex projects o Combination of: • Big Requirements Up Front • Iterative Construction (with some re-planning of requirements) SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -21

SA/BA* as the Bridge between Business and IT Figure 1 -14 Role of the

SA/BA* as the Bridge between Business and IT Figure 1 -14 Role of the business analyst as a bridge between the business team and IT SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -22

Beyond Systems Requirements: Expanded Role of the BA • Expanded role of BA today:

Beyond Systems Requirements: Expanded Role of the BA • Expanded role of BA today: o Agile promotes small teams of generalists o BA therefore may take on wider roles • Project approach selection and planning • Project management • Scrum. Master • Testing • Documentation SA&D in an Age of Options, Spurrier & Topi © Prospect Press 1 -23

Review • Core SA or BA role is to determine system requirements: features and

Review • Core SA or BA role is to determine system requirements: features and designs. • Key systems project activities from the Systems Development Process Framework must be addressed in all systems projects • Today the BA often performs an expanded range of roles in all project activities, including project management and many others. • The BA today operates in an Age of Options: There is no single “best approach” to organize and execute software projects. • Key approaches include: o Plan-driven: Projects can be comprehensively planned using BRUF and then constructed in a linear fashion. o Agile: Projects need emergent requirements during iterative construction. o Hybrid: Combines BRUF with iterative construction. • Security has become a top priority because of high levels of sensitive data, Internetaccessible systems, and the rise of hackers. 1 -24