[Change] Getting real

2010-02-11  来源:本站原创  分类:Ruby  人气:251 

【】 Getting real change

Just happened to see,

This little book is written by the company 37signals, a small company, heard of 36signals it, ha ha,

But you must know ROR, alarmed, ROR originated in the small firms. . .

A small book, whole chapters look http://gettingreal.37signals.com/GR_chn.php


Priority chapter 4

What is a great idea

Through the friendly and humane to put themselves and big companies to distinguish

Make every effort to locate your software on a point. Your software represents what? In the end it is about what? Before you start designing or writing any code you need to know before you do this product's purpose - its prospects. The ideal zoom more. Why should it? It and other similar products where different places?

This concept will guide your every decision, you do not deviate from the route guide. Comparison of bounds at any time there is a move, ask yourself, "we're still true to his concept of doing things?"

Your idea must be simple. Words can be conveyed to the idea. The following is the concept of each of our products:

  • Basecamp: Project management is communication
  • Backpack: the life of the whole messy return
  • Campfire: using instant messaging software to carry out body exchanges Poor
  • Ta-da List: and timely note affixed to fight
  • Writeboard: no need to trouble Microsoft WORD

For example, we Basecamp software philosophy is, "project management is communication." We strongly feel that effective communication of a project is to guide a series of responsibilities, participation, investment and energy of the key. It put us up systems to enhance the consensus with a goal. We know that if Basecamp can do this, then other things will be 11 a matter of course.

The concept that guides us to keep Basecamp as much as possible and the development of transparency. We are not limited to communication within the company, on the contrary we are open to customers. We do not consider the issue of too much authority to the contrary, we encourage participation by all. The idea is to make us give up the charts, forms, reports, state analysis and spreadsheet functions, contrary to our focus on priority issues of communication, if new information daily, comments, notes the date and file sharing project . The major decisions about your idea to do in front of the future will become the decision of other little easier.

Philosophy of the board

Once Andy Hunt and I wrote a debit card transaction switch. One point that is not allowed to deal with a debit card to the second user fees. That is, no matter how wrong during the operation, the error can only occur in the final transaction and before the transaction can not be allowed duplication.

Therefore, we share information with Chinese characters written on the board: from the customer point of view, allowing customers the possibility of mistakes.

About half a dozen other more like this creed, as we create some complex products, require a decision under the skill, these creeds to set the course. They make our software has a strong internal cohesion and external coherence.


Ignore the details in the early

After the first coarse fine

We are too obsessed with details.

  • The two blank spaces between the elements
  • Perfect first letter uppercase glyphs
  • Perfect color
  • Perfect words
  • Code only four bankers, not seven lines
  • 90% and 89% of the difference
  • 760px and 750px difference
  • $ 39 / month and $ 49 / month difference

Success and satisfaction comes from the details

However, the details not the only success. Details you will encounter stagnation, disagreement, countless meetings and delays. These things will cover your evil beliefs and reduce your chance of success.

You have always a full day trapped in a design element or a program code? Think you may have from time to time the progress of today is not much of real progress? Early focus on details can lead to these results. Plenty of time to do a perfectionist. But not now.

Do not worry about the title in the first week of the font size. In the second week is you do not need what is the best green hue. In the third week, not to make the "submit" button three pixels to the right move. Put first things that put up. Use it. Ensure that it is available. The last to go and adjust it to perfection.

Details are in the process you use will be exposed. Only use what you can see the need for further attention. In use you will feel something is missing. Often walking trip will clear your feet on the ground what is needed to fill the potholes. That is when you are forced to pay attention to the details when it is needed, not a thought of the details go to fix it.

Devil hides in the details

In a few electives in painting class, I completely get rid of the "immediately into the details" attitude ... if you start drawing out the details of the paintings is almost certain to be not very good. In fact, you start to do that is completely wrong.

