Entries Tagged 'Business as usual' ↓

I came across this great article on Business Insider:

The Ten Most Annoying Management Terms Of 2011

“Reaching out” is the number one most annoying management term of 2011. Finally, someone else stating a strong dislike of the “reaching out” craze.

1 – Reaching out – TMM first came across 2011′s winning term in July and since then it has spread like wildfire, which has us looking like Irish Riverdancers as we try to stamp it out as fast as we can. The origins and epidemiology of this disease has us suspecting it’s the product of some Class of 2011 Management School somewhere. It really is complete and utter rubbish. If you are about to call an investor for some documents you don’t “reach out to the client,” you phone or mail them. If you want to know why a trade hasn’t settled you don’t “Reach out to Bangalore” you “call back-office.” So let’s just kill that one right now before someone gets accused of molestation.

Enough with the reaching out…

I don’t know how phrases get to be so common. I commented previously about my distaste for “no problem” being the nearly universal response to “thank you.” Unfortunately, “no problem” hasn’t lost any steam. I even see it in instant messaging – “np.” Ugh.

The newest offender that is approaching universal usage is “reaching out” as in “I just wanted to reach out to you” or “I’m gonna reach out to Fred.” Reach out? You mean you’re going to send Fred an email, right? There won’t be any actual reaching, will there?

I think there’s an appropriate time to use the “reaching out” lingo. “I try to reach out to my hermit neighbor, but she doesn’t want to have anything to do with me.” That’s acceptable. I think “reaching out” carries a certain weight with it. It’s for tough situations. So when someone says something like they’re going to reach out to Fred, I think they’re trying to make that sound like a much bigger deal than it is. It’s a way of inflating the value of the act.

Regardless, that’s enough with the reaching out already. Just say you’re going to send Fred an email.

The Yin to the Yang

Some reading I was doing for a graduate course I’m taking got me to thinking about the evolution of electronic commerce. I remember all the hype around it in the late ’90s. “Brick and mortar is dead.” That sort of thing. Oracle had an ad that said something like “The Internet. This changes everything.” Certainly it was over hyped. But there’s no denying that the Internet has indeed had a significant impact on the world. For example, the globalization of the white collar workforce is what I consider to be one of the most significant changes brought about by the Internet.

What wasn’t discussed nearly enough at the time, and probably still isn’t today, is all of the other changes and innovations that come along with the good stuff (such as shopping on amazon.com). The Yin to the Yang, if you will. Part of the “everything” the Internet has changed has to do with crime, privacy, psychological afflictions, and more. SPAM, phishing, identity theft, cyber warfare, cyber terrorism… Those are some of the obvious downsides. I’m also sensitive to some of the more subtle issues. For example, hardcore iPhone and Blackberry users often have a constant assault of emails and instant messages which may result in the shortening of their attention spans and a severe negative impact on productivity – whether personal or at work. Here’s another subtle issue: bad information. Just because it’s published on the Web doesn’t mean it’s accurate. Wikipedia is a well-known example of this issue.

Anyway, just thinking out loud…

The problem with “no problem”

When did “No problem” become the standard reply to “Thank you”? From what I can tell, “no problem” has just about become the universal response to “thank you” and it’s a trend I’m ready to have come to an end any time now. Why? It’s impolite. “No problem” infers that it could have been a problem but, as it turns out, it wasn’t. Or it wasn’t enough of a problem to make an issue out of it. Maybe it’s a way of distancing ones self – a less personal way of saying “you’re welcome.” Yeah, that’s just what we need – another way to be less personal. Maybe the next person I thank can just text message me “np.”

When it comes to talking politics, be careful

People are so emotional about politics. Saying something negative about their party or candidate might be worse than telling them their child is ugly. Politics and religion are the hot button topics.

I taught a class during the 96 campaign and was joking about the candidates. I thought they were each entertaining – easy to make fun of. I did impersonations and tried to give each candidate equal time. Someone asked who I was voting for and I wouldn’t say. So I was trying to not take sides, just make jokes about the candidates. At the end of the week, when I got the evaluations back I learned I had really ticked off some of the students. I was shocked, but learned my lesson.

Missing the Code Coaster

