Project Design Process Flashcards
What is software development concerned with?
How a piece of software is designed, built and tested
What is project management?
Process of controlling and managing a project from an initial idea through to completion and delivery
What is the scope of a project?
Work that needs to be accomplished to deliver a product
What are the stages in the waterfall model?
Analysis Design Implementation Testing Documentation Evaluation Maintenance
Why is the waterfall model referred to as iterative?
May have to return to previous stages in light of new information
State some advantages of the waterfall model
- Simple and easy to understand
- Each stage has a clear set of deliverables
- Phases don’t overlap
- Great for small projects where all requirements are known
State some disadvantages of the waterfall model
- Once development has reached testing phase, very difficult to go back to change things
- No working software produced till relatively late on
- High amounts of risk and uncertainty
Why is the waterfall model unrealistic for many projects?
Requires everything to be known about the project before starting
State the typical roles in the waterfall model
Systems Analyst
Programmer
Client
Project Manager
Who produces the requirements specification in the waterfall model?
Systems Analyst
What does the programmer do in the waterfall model?
Writes and tests the program code
What is the name of the person who the software is being produced for?
Client
What is the project manager responsible for?
Ensuring the project is well managed, delivered on time and meets the requirements
State some thing the requirements specification states
Scope and boundaries of the project
Basis of payment
Sets out how the code will be tested and developed
Any long term maintenance agreement
What is the project plan?
Formal, approved document used to guide both project execution and project control
What does user documentation detail?
How the end user can use the product
What is the technical document created to do?
Detail technical aspects of the software such as installation requirements
What is the agile development methodology designed to do?
Address the difficulties of the waterfall model
What does agile focus on?
Developing software quickly
What is a common implementation of agile?
SCRUM
What is incremental development?
Small releases of software that start with just a few requirements of the software and build up to a full working model
What are the three stages that consist of a sprint?
Design
Test
Build
What is a sprint?
A period of development when a fixed set of product items are developed
How do agile developers get feedback from the clients?
Frequent face to face meetings
What are the three main roles in the SCRUM model?
Product owner
Scrum team
Scrum master
What is the product owner’s role?
Reflect the view of any key stakeholders in the project
How does the product owner convey their vision for the project to the team?
Prioritizing the product backlog
What is the product backlog?
A detailed analysis document which details all the requirements of the project
What is the scrum team responsible for?
Development of the software
How many people are typically on a scrum team?
5 to 9
How do scrum projects scale up on bigger projects?
By adding more scrum teams, not adding more people to a scrum team
What is the scrum master and what are they responsible for?
Coach for the scrum team, responsible for getting the best out of the scrum team
How does the scrum master get the best out of the scrum team?
Removing any barriers to progress
Facilitating meetings
Working with the project owner on the backlog for the next sprint
What is project initialization?
Phase of a software development project where an idea for a project is examined and expanded on
Who is the project sponsor?
A senior management personnel that represents the client, supports the project and assesses it’s success
What is the first goal of project initialization?
Determine the feasibility of the project
What does the project proposal document detail?
Initial detail about the project and its feasibility
What is the basic purpose of a feasibility study?
To work out if the proposed expenditure of time and money is likely to be worthwhile and whether the objectives of the project can be achieved
Who is the feasibility study carried out by?
The project leader
What are the four areas of feasibility?
Technical
Legal
Economical
Schedule
Give some examples of risks with new software development
Software companies and clients often have different vocab and so may be in agreement until the final product is produced
Management may have unrealistic expectations
Training of personnel in new products
What should technical feasibility look at?
Whether suitable technologies are available for the development of the proposed system
What is the economic feasibility?
Feasibility studies that deals with the cost implications involved that looks at cost-benefit analysis
Give examples of costs that come with developing a new system
- Acquiring the project in the first place
- Costs of installing it
- Costs of maintaining the system
- Costs of training staff
What is the break even point of a system?
Where the new system stops costing money and starts to make money
Give tangible benefits management may look for when designing a new system
- Reduced running costs
- Increased operational speed
- Increased throughput of work
- Better reporting facilities
What does the legal feasibility study deal with?
Conflicts that may arise between the proposed systems and legal requirements
Give examples of ways a licence can be published
Client Licence
Server Licence
Network Licence
Site Licence
What are the two period of operations for licences?
Annual or perpetual
Give examples of questions that may be asked in the schedule feasibility
- How long will the proposed system take to develop
- Will it be ready in the specific time frame
- When is the best time to install
What is a Gantt Chart?
Horizontal bar graph used to plan and schedule projects involving several concurrent tasks
What is an advantage of a gantt chart?
Shows at a glance the progress of a project
Give examples of reasons why a project may be abandoned after a feasibility study
- too costly to develop
- incompatible with data protection laws
- unable to be completed in time
What will the project initialization include?
- project proposal
- business case
- product backlog
What is a business case?
Justification for need of project and cost/benefit analysis
What is analysis?
Process of understanding what it is that the client wants the software to do
When is each period of analysis undertaken?
Weekly backlog review of the product backlog
What happens during the sprint planning meeting?
Product owner presents the top items on the product backlog to the team
How does the team get to understand the intended users of the project?
Interviewing users
Working with them in focus groups
Engaging in workshops
What are personas?
Fictional characters created to represent the different user types that the design team have encountered
What is a user story?
A user story is a brief statement that identifies the user and his/her need. It is a direct statement that relates to a specific persona.
What is a user scenario?
A user scenario expands upon already developed user stories by including details about how a system might be interpreted, experienced, and used
What is a use case?
A use case is a list of steps a user would take to perform an action.
What are constraints?
Limitations that affect the development of the product
Define the functional requirements of a project
What a product should do and are contained in the scope
Define the operational requirements of a project
The operation of the project (what should be on the page, what each thing allows the user to do)
What are the three questions asked at the daily standup?
What did you do yesterday?
What will you do today?
Are there any impediments in your way?
Give are typical impediments presented in the daily standup
My hard drive broke and I need a new one today.
I still haven’t got the software I ordered a month ago.
I need help debugging a problem with a module.
What is data modelling within the sprint?
Developing an entity relationship diagram and data dictionary
What happens in the build phase?
Creating software with all the features committed to in the sprint
What type of testing does the team do in the build phase?
Unit Testing
What is deployment?
Process of making the software avaliable to the customer
What is validation testing?
Testing to ensure each feature that was committed to in the sprint has been successfully delivered according to its acceptance criteria
What is usability testing?
Technique used to evaluate a product by testing it on real users performing real tasks
What are the three usability testing techniques?
Concurrent Think Aloud
Concurrent Probing
Retrospective Probing
What is Concurrent Think Aloud?
The user talks about their experience of using the software as they attempts to complete a task.
Give a disadvantage of concurrent think aloud?
Can interfere with usability metrics because user is distracted from tasks
What is Concurrent Probing?
Probing participants as they work on tasks-when they say something interesting or do something unique, the team member asks follow-up questions.
Give disadvantages of Concurrent Probing
Interferes with the natural thought process.
Affects the progression participants would make on their own, without interruptions.
When can concurrent probing be beneficial?
If goals do not include strict user experience measurements.
When is concurrent probing usually used?
Team members can often use CP when pre-testing terms and wording to assess how well people understand the questions and concepts.
What is Retrospective probing?
Waiting till the session is complete and then asking questions about the questions and concepts
What is the release evaluated against at the end of each sprint?
Acceptance Criteria for each requirement in the sprint backlog
Give examples of usability factors
Intuitive Design
Ease of Learning
Efficiency of use
Memorability
Why should be efficiency be evaluated?
Higher efficiency can lead to decreased maintainability due to shortcuts that may be hard to understand
When is a program robust?
If it can cope with problems that come from the outside and are not of its own making
When is a program reliable?
If it runs well and is never brought to a halt by a design flaw
Always produces the expected result
Describe two ways that company managers could make use of the results of a feasibility study
- Cost benefit analysis to determine break even point
- Deciding not to go ahead if not suitable
- Use results for project planning
Describe two ways in which the requirement specification could protect the software
development company against additional demands from the client
Legally binding document detailing exactly
what is required
Additional demands NOT in RS do not
need to be met
Additional demands will require agreement
and costing
A document outlining what a client wants is submitted to the software
development company. State the name of this document
Project Proposal