Archive for the ‘tech-and-biz’ Category.

Five Web Design Mistakes

I’m not a web designer myself. 
That’s why I’ll tell you which design mistakes
are repeated over and over again.


  

Making a cute web site
 

Don’t make the web site just cute. You main goal should be to influence users with the power of arts. Listen to the business people carefully — they want their users to be persuaded doing exactly what? In a web shop, think about what can motivate users to buy things in your shop, not in the neighbour one. In an ad-based revenue model, ensure the users would come back over and over again. Send an emotional message, if you need. Build trust, if you must. Charm them with elegance. Overwhelm them with power and energy. Disarm them. Inspire them. Make them laugh. Make them cry. Embarrass them. Soothe them. Praise them. Make them curious. Make them feel your respect. Manipulate users to help achieving your business goals.
 
 

Not owning design
 

Late change requests tend to be placed in any free area, without re-thinking and re-evaluating the overall impression of the site. Protect your site from scars of change requests. Insist on a new composition to incorporate the new feature in the optimal way. Educate decision makers about negative consequences not doing so. Fight for your baby, own your design.
 
 

Ignoring real data
 

Dummy screens always look so harmonious. Colors fit together, texts fit to their areas, no part is pulling the picture to a side, the focus is flowing perfectly. The only problem is that your users won’t ever see the dummy screen, but the real app filled with the ugly, chaotic, dirty real content. Ensure to get the real random content examples and create your design with them. Test your design with extremes (absence of content, too much content, bad content quality).
 

Not reusing controls
 

The app looks fine in the minimized mode. But let’s look at it in fullscreen. Well… not bad at all, but let’s just spread the controls a couple of pixels apart, for a little better look… Stop. You’re doubling development efforts here, achieving another 2% improvement of design quality. Better pay attention to other areas.
 
 

Reusing controls
 

Coverflow looks cool. We’re using it to select from products. Fine. But we also have another item lists: site navigation; selecting day, month and year of the birth date on the registration form; choosing credit card in checkout… Reuse the coverflow control? Obviously not. While it would undoubtedly save development efforts (unless you change a couple of pixels from usage to usage, see the point above), it would often ruin the overall web site impact.

Software process summary

I believe, I could show how software processes can be avoided in the company. And it will not only not compromize, but indeed improve its efficiency, manageability, and structure. To achieve it,

  • Create a common vocabulary of artifacts and activities instead of a common process
  • Ensure presence and motivation of competent professionals
  • Learn how and where to trust them

Just to be sure, I’ll provide a couple of examples what is process and what’s not.

Continue reading ‘Software process summary’ »

Software process replaces competent employees…NOT

Previous blog posts have outlined a better alternative to a software process. Software project activities will be improvised according to the concrete situation: the kind of the project, technologies used, people in the workgroup, people on the customer side, and the contract details.

Continue reading ‘Software process replaces competent employees…NOT’ »

Manage software project risks by using a corporate process… NOT

In ISV businesses, the cost of an average man-hour C (including all direct and indirect expenditures) is below the hourly rate charged to the customers P. The ratio M=P/C defines the profit margin used as a buffer to compensate for failed projects, and for investitions into new products and services.

Continue reading ‘Manage software project risks by using a corporate process… NOT’ »

To increase efficiency, follow a software process… NOT

Software processes promise to increase efficiency, so the software can be developed cheaper, quicker, or with a better quality.

For a classical example of how it can be achieved, let’s examine the waterfall process. One of its ideas — to gather as complete and detailed requirements as possible upfront and to freeze them after the customer’s sign off, — appeals immediately to any engineer’s heart.

But why do we like this idea?

Continue reading ‘To increase efficiency, follow a software process… NOT’ »

On Software Process

When I was member of the young pioneer organization, which was the communist boy-scouts pendant, I’ve learned its rule “criticizing, suggest”. Basically it means, it is uncool to criticize without proposing an alternative solution.

So I felt myself obligated to supplement the process critique with some constructive solutions, which in my opinion should be at least considered in any emerging software company thinking about installing or improving their software process.

A software process defines artifacts and activities. Both of them can be either directly a deliverable/service for the customer, or be created/executed purely for internal purposes. By carefully choosing, adapting and shaping the activities and artifacts, and by defining the execution timeline, software processes promise to achieve some benefits for a software development business, in comparison to the absence of any formally described process.

  • Software processes increase efficiency.
  • Software processes enable risk management.
  • Software processes is a safety net for worst-cases and a learning tool.

While promises of software processes sound REALLY interesting (I myself was in fact a passionate believer of Extreme Programming for a long time), can they be achieved in reality?

Part 2 of series on Software Process

Sweet plans

Every time I plan, God laughs.

Plans are problematic. When you plan,

  • not all needed information is available,
  • the available information can be wrong or will change in future,
  • if there are too many influencing factors, some consequences or dependencies can be overlooked and will become apparent only during execution.

So, often, at some point, the plan doesn’t fit to reality any more. Then, some people prefer to change the plan, and others try to change the reality. And because the real reality is an unapproachable lady that isn’t impressed by human plans, a parallel virtual reality will be created, where the plan is fine and its creator is safe.

Those who do the latter aren’t necesserally idiots or freshly graduated MBAs who don’t know better.

Continue reading ‘Sweet plans’ »

MDBG Accellerator for IE8

From time to time, I need to lookup chinese translation in MDBG. And because I’m using IE8 more and more lately, I’ve decided to create an accelerator for that.

After reading Writing IE8 accelerator in 15 minutes, I’ve spent said 15 minutes to create it. All it takes is a very basic knowledge of xml and html. So, here is it, a completely unofficial MDBG accelerator:

Warning: this IE8 accelerator will obviously only work in an IE8+ browser.

After installation, it looks like this:

ie8_screen

Upcoming PDC09 Sessions

Strangely enough, the official web site of upcoming PDC09 doesn’t allow to bookmark interesting sessions on-site, so I’ll gather all interesting stuff in this article hoping that the pages behind the links will feature video recordings of the sessions after the conference.

There are only sessions interesting to me, somewhat sorted accordingly.

Directly related to my job

Interesting stuff that can be helpful

To better understand general roadmaps of Microsoft technologies

Just some random fun

Developer’s Personal Victories

I like the format of “personal victories” when describing milestones of self-improvement in some area. I first stumbled upon it in the post about learning Chinese.

So I want to compile my own list of 15 small personal victories in a life of a software developer.

Continue reading ‘Developer’s Personal Victories’ »