I got into software development in the late 80s, just in time to be part of the massive movement to PCs, Windows, object-orientation, distributed systems and the Internet. Along the way, I’ve worked with many software development languages. Most of them I remember fondly. The list of programming languages I’ve worked with includes C/C++, Clipper, Progress, Visual Basic, PowerBuilder, Delphi, Smalltalk, Java, C# and PHP – though not necessarily in that order. It was a roller coaster of programming languages – what I came to refer to as the Code Coaster.

Some of those programming languages were major turning points for me. For example, Progress was my first experience with a client/server architecture. Delphi was the language I was working with when I really felt like I mastered object-oriented design. With Java I did my first heavy server-side development.

Several of them I still enjoy working with. Others… Well, I might be likely to find another way to make a living than have to program in them again! But I’m not sorry I worked with them when I did. It was all educational.

But these days I have REALLY been missing the thrill of working with a new language. Don’t misunderstand me, there are some very interesting things going on in the world of programming languages. Python and Ruby, just to name a couple. My local Barnes & Noble book store always has numerous Python books on the shelf, and generally at least one Ruby book.

The problem is, as far as I can tell, they’re not being widely adopted. As a result, I have yet to see any consulting work in my area that involves Python or Ruby. I can work with them in my free time if I choose to do so. But the truth is I won’t do that because I don’t have the luxury of spending time on something that doesn’t make me a more marketable consultant.

It’s disappointing to me that, for all practical purposes, the marketplace has narrowed its focus down to only two technologies: Java and .Net. To be honest, those two don’t feel that different. Having worked with both, .Net seems to me to be largely a Windows version of Java. I know the Microsoft camp would dispute that, and it doesn’t really matter because the point is .Net isn’t different enough. It’s a big step forward compared to the old programming tools from Microsoft. But it’s not a big step forward compared to Java.

Believe me, I understand the business case for the narrow focus. We can’t expect companies to rewrite their systems every few years because there’s a new “silver bullet” programming language. Then there’s the high cost of retraining staff. The difficulty involved in selecting which silver bullet to champion. Yada yada yada. I understand all that.

But my question is, is this the best we can do? Are Java and .Net sufficiently productive and elegant? I say no. When I’m working with Java, I’m always thinking about how much code has to be written to get something done. We can do really cool things with Java, particularly on the server, but it takes so darn much code. And don’t even get me started about .Net. I think .Net has many problems, most of which have to do with Microsoft and Windows. So I’m ready to work with a new programming language, the next silver bullet.

Working with a new programming language usually isn’t just a matter of the language. It’s also a matter of utilizing the IDE and code libraries, as well as 3rd party tools and add ons. It’s an opportunity for a better way of doing things, a more productive way to build software, a better designed class library, a more user friendly IDE, and so on. It holds so much promise. Only time will tell how quickly it gets bested. And when it does get bested, I’ll be there wanting to work with whatever the cool new thing is. Why? Because the evolution is not only exciting, it’s necessary. Lets get better at building software.

One more thing… One language does not fit all projects anymore than one hammer is the only tool you need in your toolbox. With the mainstream tools we have available to us today, I have several different languages I like to work with, depending upon what type of application I’m building. For large server side systems, I generally prefer Java. For typical database driven web sites, I think PHP does a great job. I prefer Delphi for building Windows GUI applications, as well as small utilities and services for Windows.

Will we ever have a “one language fits all” scenario? I don’t know. Maybe. But I doubt it. Different languages have different strengths. But I’m fairly certain we still have a lot of innovation ahead of us. We can’t stop now. Besides, what would be the fun in that? Viva la Code Coaster!

Starting a Project

I tend to use an iterative process, with each iteration aimed at more detailed information than those before it. I like to start by assembling a group of user representatives and work with them to develop a single sentence that describes the project. I then work with them to expand that into a paragraph. Next, I work with them to develop a list of desired functionality. We then prioritize the items on that list as 1, 2 or 3. A number 1 priority is anything that is an absolute must have – without it, the project would be a failure. Number 2s are still very important, and 3s are nice to have. This is about the time I work with the group to come up with a name for the project. The final iteration of the high-level requirements gathering process is to develop high-level use cases and actors for the 1s and 2s. Each iteration in this process uses the output of the previous iterations to maintain a sense of scope. Anything that appears to fall outside the scope is discussed. It may be eliminated, or the scope may be changed. Typically, it gets eliminated. It’s less common to change the scope of the project. Once all of this is accomplished we can begin working on detailed use cases.