Chapter 10: Software Project Management & Development Study Guide

I. Core Vocabulary & Definitions

II. Software Development Methodologies

III. Programming Concepts & Technology

IV. Strategic Decision-Making: Make, Buy, or Rent

V. Case Studies: Success & Failure

Quiz

Question: Scenario: Alex is managing a student organization’s new event-registration app that is currently two weeks behind schedule. To catch up before the big launch, Alex recruits five more students from the computer science department to help the original three-person team. However, after a week, the project is even further behind as the original members spend all their time training the new recruits.

Which concept best explains why Alex’s decision led to further delays?

A. Brook's Law B. Scope Creep C. Total Cost of Ownership D. Triple Constraint

Correct answer: A

Explanation: Alex's decision is a classic example of Brook's Law, which states that adding more people to a late project actually makes the project later. This occurs because as development teams grow, the average contribution per worker decreases due to "diseconomies of scale" and the time required for coordination. Choice B is incorrect because the requirements did not change, only the staff size; Choice C refers to the long-term cost of owning a system; and Choice D refers to the general need to balance drivers rather than this specific staffing principle.

Question: Scenario: A local bakery wants to launch a delivery app to compete with larger chains in Austin. The owner has a fixed budget of $5,000 and only one developer available for the next month. Suddenly, the owner decides the app must be finished two weeks earlier than originally planned to coincide with a major holiday sale.

According to the Triple Constraint, what is the most likely trade-off required to meet this new deadline?

A. The project must switch from an Agile to a Waterfall methodology. B. The owner must reduce the number of features (requirements) in the app. C. The developer should use a compiled language instead of a scripting language. D. The total cost of ownership (TCO) will decrease automatically.

Correct answer: B

Explanation: The Triple Constraint requires managers to balance three critical drivers: requirements (scope), resources (money/people), and time. Since the bakery owner cannot increase resources and is decreasing the available time, the only remaining driver that can be adjusted to maintain quality is the requirements. Choice A is incorrect because a change in methodology does not solve the mathematical impossibility of the constraints; Choice C refers to technical execution rather than project management drivers; and Choice D is incorrect because rushing a project often increases the long-term TCO due to poor design.

Question: Scenario: A development team at a tech startup is using Scrum to build a new feature for a popular social media app. During their work, members of the marketing department keep approaching individual developers to ask for small "favor" tweaks and font changes. These constant interruptions are preventing the team from finishing their assigned tasks within the current two-week sprint.

Which Scrum role is primarily responsible for acting as a buffer against these external distractions?

A. Product Owner B. Citizen Developer C. Scrum Master D. Team Member

Correct answer: C

Explanation: The Scrum Master serves the team by running meetings, keeping teams on process, and acting as a buffer to external team distractions. While the Product Owner represents the "voice of the customer" and defines requirements, they do not primarily manage the day-to-day interruptions from other departments. Choice B is incorrect because a citizen developer is an end-user who builds their own apps using Low Code tools. Choice D is incorrect because the team focuses on analysis, design, and development rather than shielding the group from external politics.

Question: Scenario: Sarah, a marketing intern at a healthcare clinic, uses a "No Code" platform to quickly build a database that tracks patient feedback and medical history. She is excited because she didn't need any help from the IT department to get the app running in just two days. However, the IT Director is concerned because the app stores sensitive data on a third-party server that was never reviewed for security.

Which risk associated with Low Code/No Code (LCNC) development is MOST significant in this scenario?

A. The app will be too slow because LCNC tools are always interpreted. B. The app will fail because it was not written in an IDE like Xcode. C. The "write once, run anywhere" promise of the tool will be broken. D. The app could violate legal and regulatory requirements like HIPAA.

Correct answer: D

Explanation: A major concern for LCNC tools, especially when used by "citizen developers," is that the resulting systems could violate legal and regulatory requirements like HIPAA or GDPR. Because Sarah built the app without IT oversight, she bypassed the governance principles IT professionals use to ensure compliance with sensitive data laws. Choice A and B focus on technical implementation details that are secondary to the legal risk. Choice C refers to Java’s platform independence rather than LCNC governance risks.

Question: Scenario: A group of students is developing a cross-platform study tool that needs to run on their classmates' various devices, including Windows laptops, MacBooks, and Linux machines. They want to avoid the high cost and extra time required to write and maintain three separate versions of the same software. They decide to use Java for the project.

How does Java specifically solve the students' need for platform independence?

A. It uses a Virtual Machine to interpret code for each specific operating system. B. It is a scripting language that runs directly on the computer's microprocessor. C. It allows citizen developers to use LCNC tools to bypass the microprocessor. D. It automatically eliminates the need for maintenance and support costs (TCO).

Correct answer: A

Explanation: Java provides platform independence through the Java Virtual Machine (JVM), which translates code as it executes into the format required by the specific operating system and microprocessor. This allows developers to "write once, run everywhere" because they don't have to write code for specific OS commands. Choice B is incorrect because scripting languages are interpreted within applications, not directly by the microprocessor. Choice C confuses Java with LCNC tools. Choice D is incorrect because the total cost of ownership (TCO) still includes ongoing maintenance and support for any software.