Search Site

I'm a software engineer and project manager enthusiastic about technology. I've had the opportunity to work on a number of interesting projects over the years.  Here are some thoughts, whitepapers and code folks may find interesting.

Newsletter Signup

Saturday
Dec312011

The Case For Collaborative Consulting

Those who have plunged into entrepreneurship know that success can be difficult. Countless books sell the "idea" of business ownership as one of the hallmarks of the American dream.  The reality is that most ideas, if not executed with the right team and resources, won't succeed.

I come from the mindset that success need not be complicated but does require planning. By taking control you have the ability to define your own success. For some the goal is acquiring a zillion customers in the shortest possible time. For others it may be starting an organization to serve a particular need or community. Regardless of your plan it has been proven time and time again that you can't do it alone.

In recent years social media and crowdsourcing have had a profound global impact. Now companies like Google, Wikipedia and Twitter (to name a few) bring value to millions by organizing user generated content. TED superstar Rachel Botsman has also introduced the concept of collaborative consumption. The idea being that we can make the world a better place by sharing physical resources (e.g. think Zipcar). As a small business owner I've often wondered how independent workers (freelancers) could improve their customer value by pooling their talents and resources. This idea of collaborative consulting isn't complicated, and if executed correctly could help the freelancer reap tremendous benefits.

Time & Resources

The biggest challenge in self employment is time. As an employee you become accustom to being paid for 40 hours per week along with vacation time and sick leave. As as freelancer these formalities go out the window. All your work is organized into two two categories - billable and non-billable. Translate this to an 8 hour day and you may spend 6 hours doing non-billable work (eg. accounting, marketing, sales, taxes) leaving the remaining few hours for billable projects. 

The other challenge is expertise. You may be gifted in website creation and marketing campaigns, but may not have a clue about accounting or strategic planning. Furthermore, you may lack critical skills needed in your billable work. So, for example, when your client asks about hiring a graphic designer you wind up scrambling to contact colleagues and posting something to Craigslist. 

Making The Connection

Challenges in time and resource management have been around as long as people have been doing independent work and many of us have come up with workable solutions. The most obvious strategy is to increase one's connections through networking. To that end your chamber of commerce, conventions, business presentations and special membership events can help. Important connections can also be established through social media sites like LinkedIn, Google Groups, Twitter, Facebook and others. Even connections made through coworking spaces and coffee shops can be valuable.

The Model

As we work to establish these important connections how can they be used to increase customer value? The recent phenomenon of coworking is intriguing since you may have the chance to literally bump into someone with a complimentary skill set. However, most freelancer-to-freelancer relationships are "arms length" which, in my opinion, reduces value and business profitability. The common example is the referral. While finding clients through referrals is great, wouldn't it be more efficient for customers to find everything they need through a single network? Folks looking for a solution wouldn't need to find an independent developer, marketing expert, copywriter and graphic designer. The customer essentially gets introduced into the network based on a single need, and the freelance team reviews the project to determine how their skill set can increase customer value.

Freelancers that participate in this "collaborative consulting" model would still continue to run their own businesses (covering their own expenses), but would work together on larger projects or when asked by other members. Groups would be limited to 5-8 people to streamline decision-making and all members would have complimentary skill sets. The goal? Establish self-organized teams that can crank out high-quality, competitive solutions.  

Unlike a typical arms length relationship, members would also donate part of their time (and possibly resources) to benefit the group. A basic example would be the creation of a website or blog where members contribute one article per week. As the group grows in confidence this could extend to joint efforts in advertising, workshops, strategic planning or even supporting personnel. When considering the many benefits of this approach, I envision the productivity of a hackathon coupled with some organizational structure.

Conclusion

It's widely known that mega companies like IBM make huge investments in consulting in order to provide end-to-end solutions. Other groups like Ubermind are now rumored to turn away business because they've found the sweet spot in delivering customer value. By pooling resources through a collaborative consulting approach, independent professionals could also make substantial strides in increasing customer value, competitiveness and their bottom lines.

 

