Lecture 1 - Intro and User Stories Flashcards
Define Software
A set of instructions , data or programs used to operate computers and execute specfic tasks.
Define Engineering
Applies a systematic, well defined processes to produce a good quality product.
Define Software Engineering
The combined definition of Software and Engineering, but also that it is a creative process, where there are a few right/wrong answers, but some requirements and designs are better - where choices must be evaluated and justified.
What are the Software Requirements?
- Software capability needed by a user to solve a problem or to achieve an objective.
- Software capability that must be met or possessed by a system of system component to satisfy a contract, standard, specificiation, or other formally imposed document.
What is Software Requirement Analysis?
- Process of studying user needs to arrive at a definition of system, hardware, or software requirements.
What is Software Design?
- A Process to define the architecture, system of elements, interfaces, and other characteristics of a system or system element.
- result of the process (result of step 1).
What is Software Methodologies and what are some examples?
- A system of practices, techniques, procedures, and rules used by those who work in dicipline
- A specification of the process to follow together with the work products to be used and generated, plus the consideration of the people and tools involved, during an information based domain development effort.
Examples:
- Waterfall
- Agile
- Sprints
What is a Software Process?
Is a set of interrelated activities and tasks that transform input work products into output work products.
What are Activities - leading off Software processes?
Are how the people spend their days - ie planning, programming, testing, meeting
What is a Process?
Is how activities fit together, often with pre and post-condition for the activities, ie design review happens 2 days after designs are sent to the participant and produces a list of recommendations.
Why are requirements and design important?
- Every project has uncertainty - requirements are used to deal with it
- Engineers need something concrete to work towards
- Top requirement - “is the solution fit-for-purpose”
- A completed test program that demonstrates requirements are met is an effective tool
Software Engineering Body of Knowledge
REFER TO SLIDE 24 (Dont think I need to know, more showing what we are learning).
Who are the people - in relation to user stories?
Essentially as as software engineer it is the other people you need to work with effectively to solve technical computing problems.
Define Stakeholders
An individual, group, or organisation who my affect, be affected by, or perceive itself to be affected by decision, activity or outcome of a project - NOTE: some stakeholders can have interests that oppose each other or oppose the system.
Define User
A person who interacts with a system, product or services.
Define Customer
Known as the “people who pay” they are an organisation or person that receives a product or service - NOTE: a customer can be internal or external to the organisation, Customers are a subset of stakeholders.
Define Actor.
In UML (Unified, Modelling Language), it is someone or something outside the system that interacts with the system - NOTE: is can be of interest to specify which actor initiates that action.
What is a User Story?
Often written early in the software engineering development process, the pupose is to articulate how a piece or work will deliver a particular value back to the customer and other stakeholders.
What are the benefits of User Stories?
- Stories keep the focus on the user - A To Do List keep sthe team focussed on the tasks that need to be checked off, but a collection of stories keeps the team focussed on solving the problem for real users.
- Stories enable collaboration - With the end goal defined, the team can work together to decide how best to serve the user and meet that goal.
- Stories can drive creative solutions - Stories encourage the team to think critically and creatively about how to best solve for an end goal.
- Stories create momentum - With each passing story the development team enjoys small challanges and small win, driving momentum
What is the format/structure of a story?
As a [role]
I want [functionality]
So that [business value]
ie - As manager [role] i want to be able to understand my colleagues progress [functionaliy], so i can better report our success and failures [business value]
What is a weakness of of User Stories?
I use of “I want” is always followed by a presumed solution, these solutions give little indication whether or not they solve a real business problem
How do you write a good User Story?
Ensure it focuses on the needs and using testers in Agile
Snow Card
REFER TO SLIDES 41-44
How can User Stories be written (what are the standard formats)?
Product Plan
Epic User Story
Index Card - best choice
Powerslides