Download presentation
Presentation is loading. Please wait.
Published byWilla Tyler Modified over 8 years ago
1
UMSI 663 Innovations and Entrepreneurship in the Information Industry with Mobile Apps in SWIFT Week 2 Nancy A. Benovich Gilby Ehrenberg Director of Entrepreneurship Clinical Associate Professor University of Michigan School of Information 650-539-8376 nabgilby@umich.edu
2
? Only innovations in for-profit, high tech or bio-tech are considered to be “entrepreneurial” innovations”
3
? A startup is a: 1.human institution 2.designed to create a new product or service 3.under conditions of extreme uncertainty
4
Today Learning Outcomes Review of Assignment #1 Hello World App Swift/Xcode Gotcha’s!!!! 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
5
ENTREPRENEURIAL COMPETENCIES DISCOVERY IDEATION VALIDATION PERSUASION NEGOTIATION ADAPTATION LEADERSHIP INNOVATION VALUE CREATIO N FORMATION
6
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.
7
Terminology Classes – Objects? Methods – Functions? Variables – Instance Variables? Library – Protocol (Delegate) Application Framework – Model, View, Controller (MVC)
9
Swift “Gotcha” You must CLEANLY delete mistakenly created outlets and actions!!! Example: Helloworld Button 2
10
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?
11
Agile, Lean, Design Thinking, BMC
12
Agile, Lean, Design Thinking
14
Business Model Canvas http://www.businessmodelcompetition.co m/uploads/5/1/5/7/5157318/_5650743_orig. png
15
Business Model Canvas – Plain English
16
IDEATION: Customer Development Customer Search Customer Validation ProblemsSolutions
17
Value for Who?
18
Customer Segments Customer groups represent separate segments if: o Their needs require and justify a distinct offer o They are reached through different Distribution Channels o They require different types of relationships o They have substantially different profitabilities o They are willing to pay for different aspects of the offer
19
Customer Segments Customer groups represent separate segments if: o Their needs require and justify a distinct offer o They are reached through different Distribution Channels o They require different types of relationships o They have substantially different profitabilities o 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
20
First Target Customers, Value Hypothesis WHO o For whom are we creating value? o Who are our most important customers (those who have the most URGENT need!!!!) WHAT: value do we deliver to the customer? o Which one of our customer’s problems are we helping to solve? o Which customer needs are we satisfying? o What bundles of products and services are we offering to each Customer Segment?
21
What is VALUE? Newness Performance Customization Getting the Job Done Design Brand/Status Price Cost-Reduction Accessibility Usability/Convenience
22
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
23
Value Proposition Canvas ???????
24
Gotta Luv Pyramids Lean Startup PASSION
25
Lean Startup General management vs. “Just Do It” Validated Learning o Because startups often accidentally build something nobody wants o 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
27
”Build Something for SOMEBODY Instead of Everything FOR NOBODY" - Geoffrey Moore in “Crossing the Chasm”
28
Network Effect Metcalf’s Law VALUE = (# of participants) 2
29
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 o 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)
30
4 Questions of the Value Hypothesis 1.Do target users recognize that they have the problem you are trying to solve (and is that problem urgent: in the top 3) 2.If there was a solution, would they use it (buy it) 3.Would they buy it from you 4.Can you build a solution for that problem Success is learning how to solve the customer’s problem
31
Team Project Overview 1.Form your team based on assignments, establish ground rules, Interviews round 1, build app scaffolding, 2.Review Customer Development Round 1 and Potentially Pivot, Competition, sketch/wireframe 3.Review Customer Development Round 2, Pivot, Competition 2, sketch/wireframe, Business Model Canvas 4.Review Customer Development Round 3 Draft pitch, Dataset, backend, MVP prototype 1 5.KJ Affinity Diagram, final wireframe test with users 6.All teams pitch and review, MVP prototype 2 7.Pitch and demo to VCs, Executives, Entrepreneurs Project Week: Starts Oct 2 Project Week: 1. Today and through next Thurs: Submit your own ideas, reviews those that are there 2. 9/25 Idea sponsors pitch idea, you vote your top 3
33
Why Bother with Agile?
34
Agile YOU!! Product Owner
35
Scrum Process
36
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: o The brief description of the need o The conversations that happen during backlog grooming and iteration planning to solidify the details o The tests that confirm the story's satisfactory completion
37
User Stories INVEST Checklist Well formed user stories meet the criteria
38
FYI: INVEST Checklist INVEST checklist: for quickly evaluating user stories originates in an article by Bill Wakean article o repurposed the acronym SMART (Specific, Measurable, Achievable, Relevant, Time-boxed) for tasks resulting from the technical decomposition of user stories.
39
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
40
How Do I Writer User Stories? As a, I want to so that. 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.
41
User Stories BEWARE Avoid generic “user” o 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 o Consumer = all types of roles who purchase in any time frame vs o Browser = searching for information purchase not likely in this session o Frequent Shopper = repeat consumer, expert user of features
42
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
43
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: o As a student, I want see all the work items I need to get done today. o As a student, I want to add work items o As a student, I want to delete work items o 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, I want to so that.
44
Assignment #2 Plan, Build, Test The To Do app
45
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”
46
Assignment #2 Build Your ToDo List App, Step 2 Run the app, so you can see what functionality Interface Builder/Cocoa Touch provides you.
47
Assignment #2 Build Your ToDo List App, Step 3 Open the Main.storyboard, note how the views are laid out
48
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
49
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
50
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
51
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.
52
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
53
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)
54
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.
55
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:
56
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
57
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.
58
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
59
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
60
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.
61
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
62
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.
63
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
64
Assignment #2 Build Your ToDo List App, Step 20 Now run the app, add tasks, make sure the tasks list update
65
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
66
Update Trello Test all the checklists on each of your user story cards. Move the all the cards to the Done list
67
To Get Credit for these Assignments Add Members to Trello……. nabgilby@gmail.com, manavg@umich.edu, shubhamr@umich.edunabgilby@gmail.com #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.