Thursday, April 29, 2010

Domestic Agile Teams vs. Offshore Waterfall Teams

Many companies are struggling to figure out how and when to utilize low cost offshore labor in relation to domestic engineers for building applications and engineering new hardware platforms. Here's your answer.

There is a popular chart referred to as the Stacey Matrix:
(www.communityoutcomes.govt.nz)
The premise is this: If a project has a combination of low technical complexity (the technology is well known and proven by the organization) and low social complexity (the solution being pursued has functional and political consensus amongst all stakeholders involved) then it is a candidate for predictive development. Predictive development means waterfall. Define requirements, ship it to some commoditized labor force, get it back, validate it and deploy it.

There are many projects that fit into this bucket; however, less than many people realize. Social complexity in particular, creates change in many cases, and the cost involved with introducing change in predictive/waterfall projects often negates any cost savings gained by a commoditized labor force. I've seen it all too often. Timelines are extended, the business gets frustrated and any pursued cost savings are negated by the cost of extending an onshore management team and/or losing time to market.

On the other hand, if a project is complex from a technical perspective, i.e. utilizing new or emerging technologies; or from a social perspective, i.e. "we'll know it when we see it", or "the solution may change as external influences come into play", it is NOT a good candidate for predictive methodologies/offshore development. The reason being that communication is the key factor in the success of these type of engagements. In these cases, a domestic approach is necessary. And to truly embrace change (vs. challenging change) an Agile method is preferred.

An offshore, predictive development team can be equated to a military force of tanks barreling into a battle. In this case the goals are often set and the opposing forces are known.

An Agile team can be equated to an elite strike-force of Navy Seals or Army Rangers that drop into an unknown territory with less initial direction, less manpower and hopefully, less casualties.

There are times when one approach makes more sense than the other. The only way the tanks are successful is if the goals do not change and they are managed by a remote commander broadcasting the mission directives. The only way the strike-force is successful is if they are in constant, direct contact with one another, and the person dictating the mission is with them on the ground.

There is not one single sourcing/methodology solution to every IT problem. The Stacey Diagram factors must be considered, so the right team and the right methodology is put in place to solve the problem at hand.

What are your experiences?

Saturday, April 17, 2010

How to Increase Your Productivity by 250%

This post was guest written by Zeke Camusio. Zeke runs the Internet marketing agency, TheOutsourcingCompany.com. If you want a lot of work done in a short amount of time, I suggest you contact Zeke.

Five years ago I was working 12-hour days. I started studying productivity principles because I wanted to get more done in less time (who doesn't?)

Now I never work more than 6 hours per day and I get so much more done than before! I want to share with you the tips that took me from where I was five years ago to where I am now.

Do ONLY What's Really Important
Ask yourself, "what is my main goal?" At any given moment there are two or three things that will get you closer to that goal. Those are your priorities. That's what you should work on. Go through your to-do list and eliminate all those items that aren't very important. And no, organizing your music library is not important. You can put all the irrelevant items on a separate list; I call this list "Maybe One Day".

Learn to say no. Most people -myself included- want to please everyone. Don't do it. Say no more often.

Don't Do the Urgent Before the Important
Let's say you're working on a very important proposal that is due on a week and you need to return a DVD today. Finish the proposal and pay a late fee for the DVD. Remember: do what's important first.

Avoid Multitasking
Once you've figured out what your top priority is, work on it and don't let anything interrupt you. I let calls go to voice mail, I asked my co-workers not to send me text messages or instant messages and I disabled email notifications. I start doing something and I don't do anything else until I'm done.

Don't multi-task; "single-task" instead.

Good Enough Is Good Enough
Most things don't need to be perfect. If the letter you just printed doesn't have symmetric margins, don't print it again. Use the one you have and move on. If your website color isn't the right one, who cares? Leave it as it is and focus on bringing in more clients. Good enough is good enough. Get things done fast and move on. You can always correct or improve something if necessary.

Break It Down
Almost every time you find yourself in front of a project you don't know what to do about, it's because you haven't broken down the project into smaller pieces. Let's say you need to find vendors for your new business. That's overwhelming! Let's break it down:

1. Do a Google search for "wholesale chocolate supplier".
2. Find 50 companies and gather their email addresses.
3. Make a list of things I want to ask them.
4. Write a template email.
5. Send the email to the 50 companies.

The 5 tasks above are really easy to do. Remember the old saying, "the best way to eat an elephant is one bite at a time."

Process Tasks in Batches
When you group similar tasks together, you save a lot of time. Make all your phone calls at once, process your emails together and run all your errands at once.

Use Parkinson's Law to Your Benefit
Parkinson's law says that things take as much time as you have available. If your boss asks you for a report by next Friday, you'll have it done by then. If he asks you for the same report by tomorrow, you'll finish it tomorrow. Having limited time to do something is a good thing. It means that we stick to the very crucial and don't worry about irrelevant details. Give yourself deadlines and meet them. For example, I have a limit of one hour per day answering email. That forces me to answer the very important email and I can use the rest of my day to create value for my clients. If I were to answer every email I get, I'd spend 6-8 hours per day just doing that.

Learn From Your Mistakes
When you find yourself wasting time, stop for a second and think about why you're doing it and how you can make sure it doesn't happen again.

Set Realistic Goals
There's no bigger morale killer than never achieving your goals. Set realistic goals and celebrate when you finish each day's to-do lists.

Rest
In order to chop down a lot of trees, you need a sharp axe. Spend some time sharpening your axe. Rest every time you need it, re-charge your energy levels and go back to work.

Friday, April 9, 2010

Should You Buy an iPad?

So I've had my iPad for about a week now and I wanted to share my thoughts for those who are considering the purchase. Couple disclaimers:

1) I am a self-proclaimed Apple geek. I have an iPod/iPhone/MacBook/AppleTV and even a Hackintosh at home for the kids to bang on. I love Apple products. They just work.
2) I bought the iPad with every intention of returning it. I thought the concept was foolish and bought it merely out of curiosity and for the fact that we'll be building apps for it in the near future.

