Learn About Software Product Definition
Software development projects are successful when they deliver business value to the company and their customers. Today, some companies deliver projects in a traditional “Waterfall” approach, others follow Agile Software Development principles, and still others may take a hybrid approach. Key to successfully delivering software in all these environments is having well defined and understood functional and technical software requirements.
This course will show how to solicit requirements from all stakeholders, and how to represent them in both traditional and agile environments. Students will learn from a combination of presentation, videos, readings, research, discussion boards and team projects focused on real-life sample projects. They will gain practical skills to capture and clearly define software requirements, and learn how to manage the Software Requirements Process.
Course Highlights:
- Software Project Delivery Methodologies: Traditional Waterfall, Agile, Hybrid
- A Process Framework for Requirements Development (Elicitation, Analysis, Specification & Validation) and Requirements Management
- Writing Traditional Software Requirements Specifications and Agile User Stories - Common Tools & Models
- Software Requirements Gathering in the Fast Paced Tech Startup environment
- Beyond Functional Requirements; The Cost of Quality
- Prototyping, Modeling and Simulation
- Requirements Baseline and Change Management Processes
- Communication Skills: Active Listening, Empathy
- Managing Software Teams: Management vs. Leadership; The Player/Coach; Having Difficult Conversations
Course Benefits:
- Become familiar with both traditional “Waterfall” and Agile Software Development processes and their requirements deliverables.
- Understand what constitutes well written software requirements / user stories.
- Understand how Communication Skills, such as “active listening” and “empathy” contribute positively to gathering complete requirements, and are critical to delivering customer value.
- Be aware of the many tools available for capturing software requirements in both traditional and agile environments, including software tools and visual models.
- Learn how prototyping, modeling and simulation can be used in conjunction with traditional requirements gathering.
- Articulate how the many diverse stakeholders of a project are involved in Requirements Engineering, including technical team members, marketing/product managers, project managers, and business customers.
Course Typically Offered: Live Online during Fall and Spring quarters
Prerequisites: Understanding of software development projects, ideally as a participant on a project team, in some capacity (software or quality engineer, business or systems analyst, technical or business lead or manager, project manager, end-user, or other project stakeholder).
Next steps: Upon completion of this class, consider enrolling in other courses in the Software Engineering Management Certificate.
More information: Contact infotech@ucsd.edu to learn more about Software Engineering Management and course offerings.
Course Number: CSE-40850
Credit: 3.50 unit(s)
Related Certificate Programs: Software Engineering Management, Software Quality Assurance
There are no sections of this course currently scheduled. Please contact the Science & Technology department at 858-534-3229 or unex-sciencetech@ucsd.edu for information about when this course will be offered again.