You have to start to engage in the global distribution of the ratio of the. You start from the largest one, and slowly transition to the smallest. Draft must reflect the theme of ambiguity. Then you proceed to polish, so the whole painting to life. Start with light colored, medium and dark colors start with three. This way you will have light and shade of the draft. Next, in the rest of your art must uphold the application of the principles of the three colors. Repeat this until the whole shape ...

Ever, must be big to small to do.

- Atrick Lafleur, Creation Objet Inc. (Excerpt from Signal vs. Noise )


When the problem becomes a problem when it is to worry about

Do not waste time on the issue has not become a problem

Do you really need to consider when the user reaches more than 100,000 occur when the problem? It may already be a thing two years later.

If you are a programmer you really only need three of eight you need to hire?

Do you really need 12 sets of high-end server at once even if two is enough to make you top a year?

Before passing it on

People always spend a lot of time in advance do not know the issue will not occur. By, when we launched Basecamp does not know how to charge their clients! Because the product is paid for months, we know that another 30 days to pay way buttoned. We used the time saved in advance in addressing the more urgent problem until after the product launch, we started paying the issue. The results are smooth (it forces us to use the most simple solution, no fancy stuff).

Do not worry about all the trouble of forming. Do not over-develop a product. When the time is to add hardware and system software. If the schedule was postponed a week or two, do not worry, not to the end of the world. As long as honest: explain to your customers hear that you are experiencing growing pains. They may not be so extremely moving, but they will at least agree with you frank.

The key is: If you have mastered the information you need to make decisions on a timely manner. So you will be able to focus on the need to solve the problem up immediately.


From to say "no" Start

Function is not easily achieved

Construction of part of the secret and not incomplete is not equivalent to

Every time you say yes to a function, you are a child adoption. You must take your child through a series of events (such as design, implementation, testing, etc.). Once the feature there, you are sunk. Little as possible for customers to release a feature, look at whether the customers to leave angry.

Do not become a yes-man

Each function is not easily achieved. For each feature prove itself and show that they are survivors. It's like "Fight Club.". If those functions as in the corridor waiting to come in for three days, you only consider them.

This is why you say start from. Each presented to us - or our own proposals - a new functional requirements are met a NO. We listen but do not take action. The initial response was "not now", or if a demand function of non-stop over, we know it is time for further observation. Well, just then, we started to consider to achieve this function.

