SWE 2 Exam 1

Created by Lea Sulthana Syed

What is the main difference between incremental and iterative development?
Incremental development starts with small functionality and adds new functionality with each new release, while iterative development starts with a minimal full system and enhances the functionality of each component with each iteration.

1/121

TermDefinition
What is the main difference between incremental and iterative development?
Incremental development starts with small functionality and adds new functionality with each new release, while iterative development starts with a minimal full system and enhances the functionality of each component with each iteration.
How does the risk timeline differ between Waterfall and Agile processes?
In a Waterfall process, the risk remains high until the final release, whereas in an Agile process, the risk drops after each incremental release.
When is value delivered in a Waterfall model vs an Agile model?
In Waterfall, value is delivered as a single event at the end of the timeline, whereas in Agile, value is delivered incrementally at the end of each build.
Can a Scrum team change the end date of a Sprint once it has started?
No, the Sprint end date and the team deliverable do not change.
What are the three main roles shown in the Scrum framework?
Product Owner, Scrum Master, and Developers/The Team.
Sprint Retrospective
A phase held after the Sprint Review where the team reflects on the process to discuss and identify improvements.
Process
A structured set of planned activities performed to achieve a specific goal.
Scrum Master
The key facilitator of the Agile process who removes obstacles, guides the team, and ensures Scrum practices are followed.
User stories
Short, structured descriptions of features from the user's perspective.
Product Backlog
An ordered list of everything that might be needed in the product.
Sprint Backlog
A subset of the product backlog consisting of specific items that a team commits to complete in a time-boxed sprint.
Artifacts
The backlogs and deliverables used in development, such as the Product Backlog, Sprint Backlog, and Increment.
Events
Time-boxed cycles to deliver value, which include Sprint Planning, the Daily Stand-up, Sprint Review, and the Retrospective.
Development work
The phase to build, test, and integrate features.
Sprint Review
A phase near the end of a sprint where the team demos completed work to stakeholders.
What is quality software?
Meets the requirements within the budget and schedule
T/F Quality is considered free
True, ensuring high quality likely means less cost to fix issues over time
What is the purpose of a code of ethics?
Establish standards for right and wrong, may be implicit (understood) or explicit (documented)
What is a professional code of ethics?
A documented set of guidelines for acceptable behavior defined by an industry, business, or professional society, emphasizing responsibility, accountability, and integrity
What is the code of ethics that all software engineers must abide by?
The ACM/IEEE-CS Software Engineering Code of Ethics
What are the consequences of non-compliance with a professional code of ethics?
Legal, financial, or reputational
Engineering code of ethics
Guidelines ensuring moral and best practices in engineering that define how engineers design and build safe, reliable systems.
What does "safe" mean for software according to engineering ethics?
No silent data loss and no security holes.
As an engineer, you must always
hold safety paramount and perform service with competence
What are the four pillars of ACM Ethical Principles
General Ethical Principles, Professional Responsibilities, Professional Leadership Principles, and Compliance
General Ethical Principles
Guide contributions to society and integrity
Professional Responsibilities
Ensure high-quality work and competence
Professional Leadership Principles
Promote ethical leadership
Compliance
adhere to and uphold the code
Public Principle of the IEEE-CS/ACM Code of Ethics
Accept full responsibility for your own work, approve software only if it is safe, and disclose actual or potential dangers — act with public interest
Client and Employer Principle of the IEEE-CS/ACM Code of Ethics
Provide service only in areas of your actual competence, keep information confidential, and disclose any conflicts of interest.
Product Principle of the IEEE-CS/ACM Code of Ethics
Ensure products and modifications meet the highest professional standards possible, ensure adequate testing, and give honest estimates.
Judgment Principle of the IEEE-CS/ACM Code of Ethics
Maintain integrity and independence in professional judgment.
Management Principle of the IEEE-CS/ACM Code of Ethics
Promote an ethical approach to managing software development and maintenance.
Profession Principle of the IEEE-CS/ACM Code of Ethics
Advance the integrity and reputation of the profession, consistent with the public interest, and report code violations when the public interest is at stake.
Colleagues Principle of the IEEE-CS/ACM Code of Ethics
Be fair to and supportive of colleagues, support their professional development, and review their work objectively.
Self Principle of the IEEE-CS/ACM Code of Ethics
Participate in lifelong learning and promote an ethical approach to the practice of the profession.
General Ethical Principle 1.1
Contribute to society and human well-being
General Ethical Principle 1.2
Avoid harm
General Ethical Principle 1.3
Be honest and trustworthy
General Ethical Principle 1.4
Be fair and take action not to discriminate
General Ethical Principle 1.5
Respect the work required to produce new ideas, inventions, and creative works
General Ethical Principle 1.6
Respect privacy
General Ethical Principle 1.7
Honor confidentiality
Professional Responsibility 2.1
Strive to achieve high quality in both processes and products of professional work
Professional Responsibility 2.2
Maintain high standards of professional competence
Professional Responsibility 2.4
Accept and provide appropriate professional review
Professional Responsibility 2.6
Perform work only in area of competence
Engineers are trained to solve technical problems while AI
automates routine tasks
What are software engineers shifting focus to?
Moving from code generation to system architecture and orchestration
List the five long-term advantages of humans
goal-setting, domain context, judgement, discipline, and accountability
What are the current labor market insights on career growth?
Technical and cognitive skills are necessary but not sufficient, as social and coordination-intensive roles are growing
T/F AI eliminates the need to understand engineering fundamentals
False
A weak understanding of engineering fundamentals causes the AI to be...
less efficient and makes it hard to spot subtle logic errors, security flaws, or bad assumptions
Data and IP leakage
pasting proprietary code or customer data into a public LLM where you no longer control where it goes
Prompt injection and agentic risk
coding agents have the ability to execute commands and call APIs autonomously, so hidden instructions can hijack an agent
Supply chain exposure
attackers registering fake package names hallucinated by AI and waiting for developers to copy and paste them
Acceptable AI workflow
Writing specifications and constraints first, treating AI as a junior teammate needing oversight, and refactoring generated output to match team architecture
Unacceptable AI practices
Copy-pasting unverified code, submitting AI output as unassisted original work, or using AI to bypass understanding of core algorithms
What is the rule for AI deployment?
If you cannot explain it, verify it, or debug it, you cannot deploy it
T/F Arther Mensch stated the greater risk of AI is "people grow lazy by stopping searching, stopping synthesizing, and accepting the model as truth"
True
Mandatory AI Disclosure Components
Recording the specific tool and model version, maintaining prompt sequences, and keeping a clear boundary between AI-assisted and human-authored code
Verification Statements for AI
Explicit confirmation of full human comprehension, test suites for malformed input, and documented limitations
Pull Request Components for AI
Tool and model version, intent and prompts, human modifications, and a verification suite
Why can't AI possess virtues the same way humans can?
AI operates on objective functions and statistical pattern recognition without self-reflection, free will, or intrinsic moral agency
What are the four cardinal virtues in software engineering?
practice wisdom, justice, courage, self-discipline
Practical wisdom (prudence)
Evaluating trade-offs, security implications, and design constraints
Justice (fairness)
Accurate attribution, user data privacy, and unbiased algorithms
Courage (fortitude)
Refusing to ship unverified code under deadline pressure and owning failures rather than deflecting them
Self-discipline (temperance)
Resisting shortcuts, conducting rigorous review, and implementing thorough testing
The 3-step ethical decision framework
Gather the facts, consider the consequences, and test the decision
What are the three tests for an ethical decision?
The time test, the transparency test, and the exception test
What are the four steps to implement AI in industry according to Harvard Business Review?
Translate ethics into coding standards, integrate compliance into CI/CD, calibrate and audit models, and proliferate peer learning networks
What is the formula for long term engineering success?
Technical excellence plus virtues equals an irreplaceable engineer
What is software project management according to IEEE (SWEBOK)?
The application of a set of activities and processes for the purpose of planning, organizing, staffing, directing, and controlling software projects
List the seven stages of the software life cycle
Idea, Requirements, Design, Coding, Testing, Deploy, and Maintenance
What question does defining the project scope answer?
The "What?" or what the software will and will not do
List the three elements of project estimation
Effort, Duration, and Cost
Effort
total work required (person-hours)
Duration
total calendar time it will take
Cost
total budget (labor and materials)
T/F Creating a schedule allows the project to be broken into smaller, more manageable tasks which can be arranged on a timeline
True
What are the two most common project process approaches?
Agile and Waterfall
T/F Waterfall is best suited for projects with unclear or changing requirements
False, Waterfall is used when requirements are stable and well-understood from the beginning
When should you use the Agile development process?
For projects with unclear or changing requirements and when you need to quickly adapt to new information or user feedback
T/F You should ignore risks and quality standards when developing software
False, it is important to identify and manage risks to ensure high quality
What are the three reasons software project management is important?
Complex projects, failure is real risk, must manage scope, time, and cost
T/F According to the Standish Group's CHAOS Report, over 50% of software projects fail to meet their goals for time, cost, or quality
True
What is considered the triple constraint in software project management?
Scope, time, and cost
When using a radar chart, _____ is used when the graph is close to the center, and ____ is used when the graph is far from the center
Agile is close to center, Waterfall is far from center
What is the IEEE definition of software quality assurance?
The set of planned and systematic activities that ensure software products meet established requirements
List the five factors to measure when choosing between Agile and Waterfall processes
Personnel, Project size, Dynamism, Criticality, and Culture
What are the five effort and cost estimation approaches?
expert judgement, analogy-based estimation, top-down estimation, algorithmic models, and planning poker
Algorithmic Approach to Use Case Points
quantitative estimation method, calculates effort from number and complexity of use cases and actors
Algorithmic Approach Step 1 Unadjusted Use Case Weight (UUCW)
Simple (less than 3 steps) = 5 points, Average (4-7 steps) = 10 points, Complex (7 or more steps) = 15 points
Algorithmic Approach Step 2 Unadjusted Actor Weight (UAW)
Simple (another system) = 1, Average (user through API) = 2, Complex (GUI user) = 3
Algorithmic Approach Step 3 Unadjusted UCP (UUCP)
Add UUCW and UAW
Algorithmic Approach Step 4 Technical Complexity Factor
by rating 13 technical factors such as performance needs, security, and portability on a scale from 0-5 TCF = 0.6 + (0.01 * sum(technical factor weights))
Algorithmic Approach Step 5 Environmental Complexity Factor
by rating 8 environmental factors such as motivation, part-time staff, and technical experience ECF = 1.4 + (-0.03 * sum(env factor weights))
Algorithmic Approach Step 6 Total Use Case Points (UCP)
= Step 3 + Step 4 + Step 5 OR UCP = UUCP + TCF + ECF
Algorithmic Approach Step 6 Estimate Total Effort
Effort = ECP * Productivity Factor
Productivity Factor
person-hours per UCP
Why are story points important to learn?
industry standard, creates good conversations, works well in a stable team
T/F Absolute estimates in hours are often incorrect due to the unknown
True
List the problems using absolute estimates
Anchor bias, padding, interpretation, misuse focusing on time instead of value
Story Point
unit of measurement to estimate the total effort required to complete a user story (a feature or a task)
What are the three factors that go into guessing a story points value?
Amount of work, complexity, risk and uncertainty
Why is it important to use points to estimate instead of hours?
Skill differences between team members, accounting for human nature and hidden complexities
Story Points and Planning Poker
use a modified fibonacci sequence to agree on point values for tasks (1,2,3,5,8)
Why does planning poker use a fibonacci sequence?
as tasks get larger, uncertainty grows and the gaps between the values force the team to recognize that they are unpredictable
T/F Planning poker uses independent voting for team members to vote on point values and discuss their reasoning
True
Once a team starts working in sprints, they track their velocity. What is velocity?
The total number of story points successfully completed in a single sprint, allows the project manager to forecast how much work the team can handle in future sprints
T/F Velocity is not a productivity performance indicator
True, it is a planning tool for the team
What are the three common pitfalls when working with story points?
estimating individual tasks in hours instead of effort, keeping the same point value when the scope changes, letting a single expert dictate the estimate
What is the timeline for planning poker estimation?
Story presentation, clarifying questions, private vote, revealing estimates, discussion, re-vote, final estimate
What is a spike story?
A type of user story created to gain knowledge or reduce uncertainty rather than to deliver shippable functionality
Scheduling
When? Breaking projects into manageable tasks and timelines
Team Management
Who? Assigning tasks and effective communication
Process Selection
How? Agile/Waterfall
Risk Management
What If? Anticipating failures
Quality Assurance
How Good?