MIS 301 Chapter 10 Study Guide

Chapter title: Software Development and Project Management

This page turns Chapter 10 into a cleaner study guide focused on how firms decide whether to make, buy, or rent software, how software is actually written and deployed, and why technology projects succeed or fail. The big ideas are make/buy/rent decisions, programming languages, IDEs, compilation vs. interpretation, Java and scripting languages, AI code generation, low code/no code, software development methodologies, SDLC, waterfall, agile, scrum, TCO, project failure causes, and the HealthCare.gov case.

What this chapter is really about

Chapter 10 explains that software development is not just about writing code. It is about deciding what should be built in-house, what should be bought or rented, how systems should be developed, how requirements are managed, and why projects often fail when business users, managers, and technologists are not aligned.

  • Firms must constantly make “make, buy, or rent” decisions.
  • Systems development involves all 5 IS components, not just software.
  • Requirements are often the hardest part of a project.
  • Agile usually beats waterfall in fast-changing environments.
  • Project success depends on business leadership, testing, communication, and disciplined execution.

Fast summary for test prep

  • Make, buy, or rent should be evaluated by case, not as one rule for the whole company.
  • Programming tools include languages, IDEs, compilers, interpreters, and frameworks.
  • Agile is dominant because it is iterative, flexible, and user-centered.
  • Scrum organizes agile work into sprints with clear roles, artifacts, and ceremonies.
  • TCO and project failure risk matter as much as the technology itself.
Test idea: If a question asks why systems projects struggle, do not jump to “bad programmers.” Think about requirements, scope, communication, executive commitment, testing, project leadership, and alignment between business users and IS staff.

Vocabulary and key topics