Saturday
Nov192011

Content, Control & Community

Success in software development requires the right combination of planning, resources and creativity. In my own work the daily goal is to create easy-to-use products that delight consumers. However, it's often the intuitive products that require the most planning and technology. 

While numerous books provide theories on product development, I wanted to create my own formula that would be relative and practical. By looking at some well known products I've come up with a methodology that seems to work. I call it the 3C rule - Content, Control and Community.

Your Content Strategy

The first step in the development process is to create a content strategy. Where and how you obtain content is up to you. Here are some common options.

As the movement in social media shows, great success can be obtained by building products that manage user-generated content (e.g. Facebook, Twitter, Salesforce.com). The biggest advantage with this strategy is licensing - or lack thereof. Once you check the little terms of use checkbox, any content generated by users is essentially owned by you. As a product owner looking to cut costs, this strategy can provide tremendous long term benefits. If you can convince your friends (and their friends) to use your product, each new piece of data increases your product's value.

The Licensing Model

An alternate strategy is to repurpose content from a third party. Common examples of this model include cash cows like iTunes and upcoming stars like Spotify and Kindle Fire. The advantage can be seen in value acceleration. Why wait 4+ years for everyone to start using your service (e.g. Twitter) when you could take the market by storm in a few weeks (e.g. Spotify)? However, let's not forget licensing. Being subjected to legal negotiations for third-party content could delay your product launch for years. Other restrictions on content could also affect your product's profitability, performance and functionality.

Enter The TouchPad

Can you think of products that have failed due to poor content? HP TouchPad. With its own limited operating system, HP cornered itself into a defensive position by trying to implement a "me too" product without focusing on why people would use it. The result? Developers were unable (or unwilling) to create new content, and HP lacked the insight to partner with more established firms to obtain content. Without content, sales never took off and the HP TouchPad was discontinued after just 7 weeks in the US.

Your Control Strategy

The next step in the 3C test is product control. There are many aspects to control like scalability, licensing (as previously mentioned) and external dependencies. Let's do a quick review.

When building a software application engineers typically ask how the solution will scale. That is, how will the system perform when used by 100 or 100,000 users? In the early (and recent) days of Twitter, many of its users saw the "fail whale" web page error when trying to access the site. Back in 2007 this was a daily occurrence. Being able to control how your product will respond to increased load should be part of any manager's strategy, as this will make or break your product. Just think about the most visited website in the world (Google) and ask why people love it.

Content Ownership

While we've already discussed ideas around content strategies, another important aspect in product development is content ownership (control). In the age of mashups and API's, many software solutions can be built through repurposed content from other providers. While employing this strategy will get your product to market quickly, the tradeoff is a significant lost of control. In most cases a content provider can change its data model without notice, unleashing havoc on your product. The advice? Choose your API partners wisely.

With the introduction of mobile apps, product control is also traded when it comes to management and distribution. For example, while most companies are now scrambling to establish a presence in the iTunes app store, others have chosen to deliver mobile apps as a web-based or hybrid solution. The difference? Control. Mobile web applications circumvent Apple's app store control and approval processes. This has the potential to reduce product delivery times, permit rapid A/B testing and leverage in-house development expertise.  

Your Communications Strategy

The last step in the 3C test is community. Your product won't be successful unless you figure out how to get people talking about it! However, this isn't just marketing. While getting word out about your product is important, creating channels to permit communication between others is key.

 An example of a successful product community lies with Twitter. While the website itself is basic (when compared with other social media websites) most of the company's success comes from engaging with the developer community through its easy-to-use tools and API. While I don't have statistics to prove it, I assume most of us post our tweets through text messages and third party mobile applications.

Communication Channels

