Date post: | 10-Aug-2015 |
Category: |
Engineering |
Upload: | johannes-weber |
View: | 53 times |
Download: | 1 times |
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.
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
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
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?
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
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
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.
Features are togglable in the frontend and backend. Per
configuration you can enable or disable features, routes etc.
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.
One module per feature. Each feature has its own directory containing all
components. Frameworks support you in building
Modules.
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