Term Precise definition Why it matters in MIS Citation
Systems development Systems development is the process of creating and maintaining information systems. It involves all 5 IS components and requires business knowledge, project management, and technical skill. Course slides, pp. 6, 32; textbook Ch. 10
Requirements Requirements are the documented needs, functions, constraints, and goals a system must satisfy. Getting requirements right is often the single most important task in project success. Course slides, pp. 2, 9, 12, 22, 32; textbook Ch. 10
Scope creep Scope creep is the expansion or change of project requirements during development. It is one of the most common causes of project delays, cost overruns, and failure. Course slides, pp. 27, 32; textbook Ch. 10
Programming language A programming language provides the standards, syntax, statements, and instructions for writing software. Managers do not need to master languages, but should understand the major categories and trade-offs. Course slides, p. 13; textbook Ch. 10
IDE An integrated development environment (IDE) is an application that includes tools such as an editor, debugger, and compiler for writing software. IDEs speed development and reduce coding errors. Course slides, p. 13; textbook Ch. 10
Compiler A compiler converts code written in a high-level programming language into machine-readable instructions. This helps explain the difference between compiled and interpreted languages. Course slides, p. 14; textbook Ch. 10
Compiled language A compiled language is translated before execution into instructions that run directly on the microprocessor. Compiled software is usually faster and more suited to performance-heavy tasks. Course slides, p. 14; textbook Ch. 10
Interpreted language An interpreted language is translated and executed at runtime by an interpreter rather than fully compiled ahead of time. Interpreted languages are often easier to use but can run more slowly. Course slides, p. 14; textbook Ch. 10
Java Java is a programming language originally designed to support platform independence through the Java Virtual Machine. Its “write once, run everywhere” goal is an important MIS example of platform strategy. Course slides, p. 14; textbook Ch. 10
JVM The Java Virtual Machine (JVM) is the software layer that interprets Java code so it can run on different operating system and processor combinations. It explains how Java can be more portable across platforms. Textbook Ch. 10
Scripting language A scripting language usually executes within another application or environment and is interpreted rather than compiled directly for a processor. Python, JavaScript, and similar tools are widely used in web, analytics, and automation work. Course slides, p. 14; textbook Ch. 10
Framework A framework is a set of reusable software components, templates, and standards that speed development and reduce errors. Frameworks help teams avoid rebuilding common functions from scratch. Textbook Ch. 10
Low code / no code (LCNC) LCNC tools are highly visual development tools that let users create information systems with little or no traditional coding. They can empower citizen developers, but also raise governance, security, and maintenance concerns. Course slides, pp. 24–25; textbook Ch. 10
Citizen developer A citizen developer is a nontraditional developer, often a business user, who builds apps or workflows using tools like LCNC platforms. This can speed local problem-solving, but can also create risky shadow systems. Course slides, p. 24; textbook Ch. 10
AI code copilot An AI code copilot is a tool that uses large language models to suggest, write, explain, or revise code. These tools can speed work, but managers must understand the risk of flawed or insecure output. Course slides, p. 23; textbook Ch. 10
Software development methodology A software development methodology is a structured approach for organizing software creation and deployment work. Good methodology can improve speed, quality, communication, and project outcomes. Course slides, p. 17; textbook Ch. 10
SDLC The software development lifecycle (SDLC) is the process for planning, analyzing, designing, testing, implementing, and maintaining an information system. It gives managers a big-picture model for how development work unfolds. Textbook Ch. 10
Waterfall The waterfall method is a relatively linear, sequential approach to software development that emphasizes upfront requirements and planning. It can work in stable environments, but is often criticized for rigidity and slowness. Course slides, p. 18; textbook Ch. 10
Agile development Agile development is an iterative, flexible development approach that emphasizes frequent releases, ongoing feedback, and continual improvement. It is the dominant modern methodology because it adapts better to change. Course slides, pp. 19–20, 26; textbook Ch. 10
Scrum Scrum is a popular way to organize agile development using sprints, small cross-functional teams, and regular meetings. Managers often hear scrum terms in real software teams and product groups. Textbook Ch. 10
Sprint A sprint is a short development cycle, often one to six weeks, in which a scrum team completes a defined set of work. Sprints help break large projects into manageable chunks with frequent feedback. Textbook Ch. 10
Product owner The product owner represents the voice of the customer and is responsible for prioritizing requirements and outcomes in scrum. This role is crucial because business priorities must guide development decisions. Textbook Ch. 10
Scrum master The scrum master helps keep the team on process, removes obstacles, and supports sprint execution. This role improves coordination and protects the team from distractions. Textbook Ch. 10
Prototype / wireframe A prototype or wireframe is a mock-up of part of a system used to explore requirements, design, and user interaction. Prototypes help users see and react to something real before full development. Course slides, pp. 21–22; textbook Ch. 10
Project management triple constraint The project management triple constraint is the trade-off among scope, resources, and schedule. Managers must constantly balance what the project will do, how much it will cost, and how long it will take. Course slides, pp. 10–11; textbook Ch. 10
Brook’s Law Brook’s Law is the idea that adding more people to a late software project often makes it even later. It highlights diseconomies of scale and communication overhead in development teams. Course slides, p. 9; textbook Ch. 10
TCO Total cost of ownership (TCO) is the full cost of owning and supporting an information system over time. TCO includes development, documentation, testing, support, training, backup, compliance, security, and more. Textbook Ch. 10
CMMI Capability Maturity Model Integration (CMMI) is a process-improvement approach used to assess and improve organizational development practices. It helps firms strengthen software quality and project discipline. Textbook Ch. 10

Improved explanations of the main ideas

1) Chapter 10 is really about how managers make software decisions under uncertainty. Firms can build software, buy software, rent software, or mix these choices across different projects. The chapter makes clear that there is no one perfect choice for every situation. Good decisions depend on competitive advantage, risk, time, cost, skills, vendor quality, and legal constraints.

2) Systems development is not just programming. The slide deck says this directly: systems development involves all five IS components. That means success depends on hardware, software, data, procedures, and people together. A project can fail even if the code is fine, simply because requirements, training, testing, or process design were weak. :contentReference[oaicite:1]{index=1}

3) Requirements are the hardest and most important part of many projects. The “future role” and final slide emphasize that users must take responsibility for requirements. If business users do not clearly define what they need, developers may build something that is technically correct but operationally wrong. That is why the chapter keeps connecting project success to user involvement, testing, and scope management. :contentReference[oaicite:2]{index=2} :contentReference[oaicite:3]{index=3}

