LeanJS - Lean startup with JavaScript

Post on 10-Aug-2015

53 views 1 download

Tags:

transcript

Lean Startup with JavaScriptLeanJS

WHO ARE WE?

• Sebastian Springer

• @basti_springer

• Johannes Weber

• @jowe

What are we doing?

What we are telling you today?

Which experiences we have made in developing innovative projects? What mistakes have happened and

what we have learned from this?

Lean Startup?

Business-hypothesis-driven development with iterative

releases and validated learning.

Lean Startup?

Tam P. / quora.com

How do I get my idea to market quickly?

How do I know whether my idea is good?

How do I get a quick response?

Alexandra H. / pixelio.de

The Problem

The Internet:The Final Frontier

de.wikipedia.org

The customer has the idea. We’ve the

experience and the tools.

K. Bangwa / pixelio.de

That being said, there you go.

#1How do I get my idea to market

quickly?

The Web's extremely fast paced

Our customer must be the first or at least the most successful

with his idea on the market.

First of all: The idea must be understood by all.

And what does all this have to do with

JavaScript?

The user is the focus, so we must do everything possible to deliver visible

results. The quickest way on the web is with

Javascript. It is available everywhere and in combination with HTML5 and CSS3 a

very powerful tool.

Gila Hanssen / pixelio.de

What is needed for the implementation?

An environment

Virtualization

VirtualBox, Puppet and Vagrant

https://github.com/mayflower/wasted

Rainer Sturm / pixelio.de

Package Management

Bower or JSPM for our frontend. NPM or Composer for the back end, depending on the technology used.

$ bower install —save angular $ bower install —save requirejs

bower.json“dependencies”: { “angular”: “~1.4.x”, “requirejs”: “~2.1.11”}

Yeoman provides scaffolding for projects. There are generators for

a variety of libraries and frameworks.

$ yo angular:controller user$ yo angular:directive myDirective

Frameworks & Libraries

Do not reinvent the wheel

Christa Nöhren / pixelio.de

The Backend

Requirements: registration, authentication,

and data management.

Aka / pixelio.de

Standardized communication

Using existing tools, such as Tools for database

administration

What technologies we use in the backend?

Corinna Dumat / pixelio.de

Frontend

Angular provides structure for an application and provides numerous

solutions out of the box. It also serves as a basis for additional extensions with their

own or other modules.

Modular system for loading files and resolve dependencies.

Seamless integration for a optimized build.

D3 is used for handling documents based on data. D3 relies very

heavily on existing standards such as HTML, CSS and SVG.

Rike / pixelio.de

Testing?

Don’t!

We're testing only core components and features, of

which we know that they will stay in our application for longer.

Noexperiments!

Tim Reckmann / pixelio.de

Training off the Job

Keep it simple

No over engineering

#2 How do I know if my idea is good?

Hansjörg Keller / pixelio.de

We need hypotheses!

10,000 new registrations within the first month

Each user generates 10 posts every week

An average registration process takes 2 minutes.

SMARTSpecific

Measurable Achievable Relevant

Time-bounded

Independent Negotiable Valuable

Estimatable Scalable Testable

INVEST

roja48 / pixelio.de

Measuring

Pretty much every action on the page needs to be recorded. From simple

PageLoad about actions like clicks or workflows to error messages.

The duration of certain actions is relevant, for example,

loading times, lead times, etc.

Siegfried Fries / pixelio.de

Fire and Forget

hamma / pixelio.de

Observe the measurement values continuously

Scrutinize these values regularly.

Tool of choice: Google Analytics, Piwik

We needFeedback!

Create forum, create a FAQ area, contextual feedback forms, which

are easily accessible, real-time chat with application support.

ASAP: consider about the on-boarding process

#3 How do I get a quick response?

Continuous Deployment

The effort to create a new release must be very small.

Ideally, it is automated.

pogobuschel / pixelio.de

Feature toggles

Features are togglable in the frontend and backend. Per

configuration you can enable or disable features, routes etc.

Erich Westendarp / pixelio.de

A/B-Testing

The target group is divided and each group receives a different version of the application or certain features.

The behavior of groups is measured. Allows conclusions concerning the

acceptance of certain variants.

Initiative Echte Soziale Marktwirtschaft IESM / pixelio.de

Modularization

One module per feature. Each feature has its own directory containing all

components. Frameworks support you in building

Modules.

Michael Loeper / pixelio.de

Continuous modernization

Tim Reckmann / pixelio.de

Conclusion

Allow mistakes.

We don’t want to avoid any errors in advance, but an infrastructure

that makes the detection of errors and their solutions very simple.

Provide a framework for learning

Include users in the development process from the beginning.

Rainer Sturm / pixelio.de

Questions?

@basti_springer

@joweReach us on Twitter