When you do not adopt their feature proposal, how do you reply to them complain? The first reason is, you have to remind them why they like the application. "You like it because we said NO. You like it because it does not do things the other 100 does not matter. You like it because it does not always try to please anyone."

  • How to do a good job in the demand for change management - needs to change flow specification 2009-02-28

    Project Leader: assessment needs to change some of the workload to determine whether it needs to change the contents of the progress on the development of an impact, if the demand to change the progress of an impact on the development, the project le

  • Rails2.0.2 change the default DB adpter 2009-03-01

    In Rails2.0.2 rails demo ... ... MissingSourceFile in SayController # hello no such file to load - sqlite3 RAILS_ROOT: / home / kenb / rails-projects / demo ... ... Checked config / database.yml, adpter default is set become the sqlite3. Check the ra

  • rails version of the change (b) - rails of the introduction 2009-03-09

    Prompted the new Rails 2.2 features October 24, Rails has released a preview version 2.2, Rails This is the history of a major version upgrade! Mainly includes the following major changes: 1, support internationalized! Rails2.2 integrates a i18n fram

  • There is likely to change through their own efforts to develop enterprise confusion? What are the conditions required? 2009-04-14

    A few days ago, Posts to see such a "job for a couple of days, resigned" http://www.javaeye.com/post/924599. Landlord said that he has entered a development confusion, technological obsolescence of the company. Resigned two days later. Keep abre

  • Five Ajax Topsy: DOM of the CRUD (by. Reading. Change. Search) 2009-07-30

    Five Ajax Topsy: DOM of the CRUD (by. Reading. Change. Search)

  • A curriculum vitae, I would like to change jobs, so how to write? 2009-10-06

    CV Basic Information Name XXX Sex Male Living in Beijing and a half years work experience 2 At present, development engineer jobs, project manager for e-mail XXXXXXXXXX Mobile phone XXXXXXXXX  two and a half years of self -evaluation of the software

  • Comments to change the world's top ten figures Java 2009-11-22

    As Java Father, James Gosling is the familiar name. When people comment on when a programming language, with a total of like incidentally the hen to lay eggs brought together. Java China as a programming language learners with limited table meal then

  • iBATIS3.0 learning (1) The use of iBATIS3.0 check the completion of additions and deletions to change 2010-02-06

    Check the completion of additions and deletions to change the use of iBATIS3.0 iBATIS3.0 and previous versions there are some changes, but learned the previous version of re-learning 3.0 should not be too difficult, 3.0 require JDK1.5 support, becaus

  • Session Xiangjie (change) 2010-03-29

    Session Xiangjie (change) Abstract: Although the session mechanism in the web application has been adopted for a long time, but there are still a lot of people do not know the nature of session mechanism, as well as the application of this technology

  • [Change] import and export excel using POI components 2010-03-29

    [Change] import and export excel using POI components Often encountered in the project to the list, or export data to excel in the excel document that already exist to import data into the database. Here to record the usage in the struts1.2. 1, from

  • Optimized JAVA Programming (change) 2010-03-29

    1.JVM manage two types of memory: heap memory (heap), stack memory (stack), mainly used to stored procedures within the heap at run time To create or instantiate objects and variables. While the stack memory is used to store program code declared as

  • [Change] jdom get xml tag line number 2010-03-29

    Recent operational tools to be a swing of the xml. One function is to get a label in the xml document line number. Initially think it is not a java parse xml in one of the four methods can be line numbers, they begin to turn their api, the results of

  • [Change] Use JInternalFrame achieve MDI 2010-03-29

    Disclaimer: This article describes the contents of the GPF project can be found in the corresponding implementation. GPF plans to use the MDI of the processing mode, Java's JDesktopPane and JInternalFrame has been for us to achieve such functionality

  • change Oracle 8080 2010-03-29

    Use Oracle Enterprise Manager Console, log on to dba select the database, XML Database, Configuration. Change the http-port for other ports can be.

  • Java IO Learning (change) 2010-03-29

    Java IO Learning (change) First, the concept of Java in the operation of the file is streaming manner. Flow is a set of Java in-memory ordered data sequence. Java data from the source (file, memory, keyboard, network) read into the memory, forming a

  • Struts tags used to change the functional 2010-03-29

    Struts tags used to change the functional In general applications, generally have to add, modify and other operations, as follows: Add Features Java code <s:textfiled name="xxx" /> Modify the function of Java code The problem: <input na

  • HQL statement Daquan (change) 2010-03-29

    Hibernate is equipped with a very powerful query language that looks very much like SQL. But do not be grammatical structure of the confusing similarity, HQL is very conscious of is designed to be fully object-oriented queries, it can understand conc

  • Dialog to change the background transparency of the 2010-03-29

    Dialog dg = new Dialog(this); Window window = dg.getWindow(); WindowManager.LayoutParams lp = window.getAttributes(); lp.alpha = 0.5f; window.setAttributes(lp); lp.alpha = 0.5f transparency in setting its value to be reasonable and their repeated tes

  • JDK version (change) 2010-03-29

    Source: http://hi.baidu.com/songdenggao/blog/item/3c354e4a877e0d2609f7ef93.html class version 2008-05-08 17:27 1: To solve the problem JDK1.5 when we early adopters, I believe many people have encountered an error Unsupported major.minor version 49.0

  • [Change] Simple Unix system commands 2010-03-29

    Reference Address: http://bbs.weiphone.com/read-htm-tid-575256.html Because of the IPHONE to perform certain operations, you need to use PUTTY, it must use these instructions. Issued some simple so that we learn! cp command of the command function is