29
DotNetters Tech Summit - 2015 RUET Life of a Product

Interactive SDLC

Embed Size (px)

Citation preview

DotNetters Tech Summit - 2015 RUET

Life of a Product

Life Cycle

• Requirement• Estimation• Design– Architecture– UX Mockup

• Development• QA– Code Review– Testing

• Deployment• Support, Maintenance & Enhancement

User Story

• I want to build a system for students where they can upload notes, and can share notes with other students. Students can access the system from anywhere.

Requirement Elicitation

• 10 techniques– Most popular is questionnaire & observation– A team of business analyst, domain expert, product

manager– Find need– Find expectations– Find scope of improvement

User Story

Requirement Elicitation

RFQ (Business)

SRS (Technical)

Apply Questionnaire

Questions• Can User access the system

from device?• Can they share notes with

anyone?• How students can access

the notes?• How many student you are

expecting to signup? Year 1.

Answers• Yes• Nop only with friends• By login to system• First Year 10000 at least

Extracted Requirements

• It’s a web application• RWD• Authenticated user can access only• Allow signup• Can add friend• Share notes with friends only• Need big storage to store files

Create Task

Estimation• Based on your experience.• Based on a team member’s experience. • Based on industry.• Based upon an analogous experience.• The task is unfamiliar to the assigned

staff member.• The requirements for the task are

insufficiently detailed. • The technology being used to complete

the task is new, and or new to your team.

• Required training.• Vacations, holidays or other planned

leave.

•Double-Triangular Distribution•E = (a + 4m + b) / 6 (a=Best; m=Most likely; b=Worst)•Standard Deviation•SD = (b − a)/6 ; iff, b>a•Triangular Distribution•E = (a + m + b) / 3

System Architecture

• Identify Key Scenarios– Most important feature of the success of the application.– A significant unknown area or an area of significant risk.– An intersection of quality attributes with functionality.– A tradeoff between quality attributes.

• Application Overview– Identify deployment constraints– Determining application type– Identify important architecture design styles– Determine relevant technologies

• Key Issues

System Architecture (Cont.)• Identify Key Scenarios

– Authorized user and access control over notes.– Notes sharing.

• Application Overview– It will be an web application.– Deployment infrastructure is fixed and it will be provided by the

university, Our deployment teams will have a secured access to that infrastructure when deployment.

– We will be using client/server model, and layered architecture style.– Technologies that will be used are Asp.net MVC, MS SQL Server, Entity

Framework etc• Key Issues

– File storage and file storage limit

UX Mockups

• Use requirements to design a mock• Use bootstrap to design a responsive layout• Find out who is the user to identify experience level• Find the age group to work on color patterns

Development

• Project Manager(PM) bootstraps it• Decides development environment requirements• PM creates tasks• Tasks are distributed among developers

Development (Cont.)

• Developer starts coding• Reports to PM• PM reviews the implementation• Assign/re-assign tasks• Tools used– Jira, Asana, Trello, Git

• IDE

Code Review• Roles & Responsibilities

– Developer • Self review and initiated review

request– Reviewer

• Report finding to developer• Check List

– Structure– Documentation– Variable– Arithmetic Operation– Loops and Branches– Defensive Programming

Testing

Testing (Cont.)

• Responsibility– Find The Bug– Find them early– Make sure they are fixed.

• Planning– Identify of specific

requirement tested– Define test case– Specific steps to execute

test– Prepare test data

• Mythologies– Black box testing– White box testing

• Testing level– Unit testing– Integration testing– System testing

Deployment

Its time to deliver our product!

Staging

Staging

Staging

Staging

That’s all from deployment

Support, Maintenance & Enhancement

Support & Maintenance1st Client Mail: Some of the

students cannot share note to each

other.

2nd Client Mail: John connected

with Jane but cannot see her

notes.

Support & Maintenance (Cont.)

• One study indicated that over 80% of maintenance effort is used for non-corrective actions.

• Some actually occurred because of some unknown bug in the system.

Support & Maintenance (Cont.)

3rd Client Mail: Notes take more

time to LOAD

4th Client Mail: Students wants to upload big notes (more than 5MB

but less than 8MB)

Enhancement5th Client Mail:

Is there any way we can let students

create/modify note in the system?

Thanks!! See You Next Time

Q & A?

/groups/netter//DotNetter