Requirements Analysis n Requirements analysis is the process

  • Slides: 59
Download presentation
Requirements Analysis n Requirements analysis is the process of elaborating and clarifying the requirements

Requirements Analysis n Requirements analysis is the process of elaborating and clarifying the requirements n This involves: n Identifying all functions of the software n n n In RUP, the artifact produced is a use case diagram (each function is a use case) In XP, the artifacts are user stories Identifying how the users and the software interact to accomplish a software function n n In RUP, the artifacts produced are use case descriptions In XP, details about user stories are captured by the customer iteratively by giving the customer progressive versions of the software that implements them

RUP: Use Cases n A use case is a description of a unit of

RUP: Use Cases n A use case is a description of a unit of functionality in a system n For a travel kiosk: n Take a virtual tour of travel destinations n n See maps of travel destinations See pictures of monuments in travel destinations Examine travel packages n Find your ideal trip, using the customized vacation wizard n Obtain contact information for ordering vacations n For a classroom desk: n Learn n Nap n n Take notes Snore Doodle

RUP: Use Case Boundaries n A use case is some activity for which a

RUP: Use Case Boundaries n A use case is some activity for which a user would potentially use a system n If an activity is not something a user would do by itself, it is part of a larger use case n n e. g. In a bank system, generate transaction record is not useful by itself, but is useful as part of the withdrawal use case (& others) If part of an activity is something a user would do by itself, then that part is a use case by itself n e. g. In a department store, shop is made up of a few use cases, each of which could be done separately: § Browse products § Purchase products

RUP: Use Case Diagrams n A use case diagram give three important pieces of

RUP: Use Case Diagrams n A use case diagram give three important pieces of information: n n n A list of all use cases Relationships between use cases Participation between actors (normally, users) and use cases

Use Case (Usage case) – a reason to use the system

Use Case (Usage case) – a reason to use the system

Use case scenario : n. When a cardholder tries to withdraw cash from an

Use case scenario : n. When a cardholder tries to withdraw cash from an ATM, it doesn’t always turn out the same way. Sometimes n n n Þ Þ He gets his money He might have insufficient funds ATM may be out of cash. . All relate to the same goal & All are triggered by the same need

Use case scenarios for withdrawing cash from an ATM machine :

Use case scenarios for withdrawing cash from an ATM machine :

ATM : Use case scenarios

ATM : Use case scenarios

Example :

Example :

Use cases (Warning!) n Use cases must be independent of the technical implementation :

Use cases (Warning!) n Use cases must be independent of the technical implementation : n Instead of saying , ‘ the user presses the enter button’ , it is appropriate to say ‘ the user confirms his/her choice ‘ n High-level interaction designs and n Use cases are not system requirement documents

RUP: Use Case Diagrams Travel Kiosk Functions Take Virtual Tour View Photos Customer View

RUP: Use Case Diagrams Travel Kiosk Functions Take Virtual Tour View Photos Customer View Map View Packages Find Ideal Trip View Contact Info

XP: User Stories n User stories in XP serve a similar purpose to use

XP: User Stories n User stories in XP serve a similar purpose to use cases n In XP, a user story is normally written on a small index card, including: n 1 or 2 sentences describing the user story § If the user story cannot be described in 1 -2 sentences, it is likely too large and should be separated into parts n The priority of the user story § Highest priority (i. e. priority: 1) user stories are worked on first n An identifier for the user story § User stories are sequentially numbered n User stories can describe: n n n Functions provided by the software Improvements to functions Improvements to user interfaces Improvements to performance Bug fixes

XP: User Story Size n A user story will typically take about one week

XP: User Story Size n A user story will typically take about one week to implement in software n The use of XP makes the possibility of having to change how it was implemented more likely n However, customers see an implementation very quickly n One technique for estimation involves assigning user story points to each user story n More points means it should take longer to implement n Estimation can start with rough estimates (per user story point) n As time goes by, estimation of project velocity can influence the hours per user story point ratio to make better estimates

XP: User Stories #32 Customer can change his/her address in the system. Priority: 5

XP: User Stories #32 Customer can change his/her address in the system. Priority: 5 User story points: 5

XP: User Story Guidelines n User stories are described as benefits to the customer

XP: User Story Guidelines n User stories are described as benefits to the customer Good example: The tax calculator should correctly calculate the total balance for a married couple, independent of the status of their individual files n Bad example: The stock ticker data structure should use an AVL tree internally to improve performance of lookups n User stories should be verifiable n XP practitioners believe in acceptance tests, which are tests that verify the correct implementation of a user story n

