IBM Full Stack Software Developer study materials
IBM Full Stack Software Developer study resources

IBM Full Stack Software Developer: Software Development Fundamentals

IBM Full Stack Software Developer · Work through your exam, one topic at a time.

All guide sections

Software Development Fundamentals

What this domain tests

Software Development Fundamentals covers how a full stack project moves from requirement to running code: SDLC phases and Agile/Scrum, Git and GitHub collaboration, HTTP as the browser–server contract, and test-driven development. Questions are scenario-based - pick the branch, the commit, or the status code that fits.

Core rules and concepts

  • SDLC: requirements → design → implementation → testing → deployment → maintenance. Agile delivers in short iterations; Scrum adds roles (Product Owner sets backlog priority, Scrum Master removes blockers, Developers build), artifacts (product backlog, sprint backlog, increment) and ceremonies (planning, daily standup, review, retrospective).
  • Git has four places for code: working directory, staging area (git add), local repository (git commit), remote (git push).
  • git fetch downloads new commits without touching your branch; git pull is fetch plus merge, which is why it can produce conflicts.
  • Undo: git revert adds a new commit that reverses an old one and is safe on shared branches; git reset --hard rewrites local history and discards work.
  • HTTP: GET is safe and idempotent, POST is neither, PUT and DELETE are idempotent. 2xx success, 3xx redirect, 4xx client error, 5xx server error.
  • TDD: red → green → refactor.

Worked example

Requirement: a password must be at least 8 characters. Write the test first: expect(validatePassword('abc')).toBe(false). Run it and watch it fail - a test that has never failed proves nothing. Write the smallest implementation that passes, return password.length >= 8, and run the suite again (green). Add a second test for a required digit, watch it fail, then extend the code. Refactor only while every test stays green.

Traps that cost marks

  • Assuming git pull only downloads; it merges.
  • Using reset --hard to fix a pushed commit on a shared branch.
  • Confusing the sprint review (demo to stakeholders) with the retrospective (process improvement).
  • Treating POST and GET as interchangeable for retrieving data.