Developing New Process

Uncategorized on February 12th, 2008 No Comments

I just finished development of the new process for software development at Envysion. It’s nothing earth shattering or even new for that matter but it’s a pretty big deal for this start up.

I created a ppt for the new process and have it hosted at slideshare. You can see it below:

Forever

Uncategorized on December 18th, 2007 1 Comment

I haven’t posted in forever. Basically I’ve been lazy and busy. I’ve been helping my company build their new website – www.envysion.com – and create their first blog- www.envysion.com/blog – and trying to build a high functioning agile development team.

It’s been a challenge to say that least.

We fired our off-shore development team because, well they sucked. They were pretty ok for getting us through prototype and into GA but they left us with a butt load of worthless code that no one can decipher and which doesn’t do well what it’s supposed to do.

But I’ve got new folks in now and things are slowly starting to come around. I’m looking forward to the new year – I think it will have some excitement and serious productivity.

As a random aside I just got back from Mexico. I took my girlfriend as part of our Christmas present. We had a phenomenal time. The highlight of the trip was getting to play with four-week old baby tigers at the PV zoo. I’ll get a link up to the picture once I get them stored on line.

That’s all for now. I will resume regular posting soon.

Checkboxes, Radio Buttons, and Drop Downs

Uncategorized on January 5th, 2007 No Comments

Incorrect usage of checkboxes, radio buttons, and drop downs is one of the most common mistakes I come across. They each have their advantages and disadvantages, and their usage should generally be governed by a few simple guidelines.

Checkboxes

Anytime you have 2 options where one selection implies that the other is not selected, a checkbox should be your first choice in order to consolidate and simplify. For instance, radio buttons with “Yes” and “No” as options are generally redundant and a waste of space when it can be replaced by a simple statement accompanied by a checkbox.

The exceptions to this guideline are when you have good reason to explicitly state the options or it is more natural in the context of the page or application to offer explicit “Yes” and “No” choices.

Radio Buttons

Radio buttons are ideal for situations where you have 3-5 options. Any more than 5 options and your decision will most likely depend on the amount of available screen real estate. If you have less than 3 options, a checkbox is probably more appropriate.

Radio buttons are also beneficial when you need to provide additional contextual help for each choice. For instance if you have a choice for a “Gold”, “Silver”, or “Bronze” plan, you might want to provide a couple of sentences about each to help users make informed decisions.

Drop Downs

Drop downs should be a last resort. They can slow people down because you must click on them before you see your options. Then you need to click again to select that option which may or may not have moved if you had to scroll within the drop down.

With radio buttons or checkboxes, your options are always visible and only require one click or press of the space bar. This convenience can quickly add up to save time and reduce keystrokes.

The value in drop downs is saving screen real estate when there are multiple options. I generally classify multiple options as being more than 5, but this is a grey area and can vary depending on the value of your screen real estate.

Summary

There are appropriate uses for each of these input fields, and understanding the benefits and drawbacks of each can help you build better applications and forms. Naturally, with any adjustment in the type of field you use, label adjustments will be necessary and can go a long way in making your forms easier to use. These aren’t definitive rules by any means. They are simply guidelines to help make your decisions regarding input types a little more informed.

How to Consult Around Web 2.0

RSS and Web 2.0 on December 11th, 2006 No Comments

I just gave a presentation last week to a consulting company about Web 2.0 and how they could leverage it to lead new and or add-on to existing sales.

It was fun to talk about a technology I am a bit crazy about and it was nice to be asked to be the “expert” on the subject even though I am in no way shape or form an expert.

At a high level what I told my audience was this:

Web 2.0 is here to stay – for now

Web 2.0 brings a lot of tangible value to the enterprise

Right now it’s a bit nebulous for most in the “C” suite

The current generation of workers will require use of Web 2.0 from their employers

Speed is our friend and our enemy – we need to move quickly to be on the leading edge of the wave

Web 2.0 can lead new sales and be an add-on for existing accounts

Where Web 2.0 for business is headed:

We are moving toward the point where many enterprise applications will be delivered as services over the web – the notion of Software as a Service (SaaS). This translates into more affordable information technology management for businesses going forward.