4) The project management triple constraint explains why software trade-offs are unavoidable. Scope, resources, and schedule pull against one another. If you expand scope, you usually need more time or more resources. If you compress the schedule, cost or quality pressure often rises. This is a core MIS management idea, not just a technical detail. :contentReference[oaicite:4]{index=4}

5) Waterfall sounds logical, but often breaks down in real business settings. Waterfall assumes firms can define all major requirements early and then move step-by-step. That can work in stable environments, but software projects often face moving requirements, changing technology, and user discovery along the way. That is why the slides call waterfall increasingly out of favor and responsible for many software fiascos. :contentReference[oaicite:5]{index=5}

6) Agile is dominant because it handles uncertainty better. Agile builds in short cycles, gets user feedback faster, and allows change before too much money is sunk into the wrong direction. The slides explicitly describe agile as dominant because of speed and flexibility. This does not mean agile is chaotic. It means controlled iteration usually beats slow rigidity in fast-changing environments. :contentReference[oaicite:6]{index=6}

7) Prototypes and wireframes matter because they make requirements visible. A user can react much more effectively to a mock-up than to a long requirements document. Prototypes show actual data in context, let users test interfaces early, and improve communication between users and developers. But they can also mislead if users think the mock-up is more finished than it really is. :contentReference[oaicite:7]{index=7}

8) AI will not eliminate the need to understand programming logic. The chapter argues the opposite: more people will generate code, so more people need to understand how code works, where it can fail, and how it can introduce security flaws. AI copilots can be useful, but they can also produce bad code that looks convincing. That means managerial and user judgment matters even more, not less. :contentReference[oaicite:8]{index=8}

9) LCNC tools are useful, but dangerous when they bypass governance. Low code/no code can help small teams, prototyping, dashboards, and time-sensitive internal tools. But the slides emphasize serious concerns: bad data, duplicate systems, legal violations, abandoned platforms, and security holes. The key lesson is not “never use LCNC,” but “use the right tool for the right job, with oversight.” :contentReference[oaicite:9]{index=9}

10) Most software project failures are managerial as much as technical. The slide deck lists poor goal setting, weak leadership, lack of executive commitment, poor resource planning, scope creep, weak communication, bad technical choices, poor testing, and political conflict. These are management failures as much as engineering failures. That is why future managers cannot treat IT projects as something “the tech people” handle alone. :contentReference[oaicite:10]{index=10} :contentReference[oaicite:11]{index=11}

11) HealthCare.gov is the case study for what happens when governance collapses. The launch failed because of unclear authority, weak planning, poor testing, low scalability, bad UX, and poor measurement. The rescue worked because experienced leadership, strong coordination, stand-up meetings, and technologist involvement were finally brought in. The case is not just about government; it is about what large project failure looks like anywhere. :contentReference[oaicite:12]{index=12} :contentReference[oaicite:13]{index=13}

Make, buy, or rent decision factors

Factor Main question Why it matters
Competitive advantage Is this function strategically unique to us? If yes, outsourcing or standard packaged software may weaken differentiation
Security Can we trust a vendor with our code, data, and processes? Bad vendor choice can expose a firm to major operational and strategic risk
Legal and compliance Are there regulatory limits on how we deploy or store this? Some tools simply are not acceptable in regulated settings
Skill and labor Do we have the talent and time to build or support this? In-house development can fail if staff lack expertise or bandwidth
Cost What is the true full-life cost of this choice? Decisions should consider TCO, not only purchase price
Time How fast do we need this working? Building internally may be too slow for some opportunities
Vendor issues Is the partner stable, reputable, and reliable? Weak vendors can become operational liabilities

Programming tools and concepts

Concept What it does Manager takeaway
Programming language Provides the rules for writing software Different languages suit different tasks
IDE Provides editor, debugger, compiler, and other tools Modern tools speed development and reduce simple errors
Compiler Turns human-readable code into machine-executable code Compiled code is often faster and closer to hardware
Interpreter Translates and runs code during execution Usually easier and more flexible, but slower
Framework Supplies reusable building blocks Speeds development and improves consistency