If you are building a software product, it's common knowledge you'll establish product communications channels through Twitter, Facebook and YouTube, mainly because they support the mentioned communications channels. However, in addition to social media, embedding support and feedback services directly in your product should also be considered. The post-PC era is here due to the immediacy mobile apps provide. This sense of immediacy should also extend to our communication strategies. Products (not just companies) should allow direct communications with their users.

 

Saturday
Jul232011

Why I own an Android phone

Colleagues are often surprised when they realize I own an Android phone.  With my career now centered around iOS development (e.g. iPhone and iPad) people just assume that I own an iPhone. Granted, I do own a number of iDevices (which would be too embarrassing to list) but the iconic mobile device is not one of them.

Originally, my decision to acquire the Google phone had more to do with my phone carrier than personal choice since the iPhone had yet to come to Verizon.  However that was months ago and my attitude about the phone has changed.  Here's why I've decided to keep the device.

A Year In Review

A lot has happened in the past year in the tech industry.  The iPhone has come to Verzion, Spotify has come to the United States, Apple surpassed Microsoft as the largest computer company and Google+ has been introduced to the mass market.  In addition to new technologies, new business models such as movie streaming, ebooks, group discounts websites (e.g. Groupon) and collaborative consumption have ignited new industries while leaving older, more traditional models in the dust. 

While tracking these changes I've noticed some interesting trends. Folks nowadays would rather use the cloud for information storage than a CD or harddrive. When it comes to data management, applications and services that can help users decide are taking the lead (e.g. Google, Bing, Pandora). And, of course, more and more people are loving their mobile devices.

Different Goals

Apple remains the darling of the tech industry. People love the products, the commercials, the stores and the commander-in-chief.  'Passionate' doesn't begin to describe how folks feel about their nifty devices and the company. When it comes to producing apps, the tools and language have made big strides in making mobile development more streamlined and accessible.  While companies such as Microsoft continue to partner with hardware companies (so that it can sell its software), Apple controls the entire experience - software, hardware and everything in between. 

From the beginning, Google's business model has been different. Their revenue is tied to advertising. Through its ecosystem of free (and very useful) online services they've created a worldwide brand and millions of adoring fans. Now with Android OS in the mainstream, Google has positioned itself to mimic the Microsoft business model of partnering with hardware companies to promote software. Since more mobile devices now run Android than iOS this strategy seems to be working.

The crowing jewel in this model is Google+.  With more Americans now owning a Facebook account than a passport its pretty clear we spend a lot of time online uploading photos, tagging friends and posting our status. With the introduction of Google's own social platform, the company can now associate any number of services to create experiences people now anticipate.  Here are the few that stand out.

Google+ Instant Upload Photo Synchronization

While I don't have the statistics on hand I am confident most of us use our phones for taking pictures.  I am one of them.  Along with photo taking comes the annoying problem getting the photos off your device.  While a Facebook app for Android exists I've never really liked it.  Uploading photos is usually a hassle and its usually a hit or miss experience.  

With the Google+ app for Android, users have a feature called Instant Upload that will automatically upload, index and organize any photo taken.  So if you're at the big event you can still take your pics and you're done.  Once you get home the pictures you took are waiting in your Google+ account, available to share or download - awesome.

Google Apps Content Synchronization

Like many small business owners, I have dumped the bulk and inconvenience of Microsoft Outlook for the web-powered email and scheduling services offered by Google.  One of the obvious benefits is being able to access your email, calendar and contacts from anywhere.

Now with much of that communication being managed on the go, being able to sync content from your mobile device with the web is what people expect.  Android does this handsomely by keeping your email, calendar, contacts and other content perfectly organized.  Since Android OS provides complete content synchronization with Google Apps, the smallest details can be viewed or initialized by your phone.  This includes everything from supporting colored email inbox labels to saving contact information generated from your phone directly to Gmail - awesome, awesome.

More Reasons

