reminders - emory universitycengiz/cs370-pract-softeng-sp15/...as mark said, you have real-life...

38

Upload: dinhdang

Post on 20-Mar-2018

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Reminders

Emory Horror Code:

Request permission and document any code you did not write

We won't hesitate to report you: will cause a dent in your life

Take full advantage of this course

As Mark said, you have real-life competitors who are skipping college and taking bootcampclassesGeneral Assembly in AtlantaAtlanta Tech Village

Any other feedback about Mark?

Page 2: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Reminders

Emory Horror Code:

Request permission and document any code you did not write

We won't hesitate to report you: will cause a dent in your life

Take full advantage of this course

As Mark said, you have real-life competitors who are skipping college and taking bootcampclassesGeneral Assembly in AtlantaAtlanta Tech Village

Any other feedback about Mark?

Page 3: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Reminders

Emory Horror Code:

Request permission and document any code you did not write

We won't hesitate to report you: will cause a dent in your life

Take full advantage of this course

As Mark said, you have real-life competitors who are skipping college and taking bootcampclassesGeneral Assembly in AtlantaAtlanta Tech Village

Any other feedback about Mark?

Page 5: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Let's Setup the Teams!

Still too many ideas: Yiwei & Jake Mor

Our other promising entrepreneurs:

Toby: Mobile gameHenry: Erasing social media pastTony: Random to-doMike Zhai: NLP websiteand more. . .

Page 6: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Main Project: 1st iteration due 2/26

1st steps: due by 2/19

Choose:

Language/framework/platform that you will use for this project!Process tool and assign tasks to each team member; invite me and James

Join team Github that we assign

Make README with chosen technologies & process tool address

1st pitch: present in class on 2/26

Market study & UI mockup

Either of:

Data ModelProof-of-concept code

Submit PDF on Piazza before class

Page 7: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Main Project: 1st iteration due 2/26

1st steps: due by 2/19

Choose:

Language/framework/platform that you will use for this project!Process tool and assign tasks to each team member; invite me and James

Join team Github that we assign

Make README with chosen technologies & process tool address

1st pitch: present in class on 2/26

Market study & UI mockup

Either of:

Data ModelProof-of-concept code

Submit PDF on Piazza before class

Page 8: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Entrepreneurship

CS370 SE Practice & Startup, Cengiz Günay

(Some slides courtesy of Eugene Agichstein and the Internets)

Greatest inventor: Prof. Brain Nerve

CS370, Günay (Emory) Entrepren. Spring 2015 5 / 16

Page 10: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Advice from some real entrepreneurs

My sister, Eda, and her friend, Melodi:

Creators of startups in Turkey:

Uplifers.com � Personal well-being news site

Mihera.com � Sell your own creations (Like Etsy)

CS370, Günay (Emory) Entrepren. Spring 2015 7 / 16

Page 11: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Why entrepreneurship?

As computer scientist you have options:

1 Work for some company

2 Work as freelancer

3 Work for yourself (entrepreneur)

What is it mean to be an entrepreneur?

persistent, passionate

want to make a change

not just idea, lots of sweat, too

CS370, Günay (Emory) Entrepren. Spring 2015 8 / 16

Page 12: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Why entrepreneurship?

As computer scientist you have options:

1 Work for some company

2 Work as freelancer

3 Work for yourself (entrepreneur)

What is it mean to be an entrepreneur?

persistent, passionate

want to make a change

not just idea, lots of sweat, too

CS370, Günay (Emory) Entrepren. Spring 2015 8 / 16

Page 13: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Intellectual Property: Urban Legends?

Ideas are not that important, there are lots of them.

More importantly:

Can you implement them?

With real people?

With real results?

Can make pro�t?

Can you convince people now that you can do this?

Bottomline:

Don't be afraid to share your ideas.

Develop your ideas further by getting feedback

Network with the right people (business, law, marketing)

CS370, Günay (Emory) Entrepren. Spring 2015 9 / 16

Page 14: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Intellectual Property: Urban Legends?

Ideas are not that important, there are lots of them.

More importantly:

Can you implement them?

With real people?

With real results?

Can make pro�t?

Can you convince people now that you can do this?

Bottomline:

Don't be afraid to share your ideas.

Develop your ideas further by getting feedback

Network with the right people (business, law, marketing)

CS370, Günay (Emory) Entrepren. Spring 2015 9 / 16

Page 15: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

First step: Identify market need

Don't think of pro�t �rst

First �nd a need in the market

Think of other companies who did this: Google, Facebook, LinkedIn

analyze market

how many people?

what's the potential?

who are competitors?

sometimes you need to create your own market

Do some research!

CS370, Günay (Emory) Entrepren. Spring 2015 10 / 16

Page 16: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

First step: Identify market need

Don't think of pro�t �rst

First �nd a need in the market

Think of other companies who did this: Google, Facebook, LinkedIn

analyze market

how many people?

what's the potential?

who are competitors?

sometimes you need to create your own market

Do some research!

CS370, Günay (Emory) Entrepren. Spring 2015 10 / 16

Page 17: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Design your product

product ideas:

1 something new

2 integrate an existing product from another domain or country

3 make something existing better, cheaper

users:

create user base

know your users

keep statistics of user categories

CS370, Günay (Emory) Entrepren. Spring 2015 11 / 16

Page 18: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Design your product

