Custom software development methodology