Beyond OS features, the other reasons are more subjective.  My Google phone is the Samsung Galaxy S - voted one of top 10 gadgets of 2010 by Time Magazine.  One thing that has come as a surprise is its weight.  When compared with the iPhone 4 it is noticeably lighter - weighing in at an amazing 119 grams versus 137 grams with the iPhone 4. 

Lastly one of the best reasons is a matter of perspective.  Being immersed in the world of Apple is great but even they have borrowed concepts from Android.  As many of us know, maintaining a career in technology involves constant learning and being aware of subtle changes in the marketplace. Using Google products improves my skills in iPhone development by providing a different perspective on implementation, features and design.  So there you have it - my reasons for owning an Android phone. 

 

Sunday
Dec122010

Choosing the Work you Love

Regardless of your career level having the skill for finding your next gig is essential. For those starting out the challenge lies in convincing employers to take a chance.  As your career evolves you'll find that it takes less convincing to get what you want.  Hopefully you'll get to a point where employers call you with great job offers.  If so, fantastic! You're now in a unique position to choose the work you love.    

Blazing Your Own Path

When I first started in technology I worked in a one room office as a UNIX administrator for an Internet Service Provider.  It was a terrible job (and I knew it) but it did provide me with the necessary skills to move to the next level. Back then my options were limited. To get the job I finally convinced the employer that I would work for free.  Yep, if all else fails the enthusiasm angle works every time!

As you progress don't be afraid to try different things.  As a technology professional you are fortunate to be in a (nearly) recession-proof industry that is constantly evolving. Instead of worrying about skills becoming obsolete, embrace the change as an opportunity for doing something new.  The November 2010 edition of Money Magazine rated the job of Software Architect as the best all around position in the United States based on job flexibility, stress level, salary and overall satisfaction.  In my own work as a software architect I can tell you the position blends various competencies that, when combined, would be difficult to outsource.  These include product management, project management, software development and a good amount of creativity.

My Good Job Formula

Regardless of your industry finding your dream job can be a hit-and-miss process that can take years (or even decades) to get right. When I get depressed about work I often read blog posts by Penelope Trunk or Guy Kawasaki to lift my spirits. I consider these bloggers to be the thought-leaders in their respective fields of work-life balance and entrepreneurship.  Blended with my own experience I thought I would jot down my own ideas for choosing the right opportunities. 

Reasonable Commute

As you build you career keep in mind that your goal is to do something enjoyable that blends with the rest of your life.  For me that means being able to commute to a job in 30 minutes or less (we all have different thresholds but this is mine).  This translates to 1 hour per day or 5 hours per week.  It doesn't mean you can't take a job that falls outside the threshold, but be prepared to ask yourself the hard questions about your work / life balance (e.g. getting groceries, going to the gym, seeing friends, spending time with family).  

I once had a great job that was a 70 minute commute each way.  The first few months were fine but eventually road rage set in and it affected my health and closest relationships.  Take time to respect yourself and find a position that works for you. 

Meaningful Work

In Guy Kawasaki's book The Art of the Start he warns budding entrepreneurs building businesses that they should focus on creating something that brings value and meaning.  Whether you're focused on revolutionizing the industry or are just working as an employee this point can really help to shape your career.

Most products we use improve our lifestyle and make us feel good. As an employee choose work that means something to you. For me this means finding innovative ways to blend technology and education. Everyone likes working with folks that are fired up about their job. They are excited, enthusiastic and passionate. The more meaningful your work the less it will seem like "work" which will reap all types of benefits.  

Manageable Work

If you've found a good job that has meaningful work the next category I consider is manageability.  This is a tricky area to measure but it still carries weight. You could be in the coolest job but if you don't have the time or resources to do the job properly it will quickly turn into an undesirable situation. Unfortunately this is one of the realities of being an employee - you work towards some type of unreasonable deadline with limited resources and budget.  