Businesses, large and small, will have access to the same number and quality of services, much like they do with Web sites today.

Saas cum shared services will create many opportunities, including better agility and the ability to operate a business with fewer IT resources.

We will soon see that service delivery over the Internet will be added to information deliver as the key strategic value of the Web to businesses, as well as extending the Web as a true platform which is the ultimate business promise of Web 2.0

Given this it isn’t difficult to see a gap in Web 2.0 knowledge that can be filled by consutling companies who are smart enough and bold enough to help their clients realize the potential. If nothing else. smart consulting firms can build a practice around just educating businesses on the basics of Web 2.0 – like what the heck is it?!?

More to follow – stay tuned!!

My Latest Client

Project Management on December 4th, 2006 No Comments

I just had my final pre-engagement meeting with a prospective new client – a major player in the telecom infrastructure arena.  I was brought in to do an analysis of the current state of their Project Management to determine why they were experiencing difficulties in several key areas.  Their problem statement to me was, “We can’t seem to consistently and accurately estimate our projects, we aren’t seeing problems around the bend, our PMs are having difficulties predicting cross-project impacts with matrixed resources and management isn’t able to forecast 6 months to a year down the road.”

I can’t tell you how many times I hear these very same complaints from clients and prospects alike.  On one hand this fact is a good thing since it keeps me employed and the root causes are almost always the same so it is familiar territory and I can fairly quickly identify the causes, define a solution and put together a plan to help my clients resolve these issues.

On the other hand, however, the fact that many organizations are experiencing the same project management problems is very frustrating to me.  If one does a search on Barnes and Noble’s website for books on Project Management one will be presented with 5,570 results.  My frustration comes from the fact that despite this wealth of literature on the subject, organizations and the people in them continue to suffer from the same project management malaise that has plagued the industry for the past 20+ years.  Why is this?

There are a number of reasons:

1)    Buying a book doesn’t solve your problems – if it did therapists would have been put out of business a long time ago, global warming would be a thing of the past and George Bush would have been impeached a long time ago.  By and large books talk about problems and pose solutions in the abstract.  It is very difficult, especially with subjects of a technical nature, to apply abstract solutions to specific problems and achieve meaningful results.  This is why consultants are in demand; we provide specific expertise for specific solutions to very specific problems – at least the good ones do.
2)    Even if a book has specific information or advice that applies to the reader’s specific situation the reader has to act on that information and usually not alone.  Troops must be rallied, information disseminated, plans created, measures put in place and then there must be execution.  Typically it is very difficult for one person to accomplish all of this after having read a book.  Again this is why consultants are beneficial – if an organization is spending money on an outside resource there is usually motivation to act on the fruits of that investment.
3)    In almost every instance it is nearly impossible for an insider to see the root causes of an organization’s project management issues.  This is the ‘forest for the trees’ scenario wherein someone in the middle of a forest has a hard time distinguishing one tree from another.  Yet again this is why consultants are so important.  We bring a fresh and objective perspective to the situation and we have, in most cases, no encumbrances which will cloud our vision.
4)    Finally, and this one really bugs me, most of the books that have been written on the subject of project management talk about process and checklists and methodologies.  Don’t misread me these are important topics but they are NOT what ultimately makes a project successful or unsuccessful.  At the end of the day no matter what kind of project you are faced with it is NOT the technology, the process or the tools that make it happen.  It’s the people.  This is where the problems start and stop and this is what the majority of the books on the subject of project management fail to address.

Let’s return now to my prospective client the telecom infrastructure company.  Their problem again is:

•    Projects are either grossly under or over estimated and no historical data is being collected and used for repeatability or future process improvement.
•    When planning future projects PMs have no consistent method for determining potential cross-project impacts.
•    Risks and issues are not being tracked and managed effectively and consistently.
•    PMs are fighting fires instead of proactively managing.

And as a result of all of this the PMs are stressed out, overworked and not enjoying their jobs.

So what’s the solution you ask?

My proposal to them has two parts one technical and one non-technical.  From a technical perspective, because of the size of the organization, the matrixed and distributed nature of the resources and the complexity of the projects, they need an Enterprise Project Management tool.  It just so happens that they already have Microsoft Project Server 2003 and all of its components in house, installed and paid for.  So it was an easy recommendation for them to use this tool.  Of course they need to ensure that it is installed and configured correctly, it needs to be customized for their specific environment and they need role-based training on the tool.  Good thing I’m an MS Project Server expert.

