- Business Model Generation and Value Proposition Design: - Alexander Osterwalder
- The Lean Startup: - Eric Ries
- The Startup Owner's Manual: The Step-By-Step Guide for Building a Great Company - Steve Blank / Bob Dorf
- The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers - Ben Horowitz
- The Four Steps to the Epiphany Hardcover – Steve Blank (Author)
- The Lean Product Playbook: How to Innovate with Minimum Viable Products and Rapid Customer Feedback - Dan Olsen (Autor)
- The goal of software architecture is to minimize the human resources required to build and maintain the required system.
- The only way to go fast, is to go well.
BEHAVIOR
The first value of software is its behavior. Programmers are hired to make machines behave in a way that makes or saves money for the stakeholders.
The Ask Formula is a series of surveys (or questions) designed to determine what a customer wants, along with customized sales language based on those answers to get that customer to buy. Think of it like a funnel. A funnel is a tube or pipe that is wide at the top and narrow at the bottom, used for guiding liquid or powder into a small opening. A survey (or question) funnel operates the same way. You start by asking big wide questions at first, and then those questions narrow, and narrow more, as you ask your customers simple, more precise questions about their situation; until you have enough information to speak to their specific wants, needs, and desires.
People don’t know what they want.
People are really good at telling you what it is they don’t want.
Variable declarations using var
are treated as if they are at the top of the function (or in the global scope, if declared outside of a function) regardless of where the actual declaration occurs; this is called hoisting.
Block-level declarations declare bindings that are inaccessible outside a given block scope. Block scopes, also called lexical scopes, are created in the following places:
- Inside a function
- Inside a block (indicated by the
{
and}
characters)
let
declarations are not hoisted to the top of the enclosing block; use let
to declare a variable but limit the variable’s scope to only the current code block.
- [INTRO TO SCRUM] https://www.youtube.com/watch?v=KA9A9eRXhLo
- [WHAT'S KANBAN QUICK ARTICLE] https://www.javiergarzas.com/2011/11/kanban.html
- SCRUM & KANBAN
- [OTRO CURSO DE SCRUM] https://www.edx.org/es/v2/course/applied-scrum-for-project-management
alias 1pass='wine ~/.wine/drive_c/Program\ Files\ \(x86\)/1Password\ 4/1Password.exe' | |
alias apalogs='cd && tail -f /var/log/apache2/error.log' | |
alias checkstyle='rubocop -a -f fuubar ; scss-lint' | |
alias gl='git lg' | |
alias openmysql='mysql --defaults-file=~/.local_db_conf' | |
alias quality_test='checkstyle ; rake traceroute ; rubycritic' | |
alias testall='bin/rspec' | |
alias update_me_motherfucker='git checkout master && git pull origin master && bundle install && rake db:migrate' | |
----------------------------- |
function parse_git_dirty { | |
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit, working directory clean" ]] && echo "*" | |
} | |
function parse_git_branch { | |
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/" | |
} | |
export PS1='\u@\h \[\033[1;33m\]\w\[\033[0m\]$(parse_git_branch)$ ' |
[user] | |
email = example@email.com | |
[color] | |
ui = true | |
[alias] | |
co = checkout | |
ci = commit | |
lg = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all | |
[core] | |
editor = subl -n -w |