Case Study: ATCSoft n The ATCSoft project was launched, and steady progress was made

Case Study: ATCSoft n The ATCSoft project was launched, and steady progress was made n When the team set out to integrate the ATCSoft application with existing RADAR equipment, however, they hit a snag n The team members could not figure out how to integrate the systems n n n The RADAR system did not have appropriate physical connections, nor was there an appropriate driver for the interconnection The project manager had to hire engineering consultants to work out the integration details This diversion took 2 months and cost a significant amount of money (additional labour, consultancy fees, and business value)

Case Study: Path. Finder 2. 0 n The Path. Finder project was started in

Case Study: Path. Finder 2. 0 n The Path. Finder project was started in August n Rory Thompson was the star developer n n His knowledge of neural nets inspired him to suggest that a neural net implementation of a Path. Finder would be a good idea He wrote up much of the foundation code for the neural network Initial tests showed a definite improvement in the Path. Finder performance, and more realistic, human-like, decisions Despite the large salary increase he was offered, Rory took a good offer with another firm n n n When some tests showed that the neural net was not fast enough to make real-time decisions, the team had no immediate answers A bug was found that sent the avatars wandering aimlessly around the maze in a circuit, when certain rare conditions were present Again, the team had no idea how to approach the problem

What happened? n What happened in both of these case studies?

What happened? n What happened in both of these case studies?

What happened? n What happened in both of these case studies? n In the

What happened? n What happened in both of these case studies? n In the ATCSoft scenario, a technical problem ended up stalling development n This could easily have become a complete disaster, if it were not possible to integrate the systems

What happened? n What happened in both of these case studies? n In the

What happened? n What happened in both of these case studies? n In the ATCSoft scenario, a technical problem ended up stalling development n This could easily have become a complete disaster, if it were not possible to integrate the systems n In the Path. Finder scenario, a personnel problem was at fault n The team’s over-reliance on a hero was their downfall n Taking the hero out of the equation stalled development

What happened? n What happened in both of these case studies? n In the

What happened? n What happened in both of these case studies? n In the ATCSoft scenario, a technical problem ended up stalling development n This could easily have become a complete disaster, if it were not possible to integrate the systems n In the Path. Finder scenario, a personnel problem was at fault n The team’s over-reliance on a hero was their downfall n Taking the hero out of the equation stalled development n In both scenarios, the team neglected their risks n It is critical for a project team to understand plan for risks

Risk Mitigation n In the ATCSoft project, the team should have investigated the integration

Risk Mitigation n In the ATCSoft project, the team should have investigated the integration of various systems at the start of the project n Given adequate time, the integration could have been worked out before it was needed

Risk Mitigation n In the ATCSoft project, the team should have investigated the integration

Risk Mitigation n In the ATCSoft project, the team should have investigated the integration of various systems at the start of the project n Given adequate time, the integration could have been worked out before it was needed n In the Path. Finder project, Rory should have been the project’s neural network consultant n He could have thoroughly documented the neural network code as it was developed n He could have had seminars for team members, explaining the concepts of neural networks n Understanding neural networks, the team would have a better chance of carrying on without Rory

Risk Assessment

Risk Assessment

Risk Assessment n The following describes the risk assessment process: 1. Identifying risks 2.

Risk Assessment n The following describes the risk assessment process: 1. Identifying risks 2. Estimating a risk’s cost/effects 3. Estimating a risk’s likelihood 4. Identifying alternatives 5. Evaluating/comparing alternatives n Once risks are assessed, a project manager should plan for them

Risk Assessment Risk Identification

Risk Assessment Risk Identification

Risk Identification n The first step in risk analysis is to identify the project’s

Risk Identification n The first step in risk analysis is to identify the project’s risks n Each project has its own set of unique risks n Identifying risks seems like a dark art n How do you identify something that could potentially be hidden until it is too late? n However, risk identification can be made easier using categories of risk n This leverages the knowledge of many project managers who have experienced risks

Categories of Risk n Here is one way to categorize risks: n Technical risks

Categories of Risk n Here is one way to categorize risks: n Technical risks (related to using a particular technology) n n n Project management risks n n Performance Reliability Availability Complexity Poor resource allocation Poor planning Poor prioritization Organizational risks n n n Lack of support or resources Inadequate or inefficient management Interference from other projects & management agendas p. 65

Categories of Risk n Here is one way to categorize risks (continued): n Constraint

