from - みる会図書館


検索対象: THE BEST SOFTWARE WRITINGⅠ
175件見つかりました。

1. THE BEST SOFTWARE WRITINGⅠ

224 THE BEST SOFTWARE WRITING I ln order for the sale to occur, this gap must be closed. Until that happens, the gap represents all 0f the issues and obstacles that are pre- venting the customer from making the purchase: The customer has never heard Of your product. ・ The customer doesn't know enough about your product. ・ Your product iS t00 expenslve. ・ The customer needs two levels Of management approval for the purchase. ・ Your product lacks a feature the customer needs. ・ Your product doesn't interoperate with the customer's other stuff. ・ Your product isn't mature enough tO meet the customer's expectatlons. TO continue tO exist as a business, your small lSV must find a way tO close this gap, over and over again. There are exactly tWO ways tO close the gap: ・ Move your product to the right. Tell the world about your product. Make your product better so that people will want t0 buy it. ・ Move your customer to the left. Find people who might want your product. Convince them tO buy it. We will begin by talking about the challenge of moving your cus- tomer toward your product. Proactive Sales Let'S define some more terminology. The word is somewhat over- loaded, but in the context Of a jOb function, I prefer tO reserve this term for the process Of proactively finding new prospective customers and working with them individually tO try and convince them tO make a pur- chase. A person who performs this job function is called a "sales guy ・

2. THE BEST SOFTWARE WRITINGⅠ

290 THE BEST SOFTWARE WRITING I And So, the QuickTrip Cameto an Eased, Cushioned HaIt 。ん十。 h 格 や「計 4 ト wH0 who ・ 0 いま So now we have a problem. I get the feeling that you are enjoying this way t00 much. And you haven't even hit the chapter where I use jump- roping songs t0 help you learn how t0 parse XML! If you're already enjoying this, then things are really going bad. TWO chapters from now you'll be writing your own Ruby programs. ln fact, it's right about there that l'll have you start writing your own blogging software, your own file-sharing network (a la BitTorrent), as well as a program that will instant-message you when you get email. And then, the mother Of all scripts: a program that will spider the entire lnternet for MIDI files! And you know (you've got tO know! ) that this is going tO turn intO an obsession. First, you'll completely forget t0 take the dog out. lt'll be standing by the screen door, darting its head about, as your eyes devour the COde, as your fingers slip messages tO the computer. Thanks to your neglect, things will start tO break. Your mounds of printed sheets of code will cover up your vents. Your fur- nace will choke. The trash will pile up: take-out boxes you hur- riedly ordered in, junk mail you couldn't care tO dispose Of. Your own uncleanliness will pollute 1009 509 head と a u m 三い de pe とい W(p)GtR 200

3. THE BEST SOFTWARE WRITINGⅠ

ERIC SINK 245 But We Ca が亡 Do ItThis Way! Why no に I know that lots of people are going to disagree with me on the opin- IOns in this article. Trusting the customer IS scary. If you don't like what l've written here, then at least give serrous consideration tO the following: Have I not described exactly hOW you want tO be treated when you are the customer? If SO, then shouldn't you be treating your customers the same way? Why not? We're Not Perfect At every seminary and religious schOOl, preachers are taught tO preach above themselves. " After all, pastors are just people. They have prob- lems just like the rest 0f us. lt takes a 10t 0f audacity t0 stand up before a congregation every Sunday and talk about how t0 live a better life. If perfection were a requirement for the job, then the pulpit would always be empty ・ I face a similar problem in my writings, but especially in this article. Several times here I have used my own company as an example, but we are very far from perfect. Our demo doesn't always just work. Our online store has quirks. Somet1mes Ⅵ℃ are t00 SIOW responding tO technical support. Just like every sermon I have ever heard in church, I preach t0 myself, and Monday morning I will try and do better. For most small ISVs, responsive sales are the way to close the gap. Let the customer be in charge, but make the gap easy to cross by moving your product as close tO them as possible.

4. THE BEST SOFTWARE WRITINGⅠ

