EppsNet Archive: Software Development

Amateur Design

 

The worst scenario I can imagine is when we allow real customers, users, and our own salespeople to dictate “functions and features” to the developers, carefully disguised as “customer requirements.” Maybe conveyed by our Product Owners. If you go slightly below the surface, of these false “requirements” (“means,” not “ends”), you will immediately find that they are not really requirements. They are really bad amateur design, for the “real” requirements — implied but not well defined. — Mary Poppendieck Read more →

Agile, ALM, and Agile 2.0 — Putting the Cart Before the Horse?

 

Speaking of selling chickens still in shells, an august panel of industry giants laid out their recent improvements and plans for ALM products (Application Lifecycle Management, for those not in the know). These guys dazzled the audience with how they’ve moved far beyond simple source code repositories and testing tools to a complete integration of all modern software practices. Quite a coup, indeed, since most real live software developers I’m seeing out there today still aren’t using the practices automated by the ALM tools. . . . In other words, many software developers aren’t using practices such as test driven development or source version control. Yet here are HP, Microsoft, and IBM announcing new ALM tools that automate more advanced practice in areas not even in use in the first place. Unbelievable. — Ken Schwaber Read more →

Seamless Integration

 

There’s an unwritten rule in the software business that any integration between two systems must be described as “seamless,” the result being that the word no longer has any meaning. My favorite seamless integration storyline took place years ago when IBM had a joint marketing pact with Vignette, and offered “seamless integration” between the WebSphere application server and the Vignette content management system. In fact, the two systems weren’t integrated at all by any definition of the word “integrated” that I know about. We had to write our own interfaces to move data between them. The funny thing is, that is seamless integration if you think about it, in that there’s no seam between two things that are not connected at all. For example, my shirt neatly integrates sleeves, cuffs, pocket, collar . . . but not seamlessly. There are seams all over the place. Whereas the shirt is seamlessly… Read more →

Every New Feature is a New Failure Point

 

The TPMS warning light on my car dashboard is lit up, which, according to the owner’s manual, indicates a malfunction in the Tire Pressure Monitoring System, a system designed to alert me, via a different warning light, when the tire pressure gets too low. It’s a completely unnecessary system to begin with because I can monitor the tire pressure myself, as drivers have done since the invention of the automobile. Let’s add a completely unnecessary new system so when it breaks, the owner will have to pay to fix it. Can I just ignore the warning light? I don’t know. The worst-case scenario is that the TPMS not only breaks but creates a domino effect that knocks out a critical system that I actually need. Toilers in software development can draw their own analogies . . . Thus spoke The Programmer. Read more →

Engineering Humor

 

An engineer walks into a bar and orders 1.0E20 root beers. Bartender: “That’s a root beer float.” Engineer: “Make it a double.” [HT: Scott Hanselman] Read more →

Generalists Are Better Than Specialists

 

People ask me what is my “specialty” in software development. My specialty, if I have one, is in not having a specialty. I feel like I can contribute on any task. That answer throws people off. They repeat the question, explaining that everyone is best at something. Managers especially like the idea of specialists because it simplifies the assignment of work: UI tasks go to the UI guys (or gals), SQL tasks go to the SQL guys, middle-tier tasks go to the middle-tier guys, and so on. Before launching my illustrious career in software development, I worked on a union construction site. Everyone’s job was defined in excruciating detail — what each union member could and couldn’t do. For example, if we needed to move a pallet from here to there, we had to find a teamster to drive the forklift. There were a few exceptions to that rule, depending… Read more →

There is a Difference

 

There’s a difference between being persistent and floundering. Thus spoke The Programmer. Read more →

Are Daily Stand-Ups Harming Your Team?

 

Woody Zuill: Are Daily Stand-Ups Harming Your Team? Read more →

HTML5 Date Tag

 

I learned something interesting about the HTML5 date tag. Look at this calendar dropdown: Here is the sum total of code needed to make that happen in a Chrome browser: That’s it! No Javascript, no CSS. Programmers these days have it easy. Read more →

