Download presentation
Presentation is loading. Please wait.
Published byKory Anderson Modified over 6 years ago
1
UMSI 663 Innovations and Entrepreneurship in the Information Industry with Mobile Apps in SWIFT Week 4 Nancy A. Benovich Gilby Ehrenberg Director of Entrepreneurship Clinical Associate Professor University of Michigan School of Information
2
Only exceptionally gifted, male, boastful folks make good innovators??
3
You Will Be Forming TEAMS
You want the LARGEST DIVERSITY, innovation explodes with multiple perspectives, get them the easiest way by recruiting people to your idea area that ARE NOT THE SAME AS YOU (but share similar values) RESPECT and INCLUDE everyone, all the time, every time. THE VERY FIRST THING INVESTORS LOOK FOR IS THE TEAM, THEN THE PEOPLE, THEN THEIR IDEA.
4
Why Bother with Agile? Importance of “Team”
5
Your Objectives in Team Formation
Shared values for: Project Outcome How you treat one another to form mutual respect and trust Prepare and welcome multiple views = encourage productive, non-personal, conflict Get as much out of the other person for the benefit of shared values in project outcome NON Objectives: To prove you are smarter, more competent, better developer, more industry aware…… You will succeed (or otherwise not do so well), on the project based on your ability to form a team
6
What Does it Generally Look Like without Agile?
7
Agile and Scrum
8
Team Formation
9
Introductions, Shared Team Values & Objectives
Hi, I am <name>, a <2nd yr> <masters> in <UMSI LIS> My area of passion is <shared economy> OR <undecided> NOTE: Speak loudly, firmly, shake hands firmly, look the person straight in the eye, don’t look away, SMILE, shoulders back, BREATH then HI…… YOU ARE CONFIDENT YOU BELONG HERE….. If you don’t feel it then PRETEND you do or ask yourself what would it look like if you were confident?????
10
Value Hypothesis Business Model Canvas
WHO, SPECIFICALLY is the absolutely, no questions asked, FIRST person (NOT YOUR MOTHER) who will use your product or service? What is important about them? How do you find them? WRITE DOWN 3 bullet points the team agrees that describe this person EXAMPLE TARGET USER: Mother of 2+, school age children, 25-45 Works part or full time and/or has many outside of the home activities during the day and/or evenings Lives in an urban area, school is in an urban area, work is in an urban area
11
Who is the FIRST target, specifically
12
”Build Something for SOMEBODY Instead of Everything FOR NOBODY" - Geoffrey Moore in “Crossing the Chasm”
13
Exercise 3 Value Hypothesis Business Model Canvas
WHAT IS THEIR PROBLEM??, SPECIFICALLY what is a point of severe, gut wrenching pain (or what do you guess it is?) WRITE DOWN THE PAIN, FEEL IT EXAMPLE PROBLEM FOR TARGET USER: Mother’s as primary family organizer are constantly stressed out with unexpected pickup/drop off of their children to/from school or outside activities
14
Exercise 3 Value Hypothesis Business Model Canvas
Formulate your hypothesis around their point of pain??, SPECIFICALLY what do you need to ask and verify to be sure you understand what you can fix in your passion area WRITE YOUR HYPOTHSIS …… Example: Working mothers need a community ride sharing and coordination service they can trust their children with YOUR HYPOTHOSIS IS NOT: Will Mom’s (like my mom) like my idea? NO LEADING THE USER
15
Design Thinking
16
Business Model Canvas
17
Business Model Canvas – Plain English
18
IDEATION: Customer Development
Customer Search Customer Validation Problems Solutions
19
Value for Who?
20
Team Project Overview Project Week: Starts Oct 2
Ideas submitted, reviewed 9/25 Idea sponsors pitched ideas, you vote your top 3 Project Week: Starts Oct 2 Form your team based on assignments, establish ground rules, Interviews round 1, Review Customer Development Round 1 and Potentially Pivot, Competition, Market size Review Customer Development Round 2, Pivot, sketch/wireframe, Business Model Canvas Review Customer Development Round 3 Draft pitch, Dataset, backend, build app scaffolding, KJ Affinity Diagram, final wireframe test with users All teams pitch and review, MVP prototype 2 Pitch and demo to VCs, Executives, Entrepreneurs
21
HOMEWORK #3 PROJECT HOMEWORK: Test your: Target User
Urgent problem (NOT YOUR Value Hypothesis, yet) Each person interviews 3 target users, records, writes 2-3 Post-IT notes on each interview Record – while recording ask permission, record on your phone, camtasia Follow the format on the next slide, it is called the KJ Method, takes about mins per interview:
22
KJ Method 1: (Jiro Kawakita)
Supports groups to quickly reach a consensus on priorities of subjective, qualitative data You will be using a structured Contextual Inquiry approach called the KJ Method, where you ask 4 Open-ended questions around your problem area, based on a THEM question constructed from your urgent problem: THEME QUESTION: What did Mother’s as primary family organizer say they need to help with to ease constantly being stressed out with unexpected pickup/drop off of their children to/from school or outside activities Tell me about how you (do today without your intended solution? (Find out as much as you can about their worldview but DO NOT LEAD THEM) What complaints, problems, weaknesses do you have? What do you like? What should we do (specifically, RIGHT NOW) to improve the weaknesses you mentioned prior?
23
KJ Method 2:
25
KJ Method Teams, you must all help each other to find 3 target customers each. You may find after doing 1 or 2 that the attributes of your customer need to change or that you hypothesis is wrong and needs to change or both! HAVE FUN... THE AREA YOU CHOSE IS INTERESTING ... this is an opportunity for you to learn about your area of passion, it's not about if your idea is right or wrong, you have plenty of time to fix it. Instructions 1. Each team member, find three target users to interview. Record the interview (before recording ask permission. Record on your phone or use something like Camtasia). 2. DO NOT TELL THEM ABOUT ANY IDEAS/PRODUCTS, your job is to validate and dig deeper into their problems to validate your value hypothesis you formulated. 3. You will be using a structured Contextual Inquiry approach called the KJ Method, where you ask 4 Open-ended questions around your problem area: 1. Tell me about how you (do today without your intended solution? (Find out as much as you can about their worldview but DO NOT LEAD THEM) 2. What complaints, problems, weaknesses do you have? 3. What do you like? 4. What should we do (specifically, RIGHT NOW) to improve the weaknesses you mentioned prior? EXAMPLE: Area: 3D printing prosthetic hands Problem: People who need prosthetic hands cannot get them because they are too expensive Write the question as hypothesis: What are the most crucial problems in using 3D printed prosthetic hands? 1. Tell me about how you work with your hands? 4. What should we do (specifically, RIGHT NOW) to improve the weaknesses? 4. From each interview write down the 1 or 2 quotes on a post it note (IN THE CUSTOMER’S WORDS EXACTLY) that best answer your WHAT question. From the example: “What are the most crucial problems in using 3D printed prosthetic hands?”
26
Record and Write Top Quotes
27
Swift “Gotcha” You must remember the prototype cell!! Example:
28
Homework #4 Write the user stories in Trello with the done criteria on the back of the card for an app that prints a column of a multiplication table, as below: As the slider slides to the right, the multiplier increases. Print a title with the multiplier (update multiplier in title and table when slider changes) Times 10
29
Homework #4 Steps – page 1 In Xcode, create a new, single view app
In the main storyboard, add a slider control to the top of the view, add a label “Times”, add a blank label “ “ to the right of the “Times” for the multiplier. Make sure to add constraints to all the labels, controls, so the view works portrait and landscape! Create an outlet for the slidervalue Create an action for the slidermoved. In the action function, print(slidervalue). Run, in the simulator, rotate right & left to ensure your constraints are working. Slide the slider, look at the output. Add a tableView under the slider (NOT a tableViewController), add constraints Add a prototype cell. Link the tableview to the controller twice, once as a data source and then as the delegate Go to the code for the ViewController, add the UITableViewDelegate to the ViewController class definition.
30
Homework #4 Steps – page 2 In the ViewController, add (which is overriding) the UITableViewDelegate function tableView numberOfRowsInSection. This will be how many rows, let it be 12 (for no good reason except that we all memorized times tables to 12x12) In ViewController, add the TableView cellForRowAtIndexPath, as in the To Do List app, you need to create a cell variable that you will return, using the same identifier you used in the story board for the prototype cell Create a variable, times table for the value of the multiplier that you will get from the slider. Update the text label for the cell with the product of the multiplier and the row in the table. Return cell to complete the function cellForRowAtIndexPath. Voila, you be rockin’
31
Homework #4 Steps – page 3 Run the app, it should look like this, move the slider, nothing happens, lets fix that! We need to create a outlet for the table as it will need to be re-loaded/re-drawn once the slider moves. Go back to the storyboard, create an outlet, which connects the tableView and call it table. Back to the ViewController code, add table.reloadData() to your sliderMoved function. Run, now the table updates as you move the slider. Last step is to update the “Times Label” at the top of the screen so the label is the multiplier. Create an outlet form the “Label” label, call it multiplier. When we define timesTable in cellForRowAtIndexPath, that would be a good time to update the multiplier text add: Run….you should be done
33
Today Learning Outcomes Review of Assignment #2 Hello World App
Swift/Xcode Gotcha’s on tables!!!! How to describe and evaluate a business iteratively: Business Model Canvas Agile/ User Stories Quiz Team Project Progression Hands On: Build a ToDo List App and test
34
ENTREPRENEURIAL COMPETENCIES
DISCOVERY IDEATION VALIDATION PERSUASION NEGOTIATION ADAPTATION LEADERSHIP INNOVATION FORMATION VALUE CREATION
35
Learning Outcomes Mastery:
Apply the core principles of innovation methods from Lean Startup, Customer Development, Crossing the Chasm and Agile Development in one of the following sectors: a for-profit business, non-profit, or cultural institution. Competency: Identify and develop innovation skills in Design Thinking, defining and testing a target market along with SCRUM Development from which to form and grow teams in order to achieve innovation success. Create a prototype service, product or process using the technologies or tools of their choice for a demo Create a simple prototype in Swift Adaptively apply specific methods of innovation ideation, business/product/service development, and identifying steps for preparation for for-profit or non-profit incorporation. Take a leadership role in an agile software development process as the Scrum Master or Product Owner. Critically examine innovation area investments, scholarship, and trends. Literacy: User test their prototype app. Awareness: Identify pathways supported by the University of Michigan to continue developing their innovation.
36
Terminology Classes – Objects? Methods – Functions?
Variables – Instance Variables? Library – Protocol (Delegate) Application Framework – Model, View, Controller (MVC)
38
Lean Startup, Business Model Canvas, Agile, Design Thinking
What do you expect they all have in common? Why do you think they are applied to innovation? What might go wrong using these iterative methodologies?
39
Agile, Lean, Design Thinking, BMC
40
Agile, Lean, Design Thinking
42
Business Model Canvas
43
Business Model Canvas – Plain English
44
IDEATION: Customer Development
Customer Search Customer Validation Problems Solutions
45
Value for Who?
46
Customer Segments Customer groups represent separate segments if:
Their needs require and justify a distinct offer They are reached through different Distribution Channels They require different types of relationships They have substantially different profitabilities They are willing to pay for different aspects of the offer
47
Customer Segments Customer groups represent separate segments if:
Their needs require and justify a distinct offer They are reached through different Distribution Channels They require different types of relationships They have substantially different profitabilities They are willing to pay for different aspects of the offer A group of people who share Something urgently needed or incredibly meaningful, you can draw a circle around them
48
First Target Customers, Value Hypothesis
WHO For whom are we creating value? Who are our most important customers (those who have the most URGENT need!!!!) WHAT: value do we deliver to the customer? Which one of our customer’s problems are we helping to solve? Which customer needs are we satisfying? What bundles of products and services are we offering to each Customer Segment?
49
What is VALUE? Newness Performance Customization Getting the Job Done
Design Brand/Status Price Cost-Reduction Accessibility Usability/Convenience
50
What is VALUE? Newness Performance Customization Getting the Job Done
Design Brand/Status Price Cost-Reduction Accessibility Usability/Convenience Something urgently needed or incredibly meaningful
51
Value Proposition Canvas
???????
52
Gotta Luv Pyramids Lean Startup
PASSION
53
Lean Startup General management vs. “Just Do It” Validated Learning
Because startups often accidentally build something nobody wants Emphasize fast iteration and customer insight BUILD-MEASURE-LEARN Feedback loop Engine of Growth = Flywheel Strategy = Target User & Customer, Business Model, Product Roadmap, Partners, Competition Entrepreneurship IS Management Built in “failure” on the way to greatness = risk taking
55
”Build Something for SOMEBODY Instead of Everything FOR NOBODY" - Geoffrey Moore in “Crossing the Chasm”
56
Network Effect Metcalf’s Law VALUE = (# of participants) 2
57
More Lean Startup NOBODY EVEN TRIED OUR PRODUCT….
Quantitative targets created motivation to engage in qualitative in inquiry and guided us in the questions we asked Out of desperation we decided to talk to some potential customers…brought into the office….try this…… GUINEA PIG FARMING ZAPPOS MVP = Design thinking, get something going with the least amount of work to test the value hypothesis (tests whether a product or service really delivers value to customers once they are using it)
58
4 Questions of the Value Hypothesis
Do target users recognize that they have the problem you are trying to solve (and is that problem urgent: in the top 3) If there was a solution, would they use it (buy it) Would they buy it from you Can you build a solution for that problem Success is learning how to solve the customer’s problem
59
Team Project Overview Project Week: Project Week: Starts Oct 2
Today and through next Thurs: Submit your own ideas, reviews those that are there 9/25 Idea sponsors pitch idea, you vote your top 3 Project Week: Starts Oct 2 Form your team based on assignments, establish ground rules, Interviews round 1, build app scaffolding, Review Customer Development Round 1 and Potentially Pivot, Competition, sketch/wireframe Review Customer Development Round 2, Pivot, Competition 2, sketch/wireframe, Business Model Canvas Review Customer Development Round 3 Draft pitch, Dataset, backend, MVP prototype 1 KJ Affinity Diagram, final wireframe test with users All teams pitch and review, MVP prototype 2 Pitch and demo to VCs, Executives, Entrepreneurs
61
Why Bother with Agile?
62
Agile YOU!! Product Owner
63
Scrum Process
64
What is an Agile User Story?
A user story represents a small piece of business value that a team can deliver in an iteration (Sprint). While traditional requirements (like use cases) try to be as detailed as possible, a user story is defined incrementally, in three stages: The brief description of the need The conversations that happen during backlog grooming and iteration planning to solidify the details The tests that confirm the story's satisfactory completion
65
User Stories INVEST Checklist
Well formed user stories meet the criteria
66
FYI: INVEST Checklist INVEST checklist: for quickly evaluating user stories originates in an article by Bill Wake repurposed the acronym SMART (Specific, Measurable, Achievable, Relevant, Time-boxed) for tasks resulting from the technical decomposition of user stories.
67
Why Bother? Keep your team expressing value to the end user
Avoid introducing detail too early that would prevent design options and inappropriately lock developers into one solution Avoid the appearance of false completeness and clarity Get to small enough chunks that invite negotiation and movement in the backlog Leave the technical functions (how to accomplish the user story) to developers, testers, and so on
68
How Do I Writer User Stories?
As a <user type>, I want to <function> so that <benefit> . Examples: As a consumer, I want shopping cart functionality to easily purchase items online. As an executive, I want to generate a report to understand which departments need to improve their productivity.
69
User Stories BEWARE Avoid generic “user” Not all roles are end users
Specify roles of who interact with the system or realize value, “consumer”, “executive”, external systems “billing system” Not all roles are end users May be useful to create aggregate roles or specialized roles Consumer = all types of roles who purchase in any time frame vs Browser = searching for information purchase not likely in this session Frequent Shopper = repeat consumer, expert user of features
70
User Stories, Size Matters!
KISS redux = KEEP IT SMALL STUPID Small enough to be coded, test and checked for completeness to the user story within an iteration/sprint
71
Assignment #2 A) Plan the design, develop and test of a “To Do List” app Create a new board Trello board, set up with Backlog, Doing, Done lists. Add “User Stories” as cards to Trello in your backlog: start with these required MVP features: As a student, I want see all the work items I need to get done today. As a student, I want to add work items As a student, I want to delete work items What else in the backlog? Add at least 5 more to complete on later sprints. Move just the required features to the the Doing list, leave the rest as backlog At the end of completing Assignment 4, you will share your board with us As a <user type>, I want to <function> so that <benefit> .
72
Assignment #2 Plan, Build, Test The To Do app
73
Assignment #2 Plan, Build, Test The To Do app Step 1
Open Xcode Create a new project, call it something like MyToDo List App Choose a “Tabbed Application” = tab bar on the bottom to switch between “scenes”
74
Assignment #2 Build Your ToDo List App, Step 2
Run the app, so you can see what functionality Interface Builder/Cocoa Touch provides you.
75
Assignment #2 Build Your ToDo List App, Step 3
Open the Main.storyboard, note how the views are laid out
76
Assignment #2 Build Your ToDo List App, Step 4
We need to create a data structure to hold the task data Create a Cocoa Touch Class File, call it Task Manager as a subclas of NSObject, language is Swift
77
Assignment #2 Build Your ToDo List App, Step 5
The task data structure will be a simple struct. We’ll create a global variable to point to an instance of TaskManager
78
Assignment #2 Build Your ToDo List App, Step 6
In Main.storyboard, select the FirstViewController , go to the File Inspector Uncheck Use Auto Layout, press Disable Size Classes button
79
Assignment #2 Build Your ToDo List App, Step 7
Delete the junk in the First View Controller and put in a Table View Resize the Table view to leave space for the battery bar at the top and the tab bar at the bottom.
80
Assignment #2 Build Your ToDo List App, Step 8
Resize the Table view to leave space for the battery bar at the top and the tab bar at the bottom. Select the First tab button, change tab button name to Tasks Change the second view tab button to Add New
81
Assignment #2 Build Your ToDo List App, Step 9
Need to set up a data source and a delegate for our TableView Right click the table view, Drag DataSource to FirstViewController (Tasks) Right click the table view, Drag Delegate to FirstViewController (Tasks)
82
Assignment #2 Build Your ToDo List App, Step 10
Need to finish setting up a data source and a delegate for our TableView by adding Delegate – usually a subview has it’s parent as a delegate to handle certain methods, and that parent view is opting in to handle those methods, if the methods are required, the parent view must override them. Open the code for FirstViewController and add UITableViewDelegate, UITableViewDataSource Press CMD and click on UITableViewDataSource, you’ll see two methods that is not optional, we’ll need to implement it in FirstViewController .
83
Assignment #2 Build Your ToDo List App, Step 10
Copy the 2 methods, paste them into FirstController and make them into functions. For the first function, return the number of tasks For the seconf function add the following:
84
Assignment #2 Build Your ToDo List App, Step 12
Create the Add Task View from Second View Controller Remove the junk, add a Label (Add Task), and two Text Fields and a button (Add Task). Change the place holder text to Task Name and Task Description
85
Assignment #2 Build Your ToDo List App, Step 13
Need to set both text fields delegate as their parent, Second View Controller as the delegate by right clicking, dragging to the top parent view.
86
Assignment #2 Build Your ToDo List App, Step 14
Need to finish setting up a delegate as SecondViewController Open the code for SeondViewController and add UITextFieldDelegate, Press CMD and click on UITextFieldDelegate, there are only optional methods but it gives us access to extra functions. Copy textFieldShouldReturn, make it a functions, add the follow code so the text field resigns the responder when a user presses return (and the keyboard goes away!!) Run and test
87
Assignment #2 Build Your ToDo List App, Step 15
Run and test, form the FirstViewController which is the task list, press the Add Task tab button. In the SecondViewController which is add task, type stuff into the text fields, hit return, the key board should go away. Note if you click outside the text views on the SecondViewController, the keyboard stays there (it should go away), button doesn’t do anything
88
Assignment #2 Build Your ToDo List App, Step 16
We need to get rid of the keyboards when we click in the SecondViewController. Override function touchesBegan as below , run and test. Keyboard goes away when you click outside the textfields.
89
Assignment #2 Build Your ToDo List App, Step 17
We now need to add the text to the task list when we press the button. That means we need to take text from the two text fields in code by making outlets for them. Call one txtTask, the other txtDesc, they will be of type UITextField
90
Assignment #2Build Your ToDo List App, Step 18
We now need an action for the button, control click drag, Call it buttonAddTask Add the code as below which adds the task into the task list, get rid of the keyboard with endEditing, clear out the text fields from the Add Task, then jump back to the first first to show that the task has been added.
91
Assignment #2 Build Your ToDo List App, Step 19
We will need to add an outlet for the tasks table view, call it tasksTable We now need to update the view when returning to to FirstViewController by overriding viewWillAppear
92
Assignment #2 Build Your ToDo List App, Step 20
Now run the app, add tasks, make sure the tasks list update
93
Assignment #2 Build Your ToDo List App, Step 20
Last feature, almost there! We need to delete an item of the task list when it is complete by swiping (click on right, drag to the left). Item should be removed from table, table updates itself. In UITableViewDelegate … committ editing style (Delete), add to FirstViewController Run, add a few tasks, try to delete
94
Update Trello Test all the checklists on each of your user story cards. Move the all the cards to the Done list
95
To Get Credit for these Assignments
Add Members to Trello……. , #4 Try uploading your code to github and sending me a link. If too cumbersome, zip the folder, upload to canvas, we will download, run your code using the tests on the back of each trello card
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.