Executive Summary: I'm not returning it.

As I clicked the Apple Store Checkout-Button, I told myself that I would keep the iPad only if it could replace my Netbook. My Netbook is a $300 Asus EeePC. I use it purely for mobile computing. I crack it open on the train, on the couch, in meetings, etc. It is the smartest electronics purchase I have made in the past 10 years. It actually has made me more productive and my back has never felt better. The Netbook is great for pounding out emails, editing a Word document, scheduling appointments, or hooking it up to a projector for a presentation. In contrast, due to the small, low-fidelity screen and weak processor, it sucks for surfing the web, watching movies, reading long articles or playing games. It looks cheap. When I'm working on it I'm hunched over and awkward looking. I imagine I look similar to what Andre the Giant would look like working on a regular size laptop.

The iPad is the polar opposite of the Netbook.

It is a consumer device that is awesome for consuming content. Reading books on it is a pleasure. Better than a paperback. I am actually reading before bed again. Same goes with the newspaper. USA Today is giving away their app for free until July. It's a great way to read the paper; more convenient, intuitive and interactive. ABC has an app that allows me to watch any of it's television shows on demand (do you watch Modern Family? Hilarious). Netflix allows me to stream movies to it. Even attending meetings via GoToMeeting works great. VPNing into work from it and remote desktoping to my computer is a snap. The screen is beautiful. It's looks twice as sharp as the 1024*768 resolution it displays. It's a great way to show photos to friends. The (Flash-less) web looks awesome on it. Playing games on it is really fun (I do not think the same is true for the iPhone). The device is intuitive, fun to use and interacting with it feels natural (unlike a Netbook).

Producing content is another story. I cannot edit a Word document or a Powerpoint presentation on it. Not yet anyway. There are some apps that claim to do it but they all screw up the formatting, which I can't have. Typing on it sucks. Even with the larger keypad it's awkward and prone to fat-fingering. I'm getting better at it but I don't WANT to have to get better at it. Sure I can bluetooth a keyboard to it, but that's silly to me. It's a mobile computing device, I'm not going to carry around a keyboard. That means that reading emails and responding quickly is fine, but typing out longer ones isn't feasible. I could never write this blog on the iPad, it would take forever.

So in conclusion, the iPad has made me less productive. The productivity that I gained from actually getting work done on my Netbook has been replaced by me reading novels in bed, watching TV on the train, reading the paper on the couch (and writing this silly blog.) The only saving grace is that I find it perfectly acceptable to bring the iPad into the bathroom, where that would just seem weird with the Netbook. I can't explain why, but I won't dig into it since it's probably too much information already.

So go ahead, buy one. Make Steve happy/your spouse miserable. Let's get unproductive together. I need some folks to have the "Find any cool apps recently?" conversation with. I've found a slot in my briefcase for it where it seems right at home. I never thought I'd need this device, but I'm quickly realizing that Apple has once again redefined/recreated a market. I'm glad I bought it and returning it has not crossed my mind.

As always, please give me your thoughts below. You know I love talking about this stuff!

-J

Thursday, April 1, 2010

Cloud Computing: Getting a Larger Audience

This blog was guest written by Greg Hubbard. Greg is the Director of Application Development for Q Interactive, a Chicago based digital marketing services company.

In a previous post about Cloud Computing I discussed the barriers within technology that make it difficult to get a Cloud Computing prototype moving. After a small scale technology proof of concept has been done, the next step is to get something exposed to a non technology crowd and into production. How is this accomplished?

  1. Show Value
  2. Minimize Negative Impact
  3. Get It Done Fast!

Show Value

Improving something intangible like user experience or department process unfortuately is not an attention grabber. We want someone to pay attention to what Cloud Computing can accompish and for this purpose numbers, especially ones related to money, are best
even when the numbers are relatively small. The idea is to walk into a meeting and say "We're going to replace four servers with a cloud solution. On the server replacement costs, warranty contract and data center charges we'll save $30,000. Not bad for a small test is it?" While large numbers are flashy, most companies could find uses for a suddenly available 30k like training or hardware replacement.

Minimize Negative Impact
When introducing something new, the goal is to not scare the natives. Abrupt change or changing something that people consider very important is difficult especially if that something is unstable. While an unstable application would seem like a good target, especially if you offer to fix a few problems, people would rather deal with the sometimes working devil they know than the devil in the Cloud that they do not. Also, don't use a system or application that has a large monetary loss if it is unavailable or does not work as you expected. If downtime for a specific application costs hundreds of dollars per minute, find something else. People are very cautious about making changes to systems with expensive downtime and rightly so. Most companies have internal applications that have grown important enough to support and make redundant, but not so important that if it were down for an hour it would cause a problem. That's the application to find and use.

Get it done fast

Everyone likes to improve, re-engineer or re-imagine. However when you open the improvement door to change the proverbial "just one thing", scope creep and its associated delays begin. Changes to existing functionality require extensive development time and significant amounts of quality assurance. A better approach, that takes much less development and QA time is to merely move an existing application. You want someone to say "What do you mean the TPS system is in the cloud, it looks the same!" The other benefit to getting it done fast is that by the time someone wants to weigh in on, control or attach their own agenda to your test, you're done.

While it is always nice to make a big splash when trying new technology, it is better to quickly do something valuable to the company while minimizing risk. This gives you a success on which to build.