Waterfall vs. Agile quick breakdown

Category Waterfall Agile
Project flow Linear and sequential Iterative and continuous
Requirements Expected to be defined early Can evolve through feedback
Speed Often slower to deliver visible results Faster incremental releases
Flexibility Low High
Best fit Stable needs and predictable environment Changing needs and user-heavy feedback cycles
Main criticism Too rigid and slow Can feel less documented or more chaotic if poorly run

Scrum essentials

Part of Scrum What it means Why it matters
Product owner Represents the customer and prioritizes needs Keeps work tied to business value
Scrum master Keeps the team on process and removes obstacles Improves coordination and focus
Sprint Short cycle of focused development work Creates regular delivery and feedback
Backlog Prioritized list of desired features and work Keeps teams working on the most valuable items first
Daily scrum Short stand-up meeting on progress and blockers Improves communication and surfaces problems early
Review / retrospective Team examines results and improves process Builds learning into the development cycle

Why technology projects fail

Failure cause What it looks like Manager takeaway
Poor goal setting Unclear or unrealistic objectives Projects need measurable business purpose
Weak leadership No one clearly accountable Authority and ownership matter
Limited executive commitment Project lacks support when trade-offs get hard Major projects need visible senior backing
Scope creep Requirements grow mid-project Uncontrolled change can wreck schedules and budgets
Poor communication Users, developers, and managers misunderstand one another Requirements and expectations drift apart
Bad technical choices Immature or poor-fit tools selected Technology fit matters as much as business fit
Weak testing Major flaws surface after launch Late bugs are far more expensive to fix
Politics and pressure Corner-cutting, conflict, and misaligned priorities Process discipline must survive organizational pressure

5-question advanced multiple-choice quiz

Question 1

A company’s recommendation engine is a major reason customers stay longer, buy more, and return more often. A consulting firm offers to replace it with a standard packaged solution that can be deployed quickly and at lower upfront cost. The CFO likes the price, but the product team argues the system should remain under the firm’s control because it is closely tied to how the company competes.

Which factor BEST supports keeping this function in-house?

  1. Competitive advantage, because the recommendation engine is central to differentiation
  2. Interpreted language support, because packaged software cannot run without a compiler
  3. Waterfall discipline, because packaged systems prevent scope creep by default
  4. Low code convenience, because citizen developers should own strategic systems
Correct answer: A. This is a classic make-versus-buy decision driven by competitive advantage. If the system is core to how the firm wins, outsourcing or standardizing it may reduce differentiation. B is wrong because compiled versus interpreted language is not the strategic issue here. C is wrong because packaged software does not automatically solve project scope or strategic fit. D is wrong because strategically critical systems should not be handed casually to citizen development tools.

Question 2

A university team spends months collecting detailed requirements for a new advising platform before building anything. By the time the first version is nearly ready, student needs, advising rules, and campus priorities have already changed. The project team now realizes the process assumed too much stability too early and struggled to adapt as learning happened.

Which development approach is the BEST match for what likely went wrong?

  1. The team misused agile, because agile depends on never changing requirements
  2. The team likely relied too heavily on waterfall in an environment with shifting needs
  3. The team should have replaced the SDLC with a single final-stage testing pass
  4. The team’s main problem was that IDEs make programmers work too quickly
Correct answer: B. Waterfall is most vulnerable when requirements evolve during development, which is exactly what this scenario describes. Agile is usually stronger in changing environments because it emphasizes iteration and user feedback. A is wrong because agile expects change rather than forbids it. C is wrong because reducing process to one late test would worsen the problem. D is wrong because tooling is not the core issue.

Question 3

A nonprofit asks a business user with no formal programming background to build a quick intake app using a low code platform. The first version looks polished and works for a few people, so the organization begins relying on it heavily. A month later, staff discover duplicate records, inconsistent fields, and missing controls around sensitive client data.

Which Chapter 10 lesson BEST explains this problem?

  1. LCNC tools are always inferior because only compiled languages can handle real data
  2. LCNC tools can be helpful, but without governance they can create data, legal, and security problems
  3. LCNC tools fail mainly because Java is not truly write-once, run-anywhere
  4. LCNC tools fail mainly because prototypes should never be shown to end users