MARY POPPENDIECK 163 Dysfunction # 5 : Destroying lntrinsic MotivatIon There are two approaches t0 giving children allowances. Theory A says that children should earn their allowances; money is exchanged for work. Theory B says that children should contribute t0 the household without being paid, SO allowances are not considered exchange for work. I know one father who was raised with Theory B but switched t0 Theory A for his children. He put a price on each job and paid the chil- dren weekly for the jobs they had done. This worked for a whil% but then the kids discovered that they could choose among the jobs and avoid doing the ones they disliked. When the children were old enough t0 earn their own paychecks, they stopped doing household chores alto- gether, and the father found himself mowing the lawn alongside his neighbors' teenage children. Were he t0 d0 it again' this father says he would not tie allowance tO work. ln the same way, once employees get used tO receiving financial rewards for meeting goals, they begin tO work for the rewards, not the intrinsic motivation that comes from dOing a good jOb and helping their company be successful. Many studies have shown that rewards like grades and pay will, over time, destroy the intrinsic reward that comes fror れ the work itself. One Week Later sue was nervous as she entered the room for the ranking meeting. She had talked over her problem with her boss, Wayne, and, although he didn't have any easy solutions, he suggested that she present her problem

5. THE BEST SOFTWARE WRITINGⅠ

BRUCE ECKEL 77 realizing that the compiler was Jt1St one (incomplete) form Of testlng, then understanding that a dynamically typed language could be much more productive but create programs that are Just as robust as those written in statically typed languages, by providing adequate testing. Of course, Martin 引 so received the usual "How can you possibly think this ' comments.Which is the very question that led me tO begin struggling with the static/dynamic typing concepts in the first place. And certainly bOth Of us began as static type checking advocates. lt's inter- esting that it takes an earth-shaking experience—like becoming test infected or learning a different kind Of language—to cause a reevalua- tion of beliefs.

6. THE BEST SOFTWARE WRITINGⅠ

WHY THE LUCKY STIFF 289 DOing Okay? Just out Of curiousity, can you guess what this example does? Hopefully, you re seeing some patterns in Ruby. If not, Just shake your head vigorously while you ve got these examples in your mind. The code should break apart into manageable pieces. For example, this pattern IS used a number 0f times: va 4 わ . 川ビ舫 od ( 川ビ舫 od g 〃川な ) You see it inside the block: http.get( ・ /en/LICENSE. txt' ) We're using Ruby to get a web page. You've probably used HTTP with your web browser. HTTP is the Hypertext Transfer Protocol. HTTP is used to transfer web pages across the lnternet. Conceptualize a bus driver WhO can drive across the lnternet and bring back web pages for us. On his hat are stitched the letters HTTP. The variable http is that bus driver. The 川ビル od is a message to the bus driver. GO get the web page called /en/LICENSE. txt. So where you see the chain of methods: http.get( '/en/LICENSE. txt' ). body Since we'll be getting back a web page from the http bus driver, you can read thiS in your brain as: 曜訪々鰓ビ . body And this bit of code: print( http.get( '/en/LICENSE. txt' ). body ) This code gets the web page. We send a body message to the web page, which gives us all the HTML in a s な g. We then print that string. See how the basic dot-method pattern happens ln a chain. The next chapter will explore all these sorts of patterns in Ruby. lt'll be good fun. So, what does this code do? lt prints the HTML for the Ruby home page t0 the screen. Using an web-enabled bus driver.

7. THE BEST SOFTWARE WRITINGⅠ

WHY THE LUCKY STIFF 283 so you can keep track of which end is the head and which is the tail. The commas are the caterpillar's legs, wiggling between each section of its body. Once there was a caterpillar who had commas for legs. Which meant he had to allow a literary pause after each step. The other caterpillars really respected him for it and he came tO have qulte a commanding presence. Oh, and talk about a philanthropist! He was notorious for giv- ing fresh leaves tO those less fortunate. Yes, an array is a collection Of things, but it also keeps those things in a specific order. Hashes A hash is a dictionary surrounded by curly braces. Dictionar1es match words with their definitions. Ruby does SO with arrows made from an equals sign, followed by a greater-than sign. = > ' badger ・ } is an example. = > 'aardvark' This time, the curly braces represent little book symbols. See how they 100k like little, open books with creases down the middle? They represent opening and closing our dictionary. lmagrne our dictionary has a definition on each of its pages. The commas represent the corner Of each page, which we turn to see the next definition. And on each page: a word followed by an arrow pointing to the definition. = > 'Peter' name profession ・ = > 'lion tamer' great love ・ = > 'flannel' not comparing hashes tO dictionaries because you can only store definitions in a hash. ln the example above, I stored personal informa- tion for Peter, the lion tamer with a great love for flannel. Hashes are like dictionaries because they can be very easy to search through. Unlike arrays, the items in a hash are not kept in a specific order.

8. THE BEST SOFTWARE WRITINGⅠ