The second part of the proposal, the non-technical part, involves analyzing the way in which the staff does their jobs.  Not just their internal processes but their interactions with other departments and external resources.  Areas for improvement need to be identified and an improvement plan created.  Once that’s done the staff needs to be shown how to implement the plan, monitor results, adjust/correct the course and develop and foster an environment that supports continuous improvement.  Sounds easy but this is the hard part because it involves changing the way people approach their jobs and helping them learn to objectively evaluate themselves and each other without fear of judgment.

If more organizations would bring me or someone like me in to do this kind of work we really could revolutionize Project Management in the US and take back control of our projects.

So What Is Web Evolution?

Website Evolution on December 4th, 2006 No Comments

I get asked a lot for an elevator pitch explaining what I mean when I say “Web Site Evolution”. Though it doesn’t qualify as an elevator pitch this is what I typically tell people….

If you are in business in 2006 you almost undoubtedly have a website. In fact, you probably also have at least one blog and you may even be utilizing RSS to generate feeds so your users can get up-to-the-minute information on your company, your products and/or your services.

In most cases your current website – though it may have been professionally designed – grew organically from a couple of simple pages into what it is today – in many cases “this” is a confusing jumble of many disjointed and incongruent pages. While you may have spent some time thinking about its design early on you probably haven’t had a lot of time to do so since then.

That’s where I come in. My specialty is in Web Site Evolution. This is a process of reevaluating why your website exists, who it exists to serve and how well those users – most often your current and prospective customers – are being served. Once you and I have answered these fundamental questions I can Evolve your website into a unique, highly professional, appealing and usable extension of your brand and business.

This sounds pretty simple doesn’t it? In fact, it isn’t rocket science and, all things being equal, you could probably do it yourself. So why do you need me you ask? Reality is that all things aren’t equal and you are most likely caught up in the “can’t see the forest for the trees” scenario. You’ve been living with your existing site for quite a while now and it is difficult for you to diagnose problems and come up with elegant solutions.

Here is a before and after example of some work I just finished for NewsGator Technologies in Denver, Co. I was asked to head up the redesign/evolution of their marketing pages as well as their online application.

BEFOREAFTER

If you click on the images above you’ll see full sized versions. You can also go to http://www.newsgator.com to see the live site – and you can sign up for a free NewsGator account which I strongly recommend!!

The real power of a third person is that it isn’t someone who is looking at your website through the eyes of the person who designed and built it but through the eyes of your users. Which is a nice segue into the principles of Website Evolution.

Principles of Website Evolution

Website Evolution on December 3rd, 2006 No Comments

Over the past few years I have been asked to Evolve or redesign many websites. In doing this I have distilled some simple principles that drive my process.

Whether it’s a marketing site or a full fledged web application when I am designing for the web I am designing sympathetically with the way people actually use the web, not how I think they should or wish they would.

The bottom line is that very often people use web sites very differently than how we design them. For the most part the average Joe or Jill Sixpack skims pages for clues, instead of reading the text in its entirety. Typically users make snap decisions, instead of evaluating and judging carefully and frequently they don’t even be looking at the complete picture. We have to remember users are driven by their goals, not ours and design accordingly.

I believe responsible designers need special skills to succeed in today’s web environment. Responsible designers must:

* Work to achieve the best possible insight into a site users’ goals and create a design that achieves them.
* Develop a clear understanding of the core purpose of a site, design for that and have the mental discipline to stick to that design.
* Help clients understand the concepts ease of use, simplicity and good design and help them make decisions that facilitate these concepts.
* Relentlessly pursue simplicity – if an element adds complexity but not value, it must be changed or removed entirely.
* Look at designs through naïve eyes – users don’t look at websites the way designers do and thinking they do leads to terrible designs.

Design by Goals

Website Evolution on December 1st, 2006 No Comments

I fervently believe, and history has born this belief out, that understanding the goals of a website is the single most critical factor in the success of any design project. This is a fundamental tenet of my approach to website evolution.