Correct answer: B. Chapter 10 does not say LCNC should never be used. It says LCNC can be useful but dangerous if business users create systems without IS governance, data standards, legal awareness, or security controls. A is wrong because the issue is governance, not whether the underlying language is compiled. C is wrong because Java portability is unrelated. D is wrong because prototypes and early user feedback are generally helpful when managed correctly.

Question 4

A manager joins a troubled technology project and suggests solving the delay by simply doubling the number of developers immediately. A senior engineer warns that the team is already struggling with communication overhead, unclear requirements, and coordination problems. She says adding more people right now could actually slow the project further.

Which concept BEST supports the engineer’s warning?

  1. The project management triple constraint, because more scope always reduces schedule
  2. Brook’s Law, because adding people to a late software project can make it later
  3. The JVM, because interpreted code requires fewer developers than native code
  4. CMMI, because process maturity requires teams to stop testing after deployment
Correct answer: B. Brook’s Law directly addresses this situation: adding people to a late project can make it later because coordination and onboarding costs rise. A touches trade-offs in general but does not explain this specific phenomenon. C is unrelated to staffing dynamics. D is wrong because CMMI is about improving process quality, not ending testing.

Question 5

A public-facing government site launches nationally all at once, even though testing has been limited, dashboards are weak, and there is no clear technical owner with authority across vendors. The site crashes under heavy demand, users cannot complete key tasks, and major flaws are discovered only after rollout. A rescue team later improves outcomes by bringing in clear leadership, tighter coordination, and stand-up style communication.

Which diagnosis BEST matches the Chapter 10 case lesson?

  1. The main issue was only a bad programming language choice, so better syntax would have prevented failure
  2. The main issue was that packaged software should always replace custom government systems
  3. The main issue was a combination of weak authority, poor testing, bad coordination, and flawed rollout strategy
  4. The main issue was that agile always fails for large projects with many users
Correct answer: C. This matches the HealthCare.gov lesson almost exactly: large project failure usually comes from a mix of management, testing, architecture, and rollout failures rather than one single technical mistake. A is wrong because language choice alone does not explain the failure. B is too absolute and ignores the real root causes. D is wrong because the rescue actually used agile-like stand-up coordination to help recovery.

Possible short-answer ideas

  • How should firms think about make, buy, or rent decisions?
  • Why are requirements the most important responsibility of business users?
  • Why has agile become more popular than waterfall?
  • How can prototypes improve project success?
  • What are the opportunities and risks of AI-generated code?
  • Why do technology projects often fail even when the core technology seems promising?

Business + MIS connection

  • Managers are responsible for helping define requirements, not just approving budgets.
  • Project success depends on communication among users, managers, and developers.
  • Good methodology improves quality, but methodology alone does not save weak leadership.
  • AI and LCNC tools widen access to software creation, which raises both speed and risk.
  • Most IS spending goes to maintenance and support, so TCO matters as much as launch cost.
A huge Chapter 10 lesson is that systems development is really business problem solving with technology inside it. The strongest projects are not the ones with the fanciest code. They are the ones with clear goals, solid requirements, strong testing, disciplined leadership, and continuous communication.

References / citations

  1. Course slides: “Software Project Management,” MIS 301 Information Technology Management, University of Texas at Austin McCombs School of Business, including slides on user responsibility for requirements, systems development, development challenges, the project management triple constraint, dealing with uncertainty, writing software, compilation vs. interpretation, agile vs. waterfall, prototypes and wireframes, AI and programming, low code/no code, project failure causes, and HealthCare.gov failure and rescue. :contentReference[oaicite:14]{index=14} :contentReference[oaicite:15]{index=15}
  2. Textbook Chapter 10: Used for make/buy/rent decision factors, programming tools and languages, Java and scripting, AI code generation, LCNC risks and uses, SDLC, waterfall, agile, scrum, TCO, project failure causes, CMMI, and the broader analysis of the HealthCare.gov case.