Categories of Risk n Here is one way to categorize risks (continued): n Constraint risks n n n Business risks n n n Deadlines Resources Marketability Timing Vendor delays Economic conditions External risks n n Changing laws and regulations Dependence upon suppliers and contractors p. 65

When do we identify risks? n There a two major approaches to risk identification

When do we identify risks? n There a two major approaches to risk identification n Identify risks before the planning phase n n Some risks may be difficult to spot when looking at requirements at a high level Identify risks after the planning phase n It is useful to know risks before the planning phase, so that extra time can be dedicated to their mitigation n A good compromise is to perform risk identification during the planning phase: n After creating the work breakdown structure n Before creating the schedule

Common Risks n These risks are related to schedule: n Feature creep n New

Common Risks n These risks are related to schedule: n Feature creep n New features are frequently added after development has started n Requirements gold-plating n Too much documentation n Implementation gold-plating n Developers are working on the perfect implementation n Inadequate design n Too little attention has been paid to design n Overly optimistic schedules n Management pushed schedules down, rather than schedules work their way upward from developers n Poor motivation/weak personnel n Developers are working at a less-than-optimal pace n Silver-bullet syndrome n A trendy technology was expected to produce the equivalent to 10, 000 lines of code in only 50 lines of code n Contractor failure n A contractor lacked expertise/commitment needed to do the job on schedule

Risk Assessment Estimating Risk Cost & Effects

Risk Assessment Estimating Risk Cost & Effects

Estimating Risk Costs & Effects n Estimating the costs & effects of a risk

Estimating Risk Costs & Effects n Estimating the costs & effects of a risk is dependent upon the risk n e. g. A project using a new technology might realize that the technology is inadequate or unreliable n Now, the application must be retrofitted to another (trusted) technology n Much of the software may need to be replaced n The cost in this case is the cost of developing the obsolete components n In addition, there may be hidden costs due to delays (such as customer confidence or personnel availability)

Estimating Risk Costs & Effects n Estimating the costs & effects of a risk

Estimating Risk Costs & Effects n Estimating the costs & effects of a risk is dependent upon the risk n e. g. In some projects there is a risk that a key developer will leave the project n If the key developer leaves, what will it take to replace her? n Given market conditions, you might estimate a replacement in 2 months n Some project deliverables might be delayed by up to that amount in her absence n Also, you may have to consider signing bonuses, relocation expenses, travel expenses, and other hiring costs n It depends on the project whether or not these costs

How to estimate cost? n To estimate the cost, imagine a scenario where the

How to estimate cost? n To estimate the cost, imagine a scenario where the event occurs n e. g. Ok, Sarah has left the company. What do we do now? n We could promote Gerard to team leader n We would need one more developer with technological expertise § Our corporate headhunter estimates hiring will take 10 weeks n e. g. PHP didn’t solve the problem. What now? n We could use Ruby on Rails n We would need to send our developers to training courses § In-depth Ro. R training courses are 4 months

Risk Assessment Estimating Risk Likelihood

Risk Assessment Estimating Risk Likelihood

Estimating Risk Likelihood n Like risk cost, risk likelihood also depends on the risk

Estimating Risk Likelihood n Like risk cost, risk likelihood also depends on the risk n n n e. g. The likelihood that a technology will fail can usually be estimated accurately Tristan: “How likely is it that the technology (e. g. PHP) will fail to meet our expectations? ” Carlos: “PHP has been used for many projects successfully. There have been many failed PHP projects, but very few cite the technology as the cause of the failure. On the other hand, there have been many very high-profile PHP projects. ” Carlos: “Consider Face. Book, which has similar (but more complex) functionality to our Group. Ware application. ” Tristan: “Face. Book uses PHP? That is similar to our project. ” Carlos: “I can’t forsee any features we will need that will be impossible in PHP. ”

Estimating Risk Likelihood n Like risk cost, risk likelihood also depends on the risk

Estimating Risk Likelihood n Like risk cost, risk likelihood also depends on the risk n e. g. How likely is it that Sarah Windermere will leave the project? n Her project manager may be aware of her job satisfaction, or her peers n However, a face-to-face meeting to assess her job satisfaction has no substitute n Example: n Tristan: “Sarah, we’ve been very happy with your performance on previous projects. You will be an integral part of this upcoming project. Are there any concerns you have about this project or your job? ” n Sarah: “Not really. I like the challenges. ” n Tristan: “If you do have any concerns, I want you to tell me right away. Your satisfaction and motivation are very important to me. ” n Sarah: “Actually, I have been having a tough time working with Gerard. He doesn’t respect my leadership, and tries to rally the team against me. ” n Tristan: “How does the rest of the team feel about his actions? ” n Sarah: “Many of them either have confronted him about or have told me they don’t agree with him. ” n Tristan: “I’ll have a talk with your team to confirm what you’ve said, but it sounds like Gerard and I need to have a talk about each of your responsibilities. ”