ERIC SINK 235 ln fact, we will be quite busy, indeed. lt is our job to make the whole process as easy as possible for customers. They will choose to cross the gap. We will move our product to the right so the gap will be easier for them tO cross. TO succeed in responslve sales, there are seven things we must do: 1 . Make Sure Customers KnowAbout Your Product Customers cannot buy your product if they have never heard of it. Those of you who find this statement to be insightful will be similarly enlight- ened to learn that the sky is blue. Seriously, I know l'm stating the obvious here, but awareness of your product is a pretty important precondition, especially for responsive sales. If the customer never contacts you, then you cannot be responslve. If you don't have a way ofletting people know your product exists, then you may not need tO read the remainder Of this article. Responsive sales won't work for you until you start getting some awareness built up. StiII, we should remind ourselves that building awareness is the task of marketing, not sales. Specifically, this is part of a subcategory called marketing commumcations, or marcomm" for short. A full treatment Of marcomm IS well beyond the scope Of this article. For now, I want to mention three quick items: Be CarefuI with Advertising Q: What's the difference between buying magazine ads and setting dollar bills on fire? A: Flaming cash actually produces a benefit, since it generates heat. This joke is excerpted from the beginmng of an article2 1 wrote last year about advertising for small ISVs. The rest of the article goes on to 2. See http://software.ericsink.com/Magazine Advertising. html.

9. THE BEST SOFTWARE WRITINGⅠ

xiv ABOUT THE AUTHORS Rick Schaut grew up in Green Bay and Milwaukee, ・ Wisconsin, where he spent his childhood watching Paul Hornung score touchdowns and Hank Aaron hit home runs. At one point, he believed that our national anthem ended with, "the land of the free and the home of the Braves," and he had a hard time figuring out why every American League umpre was named "AI. ' ' After graduating from high school, Rick studied economics at the UniverS1ty Of Wisconsin, MiIwaukee, and computer science at the University 0f Wisconsin. Rick joined Microsoft in 1990 and has been working on verslons Of Microsoft Word ever Slnce. CIay Shirky teaches at NYU's graduate lnteractive Telecommunications Program, and works with clients, including the Library 0f Congress, Connecting for Health, and NOkia, on network design issues. He writes about the cultural and economIC lssues Of the lnternet (archived at shirky.com/. Eric Sink is the founder of SourceGear, a developer tools ISV. More of Eric's writings and rants can be found on his weblog at software. ericsink. com. Eric and his wife live in central lllinois with their two young daughters and one 01d cat. Aaron SwartZ is a teenage writer, hacker, and activist. Formerly the Metadata Advisor to Creative Commons and member of the W3C's RDF Core Working Group, he is currently a student at Stanford University, where he authors his popular weblog and is beginmng work on a technology startup. why the lucky stiff is a computer progg'er and aspiring author with no true achievements under his belt. Except there was that time when he tore a building in half with his bare feet.

10. THE BEST SOFTWARE WRITINGⅠ

RICK SCHAUT 173 々ルわ訪 4 ⅵ or 朝〃 0 〃〃〃 0 イわの zo ル pro- E レビ 0 〃 e ~ 〃レ 0 んビ d. , ー 0 な〃〃 4 , わ ad OC た 0 々〃 0 〃 5 4 〃 d れ 0 ル ルれ S なル , 4 B ビ〃〃 co 〃怩なル , 4 〃 d 4 big わ 0 酣 . So do が右 feel 0 so 〃アん舫ど川 . ー Ed. om always said, "The only good thing about beating your head against the wall is that it feels good when you stop. ' ' ・ Well, sorry Mom, but that's not fully true. 嶬市 i に you're sitting on the couch buried beneath an ice pack, you tend tO come up with a few ways tO mind your head. Shipping a crappy product is a 10t like beating your head against the wall. lt really does feel good when you ship a great product as a follow- up, and it really does motlvate you tO spend some time trying tO figure out how not to ship a crappy product again. Mac Word 6.0 was a crappy product. And we spent some time trying tO figure out hOW not tO dO that again. ln the process, we learned a few things, not the least 0f which was the meaning 0f the term "Mac-Iike. ' ' ln order t0 understand why Mac Word 6.0 was a crappy product, we need to understand both the historical background that led to some key decisions, and we need tO understand some Of the technical problems that resulted from those decisions. Mac Word 5 and Pyramid On October 5 , 1991 , we shipped Mac Word 5.0. The reviews were glowing. For the effort, we received the Mac software equivalent Of a Tony award: the Mac World Eddy. Even today, there are people who say that Mac Word 5.0 / 5.1 comprise the best version of Mac Word we've ever shipped.