Rough Layouts Sell the Idea Better Than Polished Ones

 

This was written by an ad man but I can see it applying to other endeavors, like designing a software interface: If you show a client a highly polished computer layout, he will probably reject it. There is either too much to worry about or not enough to worry about. They are equally bad. It is a fait accompli. There is nothing for him to do. It’s not his work, it’s your work. He doesn’t feel involved. If he doesn’t like the face of the girl in your rendering, or the style of the trousers on the man on the right, or the choice of the car he’s driving, he’s going to reject it. He won’t see the big idea. He will look at the girl’s face and think, ‘I don’t like her, this doesn’t feel right.’ It is very difficult for him to imagine anything else if what you… Read more →

IT Recruiter of the Day

 

From an actual job ad: Killer, Profitable, Stable and cutting edge technology company looking for genious!!! It’s funny when someone misspells the word “genius”! Why are random words like “Profitable” and “Stable” capitalized? Because the recruiter wanted to highlight the adjectives? Then why isn’t “cutting edge” capitalized? Why isn’t “cutting edge” hyphenated? Read more →

IT Recruiters

 

I’ve worked with some great IT recruiters but they’re the exception, not the rule. I spent a lot of time on LinkedIn recently as part of a job search, and it doesn’t make you feel good about IT as a serious profession when you see how many IT recruiters are former waitresses, bartenders, shoe salesmen . . . honorable professions, but not likely to give a person a good understanding of technology and the people who work with it. Here’s a sample phone conversation I had with a recruiter: “First question,” the recruiter says. “Do you have any experience with software development? Because that’s key for this position.” “Uh, that’s all I’ve done for 25 years. Are you looking at my résumé?” “Yes, but I don’t see anything about software development.” “Are you sure it’s my résumé?” “Yeah . . . I don’t see anything that specifically says software development.”… Read more →

Osmotic Communication

 

Does it take you 30 seconds or less to get your question to the eyes or ears of the person who might have the answer?   Osmotic communication means that information flows into the background hearing of members of the team, so that they pick up relevant information as though by osmosis. This is normally accomplished by seating them in the same room. Then, when one person asks a question, others in the room can either tune in or tune out, contributing to the discussion or continuing with their work. […] When osmotic communication is in place, questions and answers flow naturally and with surprisingly little disturbance among the team. — Alistair Cockburn Read more →

How to Lose Your Job : A Fictional Memoir (Part I)

 

Because of the huge productivity differences between good programmers and bad programmers — 10x? 28x? More? — my biggest leverage point as a development manager is my ability to hire people. At my last job, we had an HR Director named Lucy. In every one of our annual Employee Satisfaction Surveys, Lucy’s group had the lowest scores in the entire organization. Nobody liked or respected her. She was, however, close with the CEO, which made that irrelevant. Lucy’s friend Kathy Slauson runs the Slauson and Slauson recruiting agency, so that’s where we got our programming candidates, who were mostly terrible. The Slauson agency doesn’t specialize in IT candidates, although they do have a “technical recruiter,” who unfortunately knows nothing about technology. They don’t bring candidates in for in-person interviews. They take whatever candidates give them in the form of a résumé and they pass the résumés along to clients like… Read more →

It’s a Seller’s Job Market in IT Right Now, Especially for Agile

 

I recently concluded a 3-month job search. As part of my networking, I met a number of unemployed people in other fields who were having trouble not only getting jobs, but even getting interviews. I talked to a lot of people and averaged about an interview a day, including phone interviews, mostly for development manager jobs. For every development manager job, there are multiple development jobs, so if you’re a developer, your situation is even better than mine was. I live in Southern California, but the demand is not just local. I had multiple contacts from companies outside the SoCal area that can’t find qualified candidates. I’ve been working again for over two months, I no longer have an active résumé on job boards, and I still get emails and calls every day from recruiters all over the country. Agile and Scrum are in demand The situation with Agile and… Read more →

« Previous PageNext Page »