When I am working on a project I first strive to get a clear picture of your true purpose, understand the key goals of your target users and start to visualize a high-value solution that ensures everybody achieves their goals.

Every web site is built in response to many disparate needs

Fundamentally, the web is an information medium. People publish stuff in response to a need for information. Your site may have information that people want, you may have information that you want or need them to have, or you may want to get information for them. Your site may be a way to pass information between different consumers. Or it could be a combination all of these things at the same time.

It is critical to understand that every web site tries to meet multiple needs. The publisher must have a need which drives them to publish (to earn money, to gather information, to promote a brand). The site’s visitors must have a need (to buy a product or service, to succeed at their work, to be entertained, or to get needed information).

Behind all these needs are goals that drive our desires and behavior. It’s our goals that drive us to use web sites, to buy products and use services.

Pursuit of goals drives user behavior

People visit web sites because they want to achieve something, a certain state, usually having got something or having done something.

It’s your goals that influence whether you, as a web user, click on a particular link or take the time to look around a web page.

No-one goes on shopping sites for the fun of using the site’s interface. We do it to find bargains or to buy specific products. Those finds help us to feel a certain way (smart, fashionable, relaxed, excited). The site is simply a means to an end.

In order to have a truly effective site – no matter its purpose – the end user’s goals MUST be taken into account and a design created to meet those goals. If you meet those goals chances are very good that your – the publisher’s – goals will be met as well.

Real World RSS

RSS and Web 2.0 on November 14th, 2006 No Comments

As a consultant I get paid to provide answers and advice to my clients. Unlike some other consultants I strive to make sure that when I give advice it is based on common sense and in language that my clients can understand. To me doing the right thing for my clients means removing the shroud of mystery that other consultants seem to think makes them appear smart and indispensible. I want my clients to be self-sufficient not dependent on me – I think this respect for them breeds greater respect for me and sets me apart from others in the industry.

One bit of advice I’ve been giving clients lately is on the use of a technology called RSS. This is a relatively new technology that is sweeping the internet and causing a lot of buzz. At the same time, there is a definite lack of clear, concise information about exactly what RSS is and why a non-geek would even care. So I have found myself having to explain to my clients what RSS is in terms that they can understand so they can see why it is of benefit to them.

Here is what I’ve been telling them:

RSS is kind of like Publisher’s Clearing House – except without the sweepstakes. You know when you get the big envelope and you open it up and there are all these stamps representing the many publication you can get from Publisher’s Clearing House? Well RSS is kind of like that. It is a way to subscribe to all manner of content – news, sports, politics, stock quotes, weather, lifestyle, technology, etc. – and have it delivered to you. The power in this is that because there are companies out there that search, index and aggregate this content and serve it up – in most cases for free or a small fee – the user doesn’t have to spend his or her time wading through the morass that is the internet. These aggregators do all the work for you and, in most cases, they rate the content based on relevancy using sophisticated algorithms as well as subscriber/reader input.

Relevancy is important. Anyone who has ever done a search on an internet search engine knows that a lot of what is returned has nothing to do with what you’re really looking for. This means you can be fairly certain that if you go to an RSS aggregator’s site and do a search on say “SAP” instead of getting back 87,400,000 results most of which are companies selling SAP software and services like with Google you’ll get back maybe 20 results all of which will have been vetted for relevance to what you really care about – articles about SAP software.

Here’s a real world example. A very good friend of mine runs a company called MindWorks that specializes in helping companies that have purchased SAP make it fit and work in their environment. Until now they haven’t ever done anything with blogs or RSS – they’ve been busy doing what they do and haven’t had time to do the research like a lot of companies. But they have been subscribing to a couple of newsletters that come out every month or every other month. These are newsletters that contain synopses or sometimes just links to other sources of SAP industry news. This is info that is mostly relevant to the consultants at MindWorks but also to some of their customers. Trouble is that since the frequency of these newsletters is small and unreliable often the information contained in them is either irrelevant or obsolete.

