How Non-negotiable Features Kill Software Products
features are pre-sold without any option to negotiate what’s important and what may be left out, you inevitably end up with too much complexity. Such pre-sold features not only tie your hands, but the client is also not able to change what he needs over time.
Related cards:
15 criteria for evaluating software product ideas
Choosing the right product to develop is crucial. Great execution is also very important. But if you develop a product that no-one wants or no-one is prepared to pay for, then you are going to fail, no matter how well you execute it. You can often...
Lessons learned from implementing Highrise's custom fields feature
We recently added custom fields to Highrise which allow you to keep track of extra details beyond standard contact information like phone, email, address, etc. After the launch, we had a “looking back” conversation to see what lessons could be lea...
Lessons learned from 13 failed software products « Successful Software
I asked other software entrepreneurs to share their stories of failure in the hope that we might save others from making the same mistakes. To my surprise I got excellent 12 responses, which I include below along with one of my own. It is a small ...
How to translate “business value” of things that are technically important
User Stories should describe what a user wants the system to do. Purely technical tasks should usually be implemented as part of a User Story. But, sometimes there are technical tasks which cannot be directly linked to customer value. Things like ...
How to kill a Rails development server by force
Sometimes, the rails dev server doesn't terminate properly. This can for example happen when the dev server runs in a RubyMine terminal.
When this happens, the old dev server blocks port 3000, so when you try to start a new server, you get the er...
makandra cards: A knowledge base on web development, RoR, and DevOps
What is makandra cards?
We are makandra, a team of 60 web developers, DevOps and UI/UX experts from Augsburg, Germany. We have firmly anchored the sharing of knowledge and continuous learning in our company culture. O...
How to revert features for deployment, merge back, and how to stay sane
Removing features and merging those changes back can be painful. Here is how it worked for me.\
tl;dr: Before merging back: reinstate reverted features in a temporary branch, then me...
Selling your software in China « Successful Software
The first thing I need to say, right off the bat: Chinese users will not buy your software. Period. That does not mean that there is no money to be made, it simply means that they will not pay for your software license.
Why UML Fails to Add Value to the Design and Development Process « Learning Lisp
UML is applying an abstraction at the wrong end of the problem. It is primarily used to sketch object models for inferior languages.