How to estimate likelihood? n The best way to estimate is to ask the

How to estimate likelihood? n The best way to estimate is to ask the people closest to the problem n n e. g. For Sarah, the best person to ask would be her (followed by her direct supervisor) e. g. For PHP technology, anyone who has used PHP for a previous project

Risk Assessment Identifying Alternatives

Risk Assessment Identifying Alternatives

Identifying Alternatives n e. g. What are the alternatives to PHP? n JSP/J 2

Identifying Alternatives n e. g. What are the alternatives to PHP? n JSP/J 2 EE n ASP. NET n Ruby/ROR n Perl

Identifying Alternatives n e. g. Are there alternatives to Sarah? n Gerard Lepalme: Has

Identifying Alternatives n e. g. Are there alternatives to Sarah? n Gerard Lepalme: Has leadership, but lacks the technological expertise n Helen Driskoll: Knows some of the technology, but is very inexperienced

Risk Assessment Evaluating & Comparing Alternatives

Risk Assessment Evaluating & Comparing Alternatives

Evaluating & Comparing Alternatives n e. g. Let us examine the alternatives to PHP:

Evaluating & Comparing Alternatives n e. g. Let us examine the alternatives to PHP: n JSP/J 2 EE n n ASP. NET n n We have no in-house personnel trained in this technology Using this technology would require at least one month of training Development of user interfaces, however, should be made easier Ruby/ROR n n n Much of our existing staff is familiar with this technology Using this technology would require a few days of training Architecture should be more robust We have only a few in-house developers trained in this technology Using this technology would require weeks of training Development should be made easier Architecture should be more robust Perl n We have no in-house personnel trained in this technology

Evaluating & Comparing Alternatives n e. g. Let us examine alternatives to Sarah: n

Evaluating & Comparing Alternatives n e. g. Let us examine alternatives to Sarah: n Gerard Lepalme: Has leadership, but lacks the technological expertise n n Gerard is a take charge kind of person He is also a get it done kind of person However, he is not familiar with XML and many other technologies we plan to use Helen Driskoll: Knows some of the technology, but is very inexperienced n n n Helen knows XML and a few other technologies we plan to use However, Helen is just starting her career She has difficulty being assertive and taking charge She doesn’t command respect from her colleagues Her development itself is slow

Assigning Probabilities n There are many approaches to assigning probabilities It often doesn’t matter

Assigning Probabilities n There are many approaches to assigning probabilities It often doesn’t matter if you only care about the value relative to other risks n However, this is a good rule of thumb: n Very low: 0. 05 n Low: 0. 20 n Medium: 0. 40 n High: 0. 60 n Very High: 0. 80 n

Risk Assessment Bringing It All Together

Risk Assessment Bringing It All Together

Risk Assessment n Ok, we’ve collected data n What is next? n We need

Risk Assessment n Ok, we’ve collected data n What is next? n We need to crunch some numbers to determine which option is the best n Qualitative assessment § Risks are evaluated and planned for if they have significant likelihood and significant costs n Dynamic risk assessment § Risks are given a score for each development phrase § The stage scores are totaled to calculate the risk’s score n Risk exposure assessment § The risk likelihood is expressed in percentages § The risk cost is expressed in weeks § These two are multiplied to calculate an expected loss n Risk impact assessment § Similar to risk exposure, but percentages are also used for cost

Qualitative Risk Assessment Low Medium High Low Ignore Consider Medium Ignore Consider Take action

Qualitative Risk Assessment Low Medium High Low Ignore Consider Medium Ignore Consider Take action High

Dynamic Risk Assessment A B C Score Requirements 1 3 1 5 Design 2

Dynamic Risk Assessment A B C Score Requirements 1 3 1 5 Design 2 2 2 6 Implementation 3 1 2 6 Testing 3 1 4 8 Integration 2 1 4 7 Score 11 8 13 32

Risk Exposure Assessment Probability of Loss Technology Failure Key Developer Attrition …etc… Cost Risk

Risk Exposure Assessment Probability of Loss Technology Failure Key Developer Attrition …etc… Cost Risk Exposure 5% 20 weeks 1 week 40% 10 weeks 4 weeks

Risk Impact Assessment Probability of Loss Impact Risk Exposure Technology Failure 0. 05 0.