product ideas:

1 something new

2 integrate an existing product from another domain or country

3 make something existing better, cheaper

users:

create user base

know your users

keep statistics of user categories

CS370, Günay (Emory) Entrepren. Spring 2015 11 / 16

Page 19: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Going forward

make a plan, convince others this is pro�table

�nd incubator, accelerator, or private venture

later ask for big money if you can promise big returns

CS370, Günay (Emory) Entrepren. Spring 2015 12 / 16

Page 20: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Requirements as User Stories

CS370 SE Practice & Startup, Cengiz Günay

(Some slides courtesy of Eugene Agichstein and the Internets)

CS370, Günay (Emory) User Stories Spring 2015 13 / 16

Page 21: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e

(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 2

Requirements Analysis Requirements analysis

specifies software’s operational characteristics

indicates software's interface with other system elements

establishes constraints that software must meet

Requirements analysis allows the software engineer

(called an analyst or modeler in this role) to:

elaborate on basic requirements established during earlier

requirement engineering tasks

build models that depict user scenarios, functional

activities, problem classes and their relationships, system

and class behavior, and the flow of data as it is

transformed.

Page 22: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Know Your Domain

(c) earthonlinemedia.com

Günay (Emory MathCS) Requirements Modeling Fall 2014 3 / 8

Page 23: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e

(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 6

Domain Analysis

Define the domain to be investigated.

Collect a representative sample of applications

in the domain.

Analyze each application in the sample.

Develop an analysis model for the objects.

Page 24: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

(c) dreamstime.com

Page 25: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e

(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 11

Use-Cases

a scenario that describes a “thread of usage” for

a system

actors represent roles people or devices play as

the system functions

users can play a number of different roles for a

given scenario

Page 26: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e

(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 13

Use-Case

Diagram

homeowner

Access camera

surveillance via the

Internet

Conf igure SafeHome

system parameters

Set alarm

cameras

SafeHome

Page 27: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

From a �use case� to �user stories�

Use case diagram shows all things an actor can do

Can be broken down to individual user stories

CS370, Günay (Emory) User Stories Spring 2015 14 / 16

Page 28: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

User Stories

Templates & Examples

Page 29: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Estimation & Planning

User Stories are the central focus for developersEach User Story should imply an acceptance testComplexity is estimated in Story Points

Arbitrary measure of relative complexity We use modified Fibonacci Sequence (0, 1, 2, 3, 5, 8, 13, 21) Estimates are collaborative to uncover assumptions Based on Staffing we estimate how many Story Points we can

accomplish in a 2 week Iteration (Velocity)

Page 30: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

User Story Template

Page 31: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Example from Template

Page 32: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Other Example User Stories*

These were excerpted from http://www.westborosystems.com/2010/02/user-story-examples/ Also see http://agile.csc.ncsu.edu/SEMaterials/tutorials/coffee_maker/ for a great set of examples and

tutorials

Page 33: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Key Points

Cards: physical (or virtual) medium where the story is recordedConversation:Discussion and clarification, modification of the story via communication with the userConfirmation:Tests to verify the user story

Page 34: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

I.N.V.E.S.T.

I = independent. Not requiring other features.N = negotiable. Can be excluded, revised, etc.V = valuable. Clearly contributing to product usefulnessE = estimable. Reasonable development estimates can be made from the story.S = small. Stories that are too big tend to be vague and to miss the other points, too.T = testable. Stories need to have a means of verifying functionality.

Page 35: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

So how to maintain user stories?

You must use an online tool that has:

Keep track of requirements/features/user storiesTask assigmentScheduling of task deadlines and releasesCommunication (posts and comments)

Some examples: Trello, Pivotal Tracker, Rally, Google KeepMandatory: We will track your progress through it. Your points for �rst steps (due 2/19)depend on it!I own an PT academic account, please request invites.

CS370, Günay (Emory) User Stories Spring 2015 15 / 16

Page 36: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

So how to maintain user stories?

You must use an online tool that has:

Keep track of requirements/features/user storiesTask assigmentScheduling of task deadlines and releasesCommunication (posts and comments)

Some examples: Trello, Pivotal Tracker, Rally, Google KeepMandatory: We will track your progress through it. Your points for �rst steps (due 2/19)depend on it!I own an PT academic account, please request invites.

CS370, Günay (Emory) User Stories Spring 2015 15 / 16

Page 37: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

So how to maintain user stories?

You must use an online tool that has:

Keep track of requirements/features/user storiesTask assigmentScheduling of task deadlines and releasesCommunication (posts and comments)

Some examples: Trello, Pivotal Tracker, Rally, Google KeepMandatory: We will track your progress through it. Your points for �rst steps (due 2/19)depend on it!I own an PT academic account, please request invites.

CS370, Günay (Emory) User Stories Spring 2015 15 / 16

Page 38: Reminders - Emory Universitycengiz/CS370-pract-softeng-sp15/...As Mark said, you have real-life competitors who are skipping college and taking bootcamp classes General Assembly in

Joel Spolsky on Software Requirements

Highly recommended reading from Joel Spolsky's blog:

Painless Functional Speci�cations

Part 1: Why Bother?

Part 2: What's a Spec?

* �Functional speci�cations� in Joel's words is equivalent to our �functional requirements.�

CS370, Günay (Emory) User Stories Spring 2015 16 / 16