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

Post on 20-Mar-2018

214 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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?

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?

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?

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. . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

Know Your Domain

(c) earthonlinemedia.com

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

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.

(c) dreamstime.com

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

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

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

User Stories

Templates & Examples

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)

User Story Template

Example from Template

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

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

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.

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

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

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

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

top related