What is Scrum process? - CORRECT ANSWER-Brings a lot of people together,
therefore you have lots of meetings (daily) and discuss the progress. Basically you have
planing where you decide which user story you want to work then you finish that in the
sprint and when the sprint is finish the software should be working. The you pick
another sprint and repeat the process.
What's the different between Agile requirement and Traditional requirement? -
CORRECT ANSWER-In agile requirement, we focus more on what people think
therefore we have more meeting.
In traditional requirement, there are lots of documentation.
What are the 3 steps in requirement engineering? - CORRECT ANSWER-
Elicitation/Analysis
Specification
Validation
What's the difference between building vs growing software? - CORRECT ANSWER-In
building, you plan everything before starting but this fails when it comes to software.
In growing you start with simple system that works and grow it.
Name all 3 models (traditional) we have ever talked about and give at least 1 pro and 1
con. - CORRECT ANSWER-Waterfall Model: There are 5 steps, you must complete the
step in order to move onto the next step. With each step completed, there will be
documents to write.
- Requirement
- System/Software design
_ Implementation/Unit testing
_ Integration/System testing
_ Operation/Maintenance
Pro: Good for small system, also good for embedded system
Con: Fails because it's document driven, also last min changes requires a lot of rework.
Prototype Model: This helps gather feedback from customer because you develop
quickly ignoring any error checking. The goal is to check if customer requirement and if
it's doable.
, Pro: Close match to user's real needs, also reduce development effort.
Con: Undocumented, also design might get worse through rapid changes.
Incremental Development: Unlike waterfall where you deliver the system as a single
delivery, in incremental for each functionality you add, you deliver the product as well so
this way the progress is visible to the client for feedback. It is comprise of 3 things.
- Specification
- Implementation
- Validation
Pro: lower risk of project failure, also customer value
Con: Hard to identify common facilities that re needed by all increments.
Why did people come up with Agile? What are the benefits? What are the 2 models that
are agile? - CORRECT ANSWER-To deliver the software to the client faster.
Testing are inter-leaved, developing as a series of versions/increments, frequent
deliver, extensive tool support (Travis CI) and minimal documentation.
The 2 models that are agile are: XP (Extreme Programming) and Scrum
What are the 4 things that make Agile? - CORRECT ANSWER-Individual and
interaction: Build project around motivated people, support dev when there is problem
and tell them they can do this! Give them help if they need it.
What are the 4 main Software process activities? Give their definition as well. -
CORRECT ANSWER-1) Specification: Know what we want to develop by asking the
customer (What should do the system do?)
2) Development: Design what the customer wants. In other words, get the specification
to be realized (program it).
3) Validation: Now that we have the code, we need to do testing. Try to break the
system to ensure it is what the customer requires.
4) Evolution: Software needs to be maintained or refactored. It can also be reacting to
change in market to update/upgrade your software accordingly. Can also be a new
feature your customer wants.
Working software: Customer is the first priority therefore continuous delivery for even
minor changes is good enough to make the customer happy.
Customer collaboration: Work with customer daily! (Customer on the site)