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.
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.
| 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 |
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}
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
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?
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?
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?
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?
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?