Software Development

Chapter 10 · SDLC, Agile, LCNC tools, and software project risk

Vocabulary

Software Development Lifecycle (SDLC)

The software development lifecycle is the overall process used to plan, design, build, test, deploy, and maintain a software system. Managers use the SDLC to organize work, assign responsibilities, estimate time and cost, and reduce the risk that a project will become chaotic or fail before launch. A strong SDLC does not guarantee success, but it gives the project structure and checkpoints that make failure less likely.

Sources: MIS 301 Ch. 10 slides; professor study guide; IBM - Software development lifecycle (SDLC)

Software Development Methodologies

Software development methodologies are formal approaches for organizing how software projects are completed. They matter because software projects involve many moving parts, such as requirements gathering, coding, testing, deadlines, budgets, and user feedback. A methodology helps teams coordinate these activities instead of improvising every step.

Sources: MIS 301 Ch. 10 slides; professor study guide; Atlassian - Software development methodologies

Agile vs. Waterfall from slides

Waterfall is a sequential development method in which work moves through major stages one at a time, while Agile is an iterative method that builds software in smaller cycles and adjusts more easily to feedback and changing needs. Waterfall can work when requirements are stable and well defined, but Agile is usually better when user needs may evolve during the project. Managers need to choose the method that best fits the project’s uncertainty, speed requirements, and level of stakeholder involvement.

Sources: MIS 301 Ch. 10 slides; Atlassian - Agile vs. Waterfall

Feature Creep / Scope Creep

Scope creep happens when new features, requirements, or changes are added to a project after work has already begun, often without fully adjusting the timeline, budget, or staffing. It is one of the biggest reasons technology projects fail because small additions can accumulate into major delays, confusion, and cost overruns. Managers prevent scope creep by setting clear requirements early, documenting change requests, and forcing tradeoffs when new requests are made.

Sources: MIS 301 Ch. 10 slides; professor study guide; Forbes - scope creep

Triple Constraint

The triple constraint is the idea that every project is limited by scope, time, and cost, and changing one of those constraints usually affects the others. For example, adding features may require more time or more money, while cutting the deadline may force the team to reduce scope. This concept matters because managers cannot demand everything at once without tradeoffs.

Sources: MIS 301 Ch. 10 slides; professor study guide; Project Management Institute - Triple constraint

Low Code / No Code (LCNC) Environment from slides

A low-code or no-code environment lets users create applications with visual tools, templates, and drag-and-drop logic instead of writing most of the code manually. These tools can speed up development and allow business users to solve smaller workflow problems on their own. However, they can also create governance, security, and integration risks if firms let people build important systems without proper oversight.

Sources: MIS 301 Ch. 10 slides; professor study guide; Microsoft - What is low-code?

Citizen Developer from slides

A citizen developer is a nontraditional developer, often a business user rather than a trained software engineer, who creates apps or automations using low-code or no-code tools. Citizen developers can increase speed and relieve pressure on IT teams, but firms still need standards for security, data quality, and maintenance. Without those controls, useful quick fixes can turn into fragile shadow systems.

Sources: MIS 301 Ch. 10 slides; professor study guide; ServiceNow - Citizen developer

Product Owner from slides

In Agile development, the product owner is the person responsible for representing the customer or business side of the project and deciding which features matter most. The product owner helps prioritize the backlog, clarify requirements, and make sure the team is building something that actually creates value. This role is critical because developers need a clear decision-maker when priorities conflict.

Sources: MIS 301 Ch. 10 slides; Atlassian - Product owner

Programming Language

A programming language is a formal language used to write instructions that computers can execute. In software development, the choice of language affects development speed, available libraries, integration options, hiring needs, and long-term maintenance. Managers do not need to code every language themselves, but they should understand that language choice has business consequences.

Sources: MIS 301 Ch. 10 slides; professor study guide; Britannica - programming language

Compliance from slides

Compliance means making sure a software system and the processes around it meet relevant legal, regulatory, security, and internal policy requirements. In software development, compliance becomes important when systems handle sensitive data, financial information, healthcare records, or other protected information. A project that works technically can still fail from a business perspective if it violates compliance requirements.

Sources: MIS 301 Ch. 10 slides; IBM - Compliance

Make vs. Buy vs. Rent Decision from slides

The make, buy, or rent decision is the choice between building custom software internally, purchasing packaged software, or renting software through a SaaS or cloud model. The best option depends on factors such as strategic importance, cost, required customization, speed, available talent, maintenance burden, and compliance needs. This is a core management decision because the wrong choice can lock a firm into unnecessary expense or poor fit.

Source: MIS 301 Ch. 10 slides; Textbook: 10.1 Make, Buy, or Rent

Technical Debt from slides

Technical debt is the future cost created when a team chooses a quick or convenient solution now instead of building software the best long-term way. Teams sometimes accept technical debt to move faster, but too much of it can make software harder to maintain, more error-prone, and more expensive to improve later. Managers should understand technical debt because rushing development can create hidden costs that appear months after launch.

Sources: MIS 301 Ch. 10 slides; IBM - Technical debt

Key Questions

Practice Quiz

Instructions: Select the best answer for each question, then click "Check Answer."

1. A company keeps adding small feature requests to a mobile app after development has already started, but it does not extend the deadline or budget. Which concept best explains why the project is now in danger?

2. A manager says, “We want the fastest possible launch, the lowest possible cost, and every requested feature.” Which idea shows why that demand is unrealistic?

3. A sales team employee builds an internal workflow app with a drag-and-drop low-code tool even though they are not a software engineer. What is the best term for this person?

4. A firm needs a highly customized system that directly supports a unique competitive advantage, and existing packaged tools do not fit well. Which choice is most likely to make sense?

5. A development team rushes out a product by using temporary shortcuts in the codebase, planning to clean it up later. Months later, updates are slow and bugs are harder to fix. What concept best fits this situation?