Week 1: Overview of Software Development
Learner Notes
Learning Objectives
After studying this week’s material and participating in the activities, you will be able
to:
• Define software development and explain why it matters in today’s world.
• Describe the phases of the Software Development Lifecycle (SDLC) and understand
why a structured process is essential.
• Identify the key roles in a software development team and what each role con-
tributes.
1 What is Software Development?
1.1 A World Running on Software
Think about everything you did today. Did you:
• Check your phone when you woke up?
• Use an app to listen to music?
• Withdraw money from an ATM?
• Attend an online class?
• Order food or a ride?
All of these activities rely on software—the invisible instructions that tell hardware what
to do. Software development is the discipline of creating, improving, and maintaining
these instructions.
1.2 Formal Definition
Software development is the systematic process of:
• Understanding what users need (requirements)
• Designing a solution
• Writing the code
2
• Testing to make sure it works
• Deploying it so people can use it
• Maintaining it over time
Analogy: Building a house. You don’t just start putting bricks together. You need a
blueprint, permits, foundations, plumbing, electricity, and finishing. Software is similar,
except it’s invisible and changes much more frequently.
1.3 Why is Software Development So Important?
Reason Explanation
Economic Software powers businesses, from small shops using
e-commerce platforms to global companies like Amazon.
Millions of jobs depend on it.
Social Social media, telemedicine, online education—all rely on soft-
ware to connect people and provide services.
Safety-critical Medical devices, airplane controls, and nuclear power plants
are controlled by software. Bugs can have life-or-death conse-
quences.
Innovation New ideas (artificial intelligence, autonomous cars, blockchain)
become reality through software.
2 The Software Development Lifecycle (SDLC)
A software project is more than just writing code. The SDLC provides a structured way
to go from an idea to a working, reliable product.
2.1 The Six Phases
Important: These phases are not always strictly sequential. In modern approaches (like
Agile), you cycle through them many times, delivering small improvements frequently.
2.2 Why Bother with a Lifecycle?
Without a process:
• You might build the wrong thing because you didn’t understand requirements.
• The code becomes messy and hard to maintain.
• Testing is an afterthought, leading to many bugs.
• Projects are delivered late or over budget.
A structured lifecycle helps you deliver quality software that actually solves the problem
it was meant to solve.
3
Phase What Happens Example
1. Requirements Talk to users and A hospital needs an appointment system
stakeholders to that prevents double-booking and sends re-
understand what minders.
the software must
do.
2. Design Plan how the Choose a web-based system, design the
software will be database tables, sketch the screens.
built. Decide
on architecture,
database, user
interface, etc.
3. Implementation (Coding) Write the actual Programmers write the backend logic and
code according to frontend interface.
the design.
4. Testing Verify that the Test that two patients cannot book the same
software meets re- slot; run automated tests.
quirements and is
free of bugs.
5. Deployment Release the soft- Upload the system to hospital servers; train
ware so users can staff.
start using it.
6. Maintenance Fix bugs, add Add SMS reminders; update security
new features, and patches.
adapt to changes
over time.
3 Roles in a Software Development Team
Software is rarely built by one person. Even if you work alone, you need to think like a
team. Here are the common roles you’ll encounter.
3.1 Key Roles and Their Responsibilities
3.2 How Teams Work Together
In many teams, especially those using Scrum, these roles collaborate closely. For example:
• The Product Owner brings a list of features (the backlog).
• The Developers, QA, and Designers work together to build and test each feature.
• The Scrum Master helps the team stay focused and removes obstacles.
Note: In small teams or startups, one person may fill several roles. However, under-
standing each role helps you communicate better and appreciate the full picture of a
project.
4
Role Main Responsibilities Typical Questions They Ask
Product Owner Represents the customer. “Which feature gives the most value? What
Decides what features to problem are we solving?”
build and in what order.
Business Analyst Gathers and documents “How exactly will the user interact with the
requirements. Bridges system?”
the gap between business
needs and technical solu-
tions.
Project Manager Tracks progress, manages “Are we on schedule? What’s blocking us?”
timelines, ensures commu-
nication.
Software Architect Makes high-level design “Will this design scale to thousands of
decisions. Chooses tech- users?”
nologies and defines the
overall structure.
Developer Writes, debugs, and main- “How do I turn this requirement into clean,
tains code. Implements efficient code?”
features according to de-
sign.
QA / Tester Creates test cases, runs “What edge cases might break this?”
tests, reports bugs, and en-
sures quality.
DevOps Engineer Manages deployment, “How do we deploy safely and roll back if
servers, and automation needed?”
pipelines.
UX/UI Designer Designs the user interface “Is this interface easy to use?”
and ensures a smooth user
experience.
4 Activities for This Week
These activities will help you apply what you have learned.
4.1 Activity 1: Personal Software Inventory
1. List five pieces of software you used today.
2. For each, note one problem it solves for you.
3. Imagine if that software disappeared—what would be the impact?
Purpose: To recognise how embedded software is in daily life.
4.2 Activity 2: Role-Play (In Class or Group Discussion)
With a small group of classmates:
1. Assign each person a different role (Product Owner, Developer, QA, Designer, etc.).
5
2. Your group has been asked to create an app for students to find study partners on
campus.
3. Discuss the project from your assigned role’s perspective. What questions would
you ask? What concerns would you raise?
Purpose: To understand that each role sees the project differently, and all perspectives
are needed for success.
4.3 Activity 3: Identify the SDLC Phase
Look at the following scenarios. Which SDLC phase is being described?
1. A developer writes a function to validate a user’s email address.
2. The team meets with hospital staff to understand how they currently schedule
appointments.
3. A tester runs a script that automatically tries to book two patients at the same
time.
4. The system is uploaded to a cloud server and made available to users.
5. A year after launch, the team adds a new feature for sending SMS reminders.
Check your answers at the end of these notes.
5 Summary
• Software development is a systematic process for creating and maintaining software.
It is essential to nearly every part of modern life.
• The Software Development Lifecycle (SDLC) provides a structure with phases: Re-
quirements → Design → Implementation → Testing → Deployment → Mainte-
nance.
• Software teams consist of diverse roles (Product Owner, Developer, QA, etc.). Each
role contributes unique skills and perspectives.
• In this course, you will experience all these phases and roles through your Capstone
Project.
6 Preview of Next Week
Next week we move into Programming Foundations. You will learn:
• Basic programming concepts: variables, data types, control structures.
• An overview of popular languages: Python, Java, and JavaScript.
• How to write your first simple programs.
Make sure you have access to a code editor and that your Git/GitHub account is ready.
6
7 Self-Assessment Questions
1. Define software development in your own words.
2. List the six phases of the SDLC and briefly describe what happens in each.
3. Why is it important to have a structured process like the SDLC?
4. Name three different roles in a software team and one key responsibility for each.
5. (Optional) Reflect: Which role do you think you would enjoy most? Why?
Answers to Activity 3
1. Implementation
2. Requirements
3. Testing
4. Deployment
5. Maintenance
These notes are your primary resource for Week 1. Read them carefully, complete the
activities, and come to class ready to discuss and ask questions.