Risk Impact Assessment Probability of Loss Impact Risk Exposure Technology Failure 0. 05 0. 60 0. 03 Key Developer Attrition 0. 40 0. 16 …etc…

Evaluating Alternatives n When considering alternatives, you can apply the same techniques to all

Evaluating Alternatives n When considering alternatives, you can apply the same techniques to all alternatives n e. g. J 2 EE vs. ASP. NET vs. Ro. R Probability of Failure Cost Risk Exposure J 2 EE 0. 05 1 week 0. 05 weeks ASP. NET 0. 05 5 weeks 0. 25 weeks Ro. R 0. 05 3 weeks 0. 15 weeks

Risk Planning 1. Learn about the risk 2. Plan to avoid the risk 3.

Risk Planning 1. Learn about the risk 2. Plan to avoid the risk 3. Move the risk 4. Create a risk-management plan 5. Mitigate and control the risk 6. Tolerate the risk 7. Document the risk 8. Monitor the risk

Common IT Project Risks n n n Feature creep Requirements gold-plating Developer gold-plating Shortchanged

Common IT Project Risks n n n Feature creep Requirements gold-plating Developer gold-plating Shortchanged quality Overly optimistic schedules Inadequate design Silver-bullet syndrome Research-oriented development Weak personnel Demotivated personnel Contractor failure Friction between developers and customers Adapted from Rapid Development, by Steve Mc. Connell

Master Risk Identification List Number Originator Open Date Risk Description Probability Impact Respond?

Master Risk Identification List Number Originator Open Date Risk Description Probability Impact Respond?

Number Originator Open Date Risk Description 1 Course Developer 10/1 There are 5 of

Number Originator Open Date Risk Description 1 Course Developer 10/1 There are 5 of us set up to do the work for this project What happens if one of us gets sick ? 2 CSR Supervisors 10/1 When the CSRs go through new training, there is always a spike in the time it takes to handle a customer while the new training is learned. Will this spike create customer complaints > 2 % ? 3 Reproduction facilities 10/1 We’ve been having problems with our paper supply. We might not be able to have enough paper on hand to create the textbooks in the time frame you want. 4 Reproduction facilities 10/1 We are planning a remodeling project of our facilities during the time u are requesting the creation of textbooks. We might not be able to meet the time frames you are requesting. 5 Graphic artist 10/1 I’m pregnant and due right after the 1 st class is scheduled Probability Impact Respond?

Number Originator Open Date Risk Description Probability Impact 1 Course Developer 10/1 There are

Number Originator Open Date Risk Description Probability Impact 1 Course Developer 10/1 There are 5 of us set up to do the work for this project What happens if one of us gets sick ? 3 5 2 CSR Supervisors 10/1 When the CSRs go through new training, there is always a spike in the time it takes to handle a customer while the new training is learned. Will this spike create customer complaints > 2 % ? 4 5 3 Reproduction facilities 10/1 We’ve been having problems with our paper supply. We might not be able to have enough paper on hand to create the textbooks in the time frame you want. 2 2 4 Reproduction facilities 10/1 We are planning a remodeling project of our facilities during the time u are requesting the creation of textbooks. We might not be able to meet the time frames you are requesting. 5 2 5 Graphic artist 10/1 I’m pregnant and due right after the 1 st class is scheduled 4 1 Respond?

Number Originator Open Date Risk Description Probability Impact Respond? 1 Course Developer 10/1 There

Number Originator Open Date Risk Description Probability Impact Respond? 1 Course Developer 10/1 There are 5 of us set up to do the work for this project What happens if one of us gets sick ? 3 5 Mitigate - be ready to hire a contract course developer to work with the other course developers. 2 CSR Supervisors 10/1 When the CSRs go through new training, there is always a spike in the time it takes to handle a customer while the new training is learned. Will this spike create customer complaints > 2 % ? 4 5 Transfer – Develop an agreement with the outsourced call center for overflow calls on Mondays for 6 months 3 Reproduction facilities 10/1 We’ve been having problems with our paper supply. We might not be able to have enough paper on hand to create the textbooks in the time frame you want. 2 2 4 Reproduction facilities 10/1 We are planning a remodeling project of our facilities during the time u are requesting the creation of textbooks. We might not be able to meet the time frames you are requesting. 5 2 Avoid – Find another reproduction vendor. Be sure to test their quality of work 5 Graphic artist 10/1 I’m pregnant and due right after the 1 st class is scheduled 4 1 Mitigate : Hire a contract course developer with Graphic skills.