I recommended to my friend that he build a blog for MindWorks that would be accessible by all of its employees – keep it internal to start and then open it up to customers once it has matured a bit – and use an RSS aggregator like NewsGator to search for and subscribe to sources of information that would be useful to MindWorks. Once these sources have been identified he can use the “Headlines” feature to create a page the aggregates all of this information into one place. It gets updated each and every time one of the blogs or websites adds or changes its content – often multiple times a day – and his employees are kept up to date with important information that is relevant and timely to their jobs.

I mocked this up for him in about 10 minutes – you can see it under the ForClients link on the Web/UI Design section of this blog – and with just a little bit more effort it could be branded to match the corporate website and even be added to the site so that it could be accessed via a discreet URL or a link.

It is this kind of application that is revolutionizing the way companies get access to the information they need to do their jobs better, make better and more timely strategic decisions and distinguish themselves from their competition to their customers.

Widespread adoption like this will move RSS out of the realm of the geek and into the wider world.

For more information on how your company can benefit from RSS email me at jsweet@sucessfulprojects.net.

New view on Off-shoring

Insourcing on November 1st, 2006 No Comments

Anyone who knows me, has ever talked to me or has read the Insourcing section of my blog knows that I have not been a big fan of off-shoring. I have spoken and written against the practice for years for many reasons but mainly because it has never succeeded in delivering on its promise of better, faster and cheaper software.

So it is with no small sense of irony that I find myself managing the delivery of a strategic software product for a client who has elected to hire an off-shore firm to provide the software development resources for the effort. My client made this decision because they are a start-up without the necessary capital to go out and hire an entire team of American developers. So in order to get their latest version of software developed they have made the strategic decision to incorporate a Chinese development team.

The difference between my client and the majority of companies that have chosen off-shoring as a solution is that my client consciously made the decision to opt for lower cost over speed and quality. The problem with most off-shore projects is that the person who sold the project promised – whether implicitly or explicitly – that the customer could actually get better, faster and cheaper all at the same time. This misstatement of the potential of off-shore projects is one of the leading causes of the many stories we read about outright failures, cost overruns and projects delivered without meeting the specification – sounds a little like the majority of on-shore projects.

Cheaper is easy to accomplish and is achieved via off-shoring because off-shore developers simply make far less than American developers – the average Chinese software developer makes  $13,400 per year, the average Indian developer makes $10,300 while the average American developer makes around $80,000.

The hard truth is that better, faster and cheaper cannot exist in the same space and time regardless of whether you are using off-shoring or not. In the very best of circumstances a project could deliver better and faster simultaneously – though I have seen no evidence that these two can happen in an off-shore model. The only certain way to get better and faster is with dedicated on-site development resources who are very senior, have a great deal of domain experience and are very skilled at Agile delivery. Even with these ingredients delivering better and faster together is very challenging.

The achievement of better and faster requires a high performance, integrated team of developers, business analysts and testers working out of the same location as the customer all using a well honed agile methodology. This obviously doesn’t happen in an off-shore model since developers are half a world and up to 15 hours removed. Further, most off-shore teams have little successful experience with Agile methodologies.

All of that being said, I can tell you that I am having significant success with my off-shore team. We have successfully transitioned from a mentality of rigid adherence to CMMI to a more flexible acceptance of Agile principles. We have gone from a velocity of 4 – velocity is the number of productive hours within an 8 hour day – 3 months ago to a current velocity of 6.

None of this happened overnight and it has required a great deal of management work and iteration – in the true spirit of Agile – on how we run the team. The biggest contributor to the success of the team was that we brought them to American and had them work on site with the customer for a 3 months and when we sent them back we sent a highly experienced American Agile team lead with them to live and work in China for four months. I can assure you that without this last part the project would have failed. There is no replacement for this boots-on-the-ground team coach in the same time zone as the team.

Ultimately we have a blended team with all development and functional testing happening in China while business analysis and architecture occur here in the US. The other key component is that I have shifted my hours so that I overlap with the Chinese team in order to provide management oversight and to represent the customer. This isn’t a whole lot of fun for me and instead of working less I now feel like I work half-again as much but it is working.

The moral of the story is that off-shoring can work in the right situation but it has to involve a conscious decision to choose cheaper over faster and better and it must be well planned, well managed and well executed in order to achieve it.

I will post more later regarding a process you can uses to determine if the project you are running or are planning to undertake can benefit from an off-shore component.