As project managers we are trained that all sides of the management triangle (time, scope, resources) have equal importance.  When choosing your next job ask the employer how they manage weekly work assignments and team growth. Asking about team growth is actually a trick question because what you're asking is "do you have a process that examines team capacity and performance?". You really get to understand the maturity of a team by asking this specific question.

I'll go on record by saying the best way to assess team performance is through the application of the Agile Methodology. However, be wary of companies that are "looking to implement Agile" or use waterfall methodology.  The waterfall method has been proven to be an obsolete and inefficient model that is prone to work becoming unmanageable. Also, if a company is looking to implement Agile be sure this is supported at the highest levels in the organization. If you're the low person on the totem-pole (like many of us) you'll have little chance of convincing management to change how it conducts business.

Nice People

This one goes without saying.  I've worked in a few jobs where the work was less than desirable but the personalities of my coworkers were fantastic.  Working with nice people makes a HUGE difference on the job and can make the most ridiculous situations bearable and in some cases fun.  If you're thinking about jumping ship to work on a super-cool project take some time to reconsider your current situation.  You've worked hard to carve out the relationships you've established.  See if you can get management to overhaul your situation so that you get the work you want.  If you can, chances are you may already have your dream job.     

Sunday
Oct172010

Getting To Innovation

Ever wonder why some companies continue to innovate while others rely on their "one-hit-wonders" to drive sales and product growth?  The question has become increasingly important as many now see integrated mobile devices driving the next wave of computing. The introduction of such technologies has put many established products into question and threatens to disrupt long accepted methods of communication, information exchange and learning.

The picture on the right shows an illustrated iPod Touch with its multi-touch display. For many years Apple has been regarded as the most admired company in the United States.  Why? Mostly for their ability to consistently bring innovation to the marketplace.

Regardless of your industry getting your company to innovation can be a challenging process. In a famous New York Times article entitled Microsoft's Creative Destruction the author clearly outlines how America's most famous technology company has had few innovative successes in the past decade due to political infighting and lack of vision.  Remember, it was Microsoft that first brought us the Tablet and Pocket PC in the early 2000's.  Years later both projects were abandoned.

Why is innovation so challenging?  Here are some common situations you may recognize. 

Management / Politics

While office politics exist in every workplace be wary of managers that focus on "business-as-usual" and don't challenge accepted ways of doing business.  If your manager talks about improving the end result but is unwilling to support "breakthrough thinking" (my own term for reengineering how something works) this is a sure sign that innovation can't happen.  If you find yourself in this situation be sure to discuss your ideas with other coworkers, build a consensus, and bypass your manager if possible.

Zero Budget

For most companies innovation is synonymous with "experimental". The idea being that innovation isn't real work because it can't be tied to any one initiative.  As a result companies put the least amount of time and resources into this space.  Companies that are innovative know that continuous process improvement is an essential part of any ongoing effort. 

Poor Foundation

It's hard to focus on innovation if your ability to produce key products is weak or unreliable.  Building a solid foundation for creating your product should be the number one priority of your organization.  You can't really innovate if your group can't produce what it needs.  For your company this may include acquiring new equipment or changing key aspects of your business process.  You'll know you've reached your goal if you can predict work output based on key input variables.  Think Henry Ford or Dell Computer. 

Lack of Resources

This reason is also tied to zero budget but deserves its own recognition.  If your team isn't correctly staffed attempting to innovate will be a near impossibility.  Be sure your group has the infrastructure to consistently ship new software while fixing bugs in previously released products.  Sounds straightforward but this is one of the most difficult things to get right in the development process.  If your group is running thin on resources, innovation will surely be dropped as a priority.  To fix this take a look at the work capacity of your team (e.g. how much work they can reasonably manage).  More than likely your group is trying to do too much with too little. Adjust the intake of work so that innovation can occur under any circumstance.  Also, adopt an Agile Methodology to get an accurate (and consistent) forecast of team capacity. It's not just a buzzword - do your team a favor and explore why most successful organizations use this business process model to increase productivity.