tag:blogger.com,1999:blog-74696228084636087452024-02-20T17:59:46.753-08:00The Ostrich ProjectBecause software testing without using your brain is as good of an idea as sticking your head in the sand to hideTrevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.comBlogger55125tag:blogger.com,1999:blog-7469622808463608745.post-3111109271486168932014-07-08T12:08:00.001-07:002014-07-08T12:08:36.936-07:00I Moved.Hey everybody, I moved! You can now find my blog at <a href="http://theostrichproject.com/">http://theostrichproject.com</a>. Please update your bookmarks and tell your friends. See you there!Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-62346003169818298572014-06-06T15:51:00.000-07:002014-06-06T15:55:44.386-07:00Experience Continuity Design®For nearly two years, I've been working at an awesome little shop that builds nearly everything on WordPress. And for over two years, I've had some strong opinions about web design. Do you see all of the irony here? My blog is on Blogger and I have no credentials whatsoever for web design. That doesn't keep me from opening my mouth though. Ha! Anyway, this seems like the perfect opportunity to put big mouth to the test.<br />
<br />
For over a year, I've been contemplating porting my blog to WordPress because it just makes sense. I work with WordPress every single day. I like WordPress. It seems like the right thing to do. And of course, I don't want just a regular old boring WordPress theme that looks like a million other blogs out there so I started coming up with my own design.<br />
<br />
I came up with something that I call, <b>Experience Continuity Design®</b>. I'd like to think that this is nothing new but I wouldn't be surprised if no one has ever thought about web design in this way.<br />
<br />
So the old school method of web design seems is what I call "The Least Common Denominator" method. Basically, the lowest resolution screen on which someone will view a website on is 1024 pixels wide. So to ensure that everyone can see your website, make a template that 960 pixels wide and just don't do anything wider than that. This really, really, really sucks on full HD widescreen monitors.<br />
<br />
With the advent of the smartphone, that method has evolved, but only ever so slightly. With responsive design, you focus on what's most important, display that at the top of your narrowest resolution (~320 pixels) and then let everything flow out as you get larger. It seems like things still max out at a width of about 1200 pixels and really isn't all that different than it was, just slightly less wasteful.<br />
<br />
The problem is that design hasn't adapted to the fact that users, in a "desktop" environment (so not on a phone or perhaps a tablet) almost universally have wide screen monitors. That's why there's always wasted space on the edges of most websites. Figuring out how to use that extra space necessitated a different approach.<br />
<br />
Instead of finding the least common denominator in screen size, I latched onto the fact that desktop users' view port is essentially the same rectangle. Some are a little wider than others but basically everyone views web content through a rectangular frame. With that in mind, I mocked up my design so that all users would see the same content and layout regardless of the size of their rectangle, thus creating a <i>continuity of experience</i>. So whether you're on a 1280x800 Macbook Pro or have a WQHD monster, you will have the exact same experience.<br />
<br />
Full screen @ 1920 pixels wide<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzQXRwWLFtjujiuYOgtgS9KYShWOodXuvbySJ7K6Wfg0p-YpOw9aS377FfiVn9DqGSw9WnHgWZdedbveQL6tXOJRWWDxOmPOq4I0dYKEveXfFwPMdb3z0zlzf9unpro5DMA_eVbpnHXvT2/s1600/1920.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzQXRwWLFtjujiuYOgtgS9KYShWOodXuvbySJ7K6Wfg0p-YpOw9aS377FfiVn9DqGSw9WnHgWZdedbveQL6tXOJRWWDxOmPOq4I0dYKEveXfFwPMdb3z0zlzf9unpro5DMA_eVbpnHXvT2/s1600/1920.png" height="180" width="320" /></a></div>
<br />
1366<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgav74vJpmb6JowGg8sN-rELeXXUwJJZ8GCzLnErDFWihNbAPu9-h43mYfwly-r4PWBO7XIFIXroXIvApDU61I4LykKw6m_Bo97qxGiogoeGUGLOdRNMASq3krtHNY37njGmMVjdOHw8lSM/s1600/1366.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgav74vJpmb6JowGg8sN-rELeXXUwJJZ8GCzLnErDFWihNbAPu9-h43mYfwly-r4PWBO7XIFIXroXIvApDU61I4LykKw6m_Bo97qxGiogoeGUGLOdRNMASq3krtHNY37njGmMVjdOHw8lSM/s1600/1366.png" height="179" width="320" /></a></div>
<br />
And then at 1024 where I felt it was time to respond to a 4:3 layout.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnxXWwIW6BJ-cIhJr0y3tDza4fQDFbEeDgNE93SkYlIvrxaFy_Dq-xVAoCLUow7yKkNSz3NDFpgXrN3C11ckjFVOZWUNq2S843FmWm3G94f6Nx6PL6ZI02IPs5642XmKmWt_cIMDJ6WYD6/s1600/1024.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnxXWwIW6BJ-cIhJr0y3tDza4fQDFbEeDgNE93SkYlIvrxaFy_Dq-xVAoCLUow7yKkNSz3NDFpgXrN3C11ckjFVOZWUNq2S843FmWm3G94f6Nx6PL6ZI02IPs5642XmKmWt_cIMDJ6WYD6/s1600/1024.png" height="262" width="320" /></a></div>
<br />
<br />
<br />
All of this was accomplished using some magical CSS by incorporating lots of percentages, vw's, and vh's. A year ago when I started this mockup, which has collected dust since then, browsers weren't all that happy with the vw and the vh but I think they might just be ready. And I'm hoping that by me actually publishing this, I will be motivated to make something happen. Of course, I don't have the PHP skills to execute but that's just a minor detail, right?<br />
<br />
Does this not make amazing sense? Let me know what you think, please, in the comments.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-26666656853588708532014-05-01T12:55:00.003-07:002014-05-01T12:55:53.218-07:00The Testing BurnThis last Sunday afternoon, I went to spend a few hours with some friends at the beach. Interestingly in Long Beach (a city with "beach" in the name), going to the beach is entirely a land activity because the water is so polluted but that's beside the point. Anyway, it was a beautiful, sunny day and I knew I needed to protect myself from the deadly rays of the sun.<br />
<br />
I applied sunblock.<br />
<br />
I put it on my face. I put it on the edges of my ears. I put it on my neck. I put it on my hands and arms. I put it on the tops of my feet.<br />
<br />
Fast forward a couple of hours... I came home with a sunburn.<br />
<br />
But how and where, you wonder.<br />
<br />
When I was applying my sunblock, I was sitting on the couch in my living room, watching TV. My experience from times when I've gone out without sunblock told me to get the edges of my ears and the tops of my feet and of course my face, neck, and arms. So I have a burn on my forehead and the insides of my knees.<br />
<br />
Evidently, when I was applying the protectant to my face, I thought I went all the way up to my hairline, but it must have been my idealized hairline and not my actual hairline because there is a very distinct demarcation between healthy and burnt skin. If I had been in front of a mirror, I likely would not have made this mistake. And as for my knees, that was poor planning. I imagined myself as being up and about rather than sitting.<br />
<br />
I actually have a point with this.<br />
<br />
When we testers are doing our job, we like to think that we're covering everything, or at least all of the essential elements. But how many times doesn't a product (or in my case a website) launch and you get burned? Glaring red spots that seem obvious in hindsight. And of course they hurt and peel and are an embarrassment until they heal.<br />
<br />
Testing is something that we do without being able see the entire picture. There's no magical tool (mirror) that we can look into and see where we haven't applied our skills. Testing coverage is mostly verified by feeling. We can draw on our previous experiences. We can understand the landscape by looking at other similar projects. We can be well versed on the documentation relating to the project. But no matter what, there's always going to be some spot that you can't see.<br />
<br />
And sometimes there are spots that you didn't plan for. You plan for shorts day at the beach and then when you get there, you're handed a Speedo and told to change. We take calculated risks because of limited time and money... and then the unexpected happens.<br />
<br />
Hopefully you don't get burnt but when you do (and you will), hopefully you learn from it. I know I'll definitely be more careful about applying sunblock to my face down the road.<br />
<br />
NOTE: There are no pictures of the burn described in this post. Don't ask.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-13916177651929641232014-05-01T12:22:00.003-07:002014-05-01T12:22:57.963-07:00The Long SilenceSo it has been almost a year since I posted to my blog. I've missed writing but I haven't felt like I've had anything to write about. In the past, most of my posts have been inspired by the mistakes and bad attitudes I've observed at the companies I've worked at in the past. And while, I'm not saying my current employer is perfect, I have been genuinely content.<br />
<br />
The last year has been one of great personal change. For the first time ever, I was fired from an unrelated contracting job. I got caught up in an emotional situation and traded in my beloved Eric (2006 Accord V6 6MT Sedan) for a car that I really didn't like. I got out of a severely dysfunctional relationship. I moved to a new city and I've started fixing all of the broken pieces of my life. Looking back on this makes me realize that maybe I have things to say that aren't just responses to what's wrong. I won't know if that's true until I actually write it but it's time for a new motivation for writing about testing and I think I've found it.<br />
<br />
Yay testing!Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com2tag:blogger.com,1999:blog-7469622808463608745.post-86574432157559015442013-05-24T08:30:00.000-07:002013-06-01T15:58:42.978-07:007 Deadly Sins of Technology<h3>
1. Turning off without shutting down</h3>
Years ago it was actually possible to damage your hard drive by simply turning off your computer rather than shutting it down. Technological advancements have made that risk negligible. However, turning your machine off can still cause data issues. If you're in the middle of a critical operation, such as a software update, you can cause big problems by cutting the power. Think of it like performing open heart surgery and then turning off the heart bypass machine in the middle.<br />
<br />
<h3>
2. Opening emails/attachments/links from an unknown source</h3>
When you do this, it's like licking the handrail descending the steps into a subway. If you get sick, it's your own fault.<br />
<br />
It's generally not entirely possible to completely ignore emails from people you don't know since email is such a ubiquitous form of communication. A couple of rudimentary ways to weed out the illegitimate emails: Does the sender address look real? Is the sender name properly formatted? Is the subject about sex, trying to sell you something/asking for money, or promising a prize?<br />
<br />
If you open an email, do not open attachments unless you know the sender. Do not follow links unless you know the sender. Even if you know the sender be wary if the content raises any flags such as unusually bad grammar or advertisements, solicitations, etc. Before following links, make sure they point reputable domains.<br />
<br />
<h3>
3. Not saving often or creating regular backups</h3>
The universe conspires against you when you're working on something vitally important and under a tight deadline. It's not just in college. Backing up data has become so much easier in recent years. Many routers now have simple to use network storage options for USB hard drives. Dropbox, Amazon Cloud Drive, and Google Drive have very simple solutions for storing your data in the cloud. They work automatically once configured and you can access your stuff from anywhere. I recently started using <a href="http://aerofs.com/" target="_blank">AeroFS</a> which allows you to create your own private cloud on your own hardware. It's very simple to set up and use. While it lacks the web file browsers of the aforementioned cloud drives, there is no monthly service fee (for up to three users) and I'm only limited by the size of my hard drives.<br />
<br />
<h3>
4. Using insecure passwords</h3>
Passwords don't have to be hard to remember in order to be hard to crack. Several years ago, Thomas Baekdal wrote a <a href="http://www.baekdal.com/insights/password-security-usability" target="_blank">great post</a> about this, which can be summarized as put 3+ random words together. That's it! "Windows ostrich Mountain Dew" would never ever be hacked but is easy for me to remember: my OS of choice, my blog, and my fuel. Of course a lot of sites that require a password are lame and would say that's not secure, even though it is. So come up with something shorter and make sure to use a capital and a number. "p1anoplayYes"<br />
<br />
<b>UPDATE:</b> What makes a password secure just got more complex. This <a href="http://arstechnica.com/security/2013/05/how-crackers-make-minced-meat-out-of-your-passwords/" target="_blank">post</a> at Ars Technica explains how hackers go about figuring out passwords. Page 3 of the article is particularly revealing.<br />
<br />
<h3>
5. Not installing updates as they become available</h3>
Installing updates can be really annoying, especially Flash. It seems like they always pop up at the least convenient time, you never know how long they'll take, and they often require a reboot. So we don't install them. Updates keep your system and applications working smoothly and, more importantly, securely. Failing to install updates is like having your front door smashed in and you just don't have it repaired. Sure you know everyone in your neighborhood by first name but that doesn't mean you're safe. Just do it though. Maybe not the minute the notification pops up, but within a couple of days. If you do it at the end of the day, it won't inconvenience you.<br />
<br />
<h3>
6. Not keeping up with changing technology</h3>
I'm talking to YOU, Mr. Still-Running-Windows-XP (or old version of OS X). For one, you're opening yourself up to security vulnerabilities that Windows 7 and 8 (or OS X "moon cat") protect against. The longer you wait to adopt newer technology, the harder it will be for you to adjust. You'll have a better user experience, guaranteed.<br />
<br />
<h3>
7. Being an early adopter</h3>
Wait, didn't I just say to keep up with new technology? Yes I did. What I'm saying though is that it's okay to wait for the technology to become mainstream first. Jumping in early can cause at least three different issues.<br />
<ol>
<li>Remember HD-DVD? Some technology fizzles out before it goes anywhere. </li>
<li>Sometimes the technology isn't quite ready for big time when it's first released. Windows 8, for example, took the OS in a completely new direction. The visual design is gorgeous (definitely 10 years ahead of the ugly, out-dated OS X), but even I think the the user experience is disjointed. Windows 8.1 is hopefully going to make that a lot better. </li>
<li>New technology usually costs more than established tech. Sometimes it's fun to be on the cutting edge, and there's nothing wrong with paying a premium to have the latest and greatest, just don't be ignorant of that fact that that's happening. Sometimes waiting can save you big bucks.</li>
</ol>
Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com2tag:blogger.com,1999:blog-7469622808463608745.post-77698453619283198502013-05-22T11:37:00.000-07:002013-05-22T11:37:24.593-07:00A Common Vocabulary<div class="separator" style="clear: both; text-align: center;">
</div>
A while back I asked if ignorance and close-mindedness meant the same thing. Admittedly, I asked this question to prove [to myself] that I was right and someone else was wrong. With the passage of time, that motive has all but vanished leaving behind a stellar example of a necessary component of communication: a common vocabulary. When this component is missing, communication can't happen. It's like taking your hair dryer to Europe and plugging it in with your converter set incorrectly. The appliance tries to run for a few moments and then the motor burns out because it's being supplied with the wrong voltage.<br />
<br />
This all started on Facebook when an acquaintance of mine posted the following:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJUywttx9krwyYSzXGRiVVjztKoQKzxhG5vX8RUQAoa3zwwisEj8S3pcxENh1AM8D4Rh9mNZa1WOjqKIWajV5AuUi6xP7MjJjK66nHUufqCKXh8ZBp_9Ch9yHfbgIn7219AdEHShdFcxJ6/s1600/Ignorance_is.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="86" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJUywttx9krwyYSzXGRiVVjztKoQKzxhG5vX8RUQAoa3zwwisEj8S3pcxENh1AM8D4Rh9mNZa1WOjqKIWajV5AuUi6xP7MjJjK66nHUufqCKXh8ZBp_9Ch9yHfbgIn7219AdEHShdFcxJ6/s400/Ignorance_is.png" width="400" /></a></div>
<br />It struck me as odd that he should be so perturbed by ignorance. I have a very distinct memory going back to the start of my sixth grade school year. My teacher that year was quite the literary scholar. A few days before the start of school, the teacher held an informational meeting for all of the students and their parents. It was a means for everyone to get to know each other a little better and go through the daily schedule and other things about the impending term. I have no memory about the context anymore but somehow he was explaining ignorance. He said that there was nothing wrong with ignorance; it was simply not being knowledgeable about something. For some reason this has stuck with me all these years.<br />
<br />
I asked my acquaintance if he really meant close-mindedness rather than ignorance and explained how I believe that those two terms express different meanings. This sparked a lively debate in which he contended that they mean the same thing. <br />
<br />
This one word, just 9 letters, caused a communication impasse. This was just a Facebook post that had no weight of importance whatsoever. Just imagine though the implications of how a one-word communication misalignment can affect an outcome between a supervisor and employee. What about in a contract between client and vendor?<br />
<br />
Verbal communication is a pretty complicated process and even though we start it at a very young age, it's still easy to muck it up well into adulthood. If my manager says she wants something done "right away" that could mean<br />
<ol>
<li>Stop what I'm doing now and switch to that other task</li>
<li>Finish what I'm doing and then switch to the other task next</li>
</ol>
But it also has to be taken in context. Should I work through lunch or stay late? Is there a client call schedule for later in the day? Is the developer going to be out of the office tomorrow? <br />
<br />
I think the key principle here is to eliminate ambiguity whenever and wherever it is perceived. Ask questions. Be explicit with expectations. <br />
<br />
With my conversation above, six out of six respondents to my survey said that ignorance and close-mindedness did not mean the same thing. But there is that seventh person out there that has a different understanding, regardless of the situation. He might be someone new that the client brings onto the project after the contract has been written. We don't always share a common vocabulary but by being proactive about the seventh person lurking out there and then being as descriptive as possible, even of that which seems obvious we can ward off problems before they happen. Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-22667993846312203292013-04-01T16:15:00.000-07:002013-04-01T16:15:48.023-07:00Are These Words the Same?Please help a colleague [me] out and respond to the following survey. Your answers will help me prepare for a followup post. All data is collected anonymously as far as I know.
<iframe frameborder="0" height="600" marginheight="0" marginwidth="0" src="https://docs.google.com/forms/d/1fHRRYEo8wZYwOWuY9ka8DCEsOaGLnqC-ohsYlKoXEHY/viewform?embedded=true" width="500">Loading...</iframe>Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-53632427692736369482013-02-10T16:15:00.001-08:002013-02-10T16:15:13.091-08:00When We Don't Get AlongRelationships are complicated and dynamic. Whether personal, intimate, or professional, they all take time and energy to maintain; some more than others. At work, it can be very easy to feel trapped in a relationship because it's generally not practical simply up and quit or get transferred to another department. What do you do?<div>
<br /></div>
<div>
Well first, how does this even happen? It could be a simple clashing of egos or personalities. Maybe your coworker has an annoying habit. You might think he's rude, impulsive, or arrogant. Maybe you think he keeps taking credit for your good work. Maybe you think he keeps passing you over for a promotion or in some other way keeps you from climbing that ladder.</div>
<div>
<br /></div>
<div>
Sometimes you can go to H.R. Violence (physical or emotional), sexual harassment, even body odor are things that can make for a quantifiably hostile work environment and should be taken to H.R. But when it comes down to personality issues and character defects those aren't necessarily H.R. kinds of matters. </div>
<div>
<br /></div>
<div>
Otherwise, the best course of action is to talk to the person about the issue. He may or may not acknowledge the issue as a problem and may or may not try to change it. If he doesn't change, it can be really easy for us to get passive-aggressive and try to make them change ourselves. Maybe we covertly place a bottle of hand sanitizer on his desk because he's not good about washing his hands. Maybe we start sharing pages from our inspirational Maya Angelou daily desk calendar because he's not very thoughtful.</div>
<div>
<br /></div>
<div>
There is absolutely nothing wrong with politely asking someone to change their ways. However, it's imperative to know that it's impossible to make someone change. If you ask someone to do differently but they don't, there's still a change that happens and it's critical to understand this:</div>
<div>
<br /></div>
<div>
He is no longer the one with the problem; <b>you are</b>.</div>
<div>
<br /></div>
<div>
It doesn't seem fair, does it? He's the one with the irritating whatever. It doesn't bother him. You have no control over it. You have options though:</div>
<div>
<ol>
<li>Get over it</li>
<li>Get away from it</li>
<li>Get overwhelmed by it</li>
</ol>
<div>
Option 1 is probably the hardest because it requires you to be the one to change. We're not good at internal change. And when I say, "Get over it," I mean to truly let go it, accept that he will not change, and cease to be bothered by it. This takes time. This takes patience. This takes love.</div>
</div>
<div>
<br /></div>
<div>
Option 2 isn't always very practical. For your own health and well being, it may be necessary to consider it. If you can't find peace with your coworker, it may be the only way to get away from your feelings of frustration.</div>
<div>
<br /></div>
<div>
Option 3 is hopefully not an option at all for you. This is where you neither get over it nor get away from it. Situations like this are breeding grounds for resentment. Some very wise people once told me that resentment corrodes the container. Left unresolved, this can lead to you becoming a bitter, unfulfilled person and cause you to hate a job that you once loved.</div>
<div>
<br /></div>
<div>
Coworkers don't always become friends but that doesn't mean they have to be enemies either. Talk problems out with your coworkers but also look within because sometimes the solution is stored within your own heart.</div>
Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com1tag:blogger.com,1999:blog-7469622808463608745.post-14733736598749503672013-02-08T15:19:00.000-08:002013-02-08T15:19:21.033-08:00Selling the DreamI used to be acquainted with someone whose motto for running his business was "Sell the dream but deliver the reality." Does that make alarm bells go off in your head? It does mine. <br />
<br />
We all have dreams. Maybe it's buying a house or getting student loans paid off. Perhaps it's a vacation to somewhere exotic. My dream car is a <a href="http://www.landrover.com/us/en/lr/range-rover-evoque/" target="_blank">Range Rover Evoque</a> but it is just that, a dream car because at this point in my life I can only afford one in my dreams. Dreams are where our every wish and desire are fulfilled. Sometimes dreams do come true but usually through a lot of hard work and determination.<br />
<br />
Now if I went down to say, CarMax, told them I wanted a Range Rover Evoque, had $25,000 to spend, and they said, "Okay" I'd be pretty excited. However, if when I showed up to pick up the car they handed me the keys to a Honda Accord, I'd be pretty upset. Just to be clear, I drive a Honda Accord, his name is Eric. He's unassuming on the outside but slip into the driver's seat, wrap your hand around the six-speed manual, and you'll soon learn there's more than meets the eyes. In other words, it's a great car. Nonetheless, if I'm promised one thing but given something different - or worse, inferior, I will not be a satisfied customer and in fact I will feel cheated.<br />
<br />
Besides the obvious that the customer doesn't get what they expected, doing business this way establishes a relationship built on lies from the very beginning. If they're willing to tell a big lie, no doubt they're willing to tell little lies the entire time they're working together. Unfortunately by the time the client figures out what's going on it's too late.<br />
<br />
In a perfect world, business ethics wouldn't even be a topic of conversation but I think this behavior is reprehensible. And I'm proud to say that I think my current employer is the most ethically sound company I've ever worked for both in the ways they interact with clients and how they treat their employees. I digress. I personally don't ever want to get burned so it is my desire to put out into the world that which I think can help others.<br />
<br />
Here are some things to look out for to make sure you don't end up locked in with a snake oil salesman:<br />
<ol>
<li>Promises to do a lot more than any other bidders</li>
<li>Promises to do the project for a lot less money than any other bidder</li>
<li>The proposal is extremely vague</li>
<li>The proposal is so long you don't know what it's talking about or is full of a lot of flowery language about how wonderful their company and process is</li>
<li>Any part of the proposal seems to be too good to be true</li>
<li>The vendor has no concerns about meeting any of your requests (not to say they can't be fulfilled)</li>
</ol>
What you can do to protect yourself:<br />
<ol>
<li>Solicit multiple bids and compare them in detail, not just the price quote</li>
<li>Insist on extremely detailed contracts*</li>
<li>Demand transparency </li>
<li>Get references for recent, comparable work. Check them and look at the finished product if at all possible</li>
<li>Listen to your instincts - If you think you're being lied to, you probably are</li>
</ol>
<br />
* I recommend watching <a href="http://vimeo.com/22053820" target="_blank">this video</a>. It's aimed more at the vendor than the client but the advice is spot on and really, contracts protect everyone. Note, there is a fair amount of vulgar language and there is one metaphor used that is poorly chosen. Nonetheless, I think the good outweighs the bad.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-13773723182995822422013-02-07T12:46:00.000-08:002013-02-07T12:46:37.413-08:00Don't Judge a Book By Its CoverWe teach our children not to judge books by their covers. Literally, when they're young and start picking out books to read themselves, not to do this. A book may not have any eye-catching artwork. It could be worn and tattered. The plot introduction on the back might be unappealing. And so we try to instill in them that before forming an opinion about a book you should dive inside and get to know the full story. As children age, this proverb takes on a broader meaning that we shouldn't make snap judgements about other people. Just because someone has tattoos and piercings it doesn't mean he's a felon. Just because someone is clean cut it doesn't mean he's a nice person or trustworthy.<br /><br />And so all our lives we're taught not to jump to conclusions. Then we grow up, make a career in software development, and that all goes out the window. "How so?" you ask? <br /><br />Estimates. <br /><br />It seems most our work starts with estimates. Someone contacts us wanting a new website. They want to know how long it's going to take and how much it's going to cost. If we told them we'd let them know when we're done, they'd get up and leave immediately, laughing all the way. A conversation is had. Likely several conversations are had. The potential client might even have a pretty detailed outline prepared of what they want. If they have an existing site that they want redeveloped into something befitting 2013, we'll do an thorough analysis of it. Nonetheless, we still have to make a judgement call based on a cursory amount of information.<br /><br />Is this a bad thing? Nah. I don't think so, and I'll explain why in a second. But, I want you to realize that that is what we do all the time as a matter of practice. Think about it. Turn that over in your mind. Chew on it.<br /><br />Despite what our parents teach us about making snap judgements regarding books and people, we're actually trained to do that sort of thing all the time. The light just turned yellow - slam on the break or step on the gas? Sweetie-Pie wants to know when dinner will be ready. A guy named Big Precious is selling iPads out of his trunk. We spend hundreds of thousands of dollars on a home and even though we have inspections, you still don't truly know what's hiding behind the walls. <br /><br />Still chewing? Even though we get a lot of practice at making calls based on the information currently available, isn't it still just a little crazy what we do? Saying this is how long a project will take and this is how much it's going to cost? Software development is some complicated sh!t. Technology is constantly changing. Requirements have ambiguity. There are hundreds of things that can happen to cause the most accurate estimate ever to be completely destroyed. Quoting the wrong numbers can not only spell the end of a business relationship but the end of the company.<br /><br />I think it's messed up but I realize the client is just mitigating their risk. They don't have unlimited money and they don't have unlimited time. It really isn't unreasonable for them to know how much and how long. <br /><br />There are many ways we can mitigate our risk too including:<br />
<ol>
<li>Gather as much information as possible</li>
<li>Use what you've learned from previous experiences</li>
<li>Add in ample wiggle room</li>
</ol>
The big thing though is to be painfully transparent with the client once you crack that project open and dig in. Let them know your progress. Alert them ASAP when reality isn't matching up with the assumptions initially made. If an unexpected complication pops up, sound the alarm. Let them get their hands on the product early so they're not surprised by anything either. Keeping the client informed gives you leverage to negotiate changes to the schedule and cost. The clients are people too. They know things happen sometimes but they deserve better than to be blindsided.<br />
<br />
I'm probably not saying anything new here but I hope that I'm putting our process in a perspective that helps us to use it more effectively and keep from getting burned.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com2tag:blogger.com,1999:blog-7469622808463608745.post-43034264312899925322013-01-11T16:34:00.001-08:002013-01-11T16:34:52.408-08:00Sometimes Doing it Old School Works BestThe truth is, I'm really bad at keeping track of the things I have to work on, things that I have worked on, deadlines, etc. I've tried to utilize apps and programs of all kinds as well as notebooks and sticky notes. Nothing seems to be very effective for me. But, I think I've finally found my solution. While I'm only two weeks in, it's been far more successful than anything else.<br /><br />My problem with programs and apps is that I test programs and apps so I almost always have my work up on my screens. And I'm a window maximizer. I don't like having four or five things showing on one computer screen. So in order check my To Do list or record an activity, I have to switch from my work to something else. That may seem trivial but for my simple mind, it's apparently very disruptive. Consequently, I've been using a notebook because for me, I don't have nearly the same level of mental disruption to scribble something down quickly. Notebooks, however, get to be very messy and disorganized.<br /><br />My solution: an appointment book. It's not just any appointment book but it's also not an extraordinary book either. What I have is actually a weekly calendar. The left page has 6 rows for each day (Saturday and Sunday share a row) and the right page is just a ruled page for miscellaneous notes. My particular system is to have a two columns one each day. The left column is my To Do list and the right column is my Accomplishments list since planned vs. actual is almost never the same. The ruled page is there to note information I want to keep handy for the week not for keeping notes during testing. The book itself is hard covered which makes it usable away from the desk. It also lies flat and open so it's easy to reference no matter what I'm doing.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSR_Jf9cDTzLjW628G_N0LY175TE7KntcEDyHZUszu1XmbjcPNkEVtz-Az5O0T52loGPtH67oK2jBAzEzYokB66O9K8pRsd1jJ86PhxWj6-snlcLU6X71hx-siJbDl_Uc-nK_MtMMExVDM/s1600/2013-01-11+16.27.33.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSR_Jf9cDTzLjW628G_N0LY175TE7KntcEDyHZUszu1XmbjcPNkEVtz-Az5O0T52loGPtH67oK2jBAzEzYokB66O9K8pRsd1jJ86PhxWj6-snlcLU6X71hx-siJbDl_Uc-nK_MtMMExVDM/s320/2013-01-11+16.27.33.jpg" width="320" /></a></div>
<br />The moral of the story is, if one method doesn't work for you, try another until you find the one for you. And the best solution might not be the most technologically advanced, which is okay. So far, this has been working really well for me, which I think my boss <a href="https://twitter.com/kelleykoehler" target="_blank">@kelleykoehler</a> is very happy about, perhaps an appointment book like this would be helpful for you too.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com2tag:blogger.com,1999:blog-7469622808463608745.post-19215202459504552492012-11-15T14:36:00.000-08:002012-11-15T14:36:55.505-08:00The Dog Age Paradigm<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU00l2icuTkdBdOOuBpwL6ifl7JyOWqiJ8mDLVyn5TAQzjMPwI1zoC9xyFzTs9QhKhbre5rZPJZD8I5muPJ8U661-q0XTRM38tYygCb1XyPe6Y27bCdezsX8W0kuVLTsYJ05cNWWX0D2do/s1600/Diego+round.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU00l2icuTkdBdOOuBpwL6ifl7JyOWqiJ8mDLVyn5TAQzjMPwI1zoC9xyFzTs9QhKhbre5rZPJZD8I5muPJ8U661-q0XTRM38tYygCb1XyPe6Y27bCdezsX8W0kuVLTsYJ05cNWWX0D2do/s200/Diego+round.jpg" width="150" /></a></div>
It's a well-known fact that I am the proud parent of the world's <b>handsomest</b> dog. Diego and I have our birthdays a mere 10 days apart which inevitably leads to the "dog years" discussion. While I'm chronologically ten times older than he, in "dog years" I'm only about 1/2 older -- that is, if you subscribe to the notion of "dog years".<br />
<br />
The average lifespan of dogs varies from breed to breed but it's somewhere in the neighborhood of 12 years. Since humans live on average about 80 years, we can say that dogs age about seven times faster than humans. Thus, while Diego has now completed three trips around the sun, he's actually 21 in dog years.<br />
<br />
I think this model is silly and here are just a few examples of why:<br />
<ol>
<li>Dogs can walk within weeks of birth (not even three months in dog years)</li>
<li>They reach adolescence well before a year (not even seven in dog years)</li>
<li>They're full grown well before being two (not even fourteen in dog years)</li>
</ol>
I do have a point in all of this, actually several:<br />
<ol>
<li>Are there things in your project and/or testing that you just blindly accept as true even though they make no sense if you actually think about them?</li>
<li>One can prove anything with numbers.</li>
<li>Do you have processes that are overly simplified [or complicated] such that the intent gets lost?</li>
</ol>
I'd like to emphasize point one a little bit more. It's very easy for us to get stuck in a certain line of thinking about anything. Perhaps there's a developer that was plagued with delivering a series of bad code and now you think he's a terrible developer. Maybe some requirements weren't very clear and now the client wants something different than what was constructed but you think your solution is the best. Context-driven testing is God's gift to software testers. Test automation is the bane of mankind.<br />
<br />
I'm not trying to suggest in any of those scenarios that opinion was formed haphazardly. Rather, I'm suggesting to not ever stop questioning anything, including your own conclusions. Things change as time goes on and context changes. I suppose the dog years "formula" came about as a way of explaining to children why pets don't live as long as humans. What might be acceptable in explaining a concept to a 5-year-old doesn't work for a 30-year-old.<br />
<br />
Alternatively, the death of a family pet could be the "right time" to start teaching kids algebra. If we have to have a formula, I think this one works much better:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIZrsuSZsvpEG-yN-NFNqUfz7pF7lYW66x6NdSJNi8dfJGS9nAFY4I_ehQfoUxEa56F6jfm6QmWs-vHPF2tmC3bsIYGdCuVnNU5VRmdJ0hbO7e0LTWmNS6h7WOqoiZCgFBNW55_4oXUCxS/s1600/Dog+age+formula.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIZrsuSZsvpEG-yN-NFNqUfz7pF7lYW66x6NdSJNi8dfJGS9nAFY4I_ehQfoUxEa56F6jfm6QmWs-vHPF2tmC3bsIYGdCuVnNU5VRmdJ0hbO7e0LTWmNS6h7WOqoiZCgFBNW55_4oXUCxS/s1600/Dog+age+formula.png" /></a></div>
x equals the age in dog years and y equals the age in human years.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com2tag:blogger.com,1999:blog-7469622808463608745.post-86226832656485483732012-08-22T14:39:00.001-07:002012-08-22T15:18:55.670-07:00Who's Number One: Revenue or Customers?<div style="font-family: inherit;">
<span style="font-size: small;">There's a new kid on the block, <a href="http://app.net/" target="_blank">App.net</a> that, from what I understand, is a Twitter-esque service that is supported by user and developer membership fees, not paid advertisements. The company puts it this way, "We're building a real-time social service where users and developers come first, not advertisers." Call me a cynic but I don't think App.net puts users and developers first any more than Twitter and Facebook put advertisers first. And thanks, to my cynicism, this sparked a great Twitter Debate or "twibate" mainly with my boss, <a href="https://twitter.com/jeffturner" target="_blank">@jeffturner</a> (from the bottom up):</span></div>
<div style="font-family: inherit;">
<span style="font-size: small;"><br /></span></div>
<div class="separator" style="clear: both; font-family: inherit; text-align: center;">
<span style="font-size: small;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb_Gy5NDq4I8OQBAsiaNzUuwdzJNmJbXxdp1JQgM_yth7ieE3rQ4UCVkw-qnyKxCg3UgUX3IgCNL2EAaKs7hpCgJITv4R_ZYdkEgyaGzARGL_3hVJBoEA8RLFONwP4SfOFd5WLlWZF-I8D/s1600/Twitter.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb_Gy5NDq4I8OQBAsiaNzUuwdzJNmJbXxdp1JQgM_yth7ieE3rQ4UCVkw-qnyKxCg3UgUX3IgCNL2EAaKs7hpCgJITv4R_ZYdkEgyaGzARGL_3hVJBoEA8RLFONwP4SfOFd5WLlWZF-I8D/s1600/Twitter.jpg" /></a></span></div>
<div style="font-family: inherit;">
<span style="font-size: small;"><br /></span></div>
<div style="font-family: inherit;">
<span style="font-size: small;">As you can see from the conversation, I think that revenue comes before anything else - users, developers, or even advertisers. For a company to say that they put users and developers first is the very definition of being altruistic, that is to be selfless. If the company is sincere about users first, then I ask, why not be structured as a non-profit organization? There will be a part two of this coming soon to discuss the merits of both for-profit and non-profit business organizational structures. For the duration of this post, I simply want to assert my case for why I think revenue comes first because Twitter simply doesn't lend itself to the lengthy explanation this requires.</span></div>
<div style="font-family: inherit;">
<span style="font-size: small;"><br /></span></div>
<div style="font-family: inherit;">
<span style="font-size: small;">I can't think of a single business that doesn't say something along the lines of "the customer comes first" or "the customer is always right". But that's a lie. We all know it's a lie but it's not offensive because we are endeared by the implication that customers are at least very important. Customers aren't always right. If a person attempts to return a Dell laptop to an Apple store, the geniuses are going to laugh him out of the building. If someone fat-fingers a contract so it says a website will be built with HTML 6, the customer is still going to get an HTML 5 product.</span></div>
<div style="font-family: inherit;">
<span style="font-size: small;"><br /></span></div>
<div style="font-family: inherit;">
<span style="font-size: small;">The customer isn't always wrong though either. In fact, customers are extremely important - so important that I think it's fair to say that customers and revenue go hand-in-hand. If a business doesn't have a customer base to fill the bank account, it will cease to exist faster than Solyndra. Because of that, it's imperative that the company cater to the customers but the business itself still comes first. A company can't operate in a deficit to please customers. A company can't operate illegally to please customers. A company can't operate unethically to please customers. </span></div>
<div style="font-family: inherit;">
<span style="font-size: small;"><br /></span></div>
<div style="font-family: inherit;">
<span style="font-size: small;">In the end, whichever group is paying is going to get the most attention but don't mistake attention for importance. When ordering by importance revenue is what keeps the business operating and therefore revenue must be the greater of two equals. One may start a business with the earnest intent of providing a great service and not with the intent of becoming a bazillionaire. App.net was started to provide some user-oriented features that Twitter simply can't offer and they're able to do that because they're using a different model for generating revenue. They still wouldn't even be in business if they didn't have some sort of funding. </span><br />
<br />
<span style="font-size: small;">Acknowledging that revenue is first isn't a bad thing. Money isn't a bad thing. However, when revenue becomes disproportionately large over the customers then the business/customer relationship begins to break down. There's an implicit trust that customers understand the business needs to make money but that the business will not gouge the customers. If the business can't make money, it ceases to exist. If the business takes advantage of the customers, they'll eventually catch on and patronize someone else who will treat them fairly. Balance is key but revenue is #1.</span></div>
<div style="font-family: inherit;">
<span style="font-size: small;"><br /></span></div>
<hr style="font-family: inherit;" />
<div style="font-family: inherit;">
<span style="font-size: small;"><br /></span></div>
<div style="font-family: inherit;">
<span style="font-size: small;">On a side note, I'd like to mention I haven't actually tried App.net's service but I believe that is irrelevant to the opinions mentioned above. This isn't a review of the service. Rather, App.net serves as an excellent case study of my broader world view on business economics and should not be construed as being either for or against either Twitter or App.net. </span></div>
<div style="font-family: inherit;">
<span style="font-size: small;"><br /></span></div>
<div style="font-family: inherit;">
<span style="font-size: small;">Side note #2: Thanks to fellow blogger Stephanie Quilao (<a href="https://twitter.com/skinnyjeans" target="_blank">@skinnyjeans</a>) and her post,
<a href="http://www.stephaniequilao.com/2012/08/appnet-why-this-consumer-would-pay-a-subscription-for-a-twitter-like-social-network.html" target="_blank">App.Net: Why This Consumer Would Pay A Subscription for a Twitter-like Social Network</a>, which helped set all the gears in my head turning. I always love to read something that makes me think!
</span></div>
Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-8179714610677737272012-08-14T16:04:00.003-07:002012-08-14T16:07:37.362-07:00Channeling Emily Post: Meeting Etiquette IIA few weeks ago, I <a href="http://theostrichproject.blogspot.com/2012/07/channeling-emily-post-meeting-etiquette.html">wrote about some tips</a> on how to be courteous when scheduling a meeting or receiving an invitation to a meeting. Today I present the companion, being courteous during the meeting.<br />
<br />
Meeting courtesy begins long before the meeting actually starts.<br />
<ul>
<li>Do your homework: If you've been asked review a document or perform some other preparation, do it at least a few hours in advance so that you can be thorough and have enough time to let it sink in.</li>
<li>Prepare your handouts: If you're providing handouts, print them early because the printer will always jam and take longer than "normal".</li>
<li>Use the restroom before the meeting.</li>
<li>Arrive early enough that you can be ready immediately at the scheduled start time - no waiting to find a find a clean sheet of paper, pour your coffee, or boot your laptop.</li>
</ul>
<br />
During the meeting:<br />
<ul>
<li>Be sure to have brought a notepad, tablet, or laptop so you can take notes. Don't expect that you'll remember everything you need, a handout, or a post-meeting summary.</li>
<li>Put your phone on silent and check your messages after the meeting. If your presence at the meeting isn't important enough that you think you can be checking your messages, then why are you at the meeting? If an emergency does come up then the meeting should be postponed so that everyone can participate.</li>
<li>Be an active participant - ask questions and offer personal perspective when appropriate.</li>
<li>Remain focused on the topic, don't start unrelated conversations with other people in the room.</li>
<li>End the meeting on time.</li>
</ul>
<br />
After the meeting:<br />
<ul>
<li>If you uploaded files to the meeting room computer, remove them and turn off all equipment.</li>
<li>Clean up after yourself - if you have garbage (e.g. an empty coffee cup), throw it out; if you provided refreshments, don't leave the remnants in a mess</li>
<li>If you've been assigned a post-meeting action item, complete it promptly.</li>
</ul>
<br />
The universal key to etiquette is to be considerate of other people. Treat other people, their time, and their property how you would like to be treated. Keeping this in mind should make meeting etiquette a breeze.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-36970400138523996432012-08-10T16:21:00.000-07:002012-08-10T16:21:21.905-07:00UPDATE: Dear Web DesignersAt the end of May, I wrote a <a href="http://theostrichproject.blogspot.com/2012/05/dear-web-designers.html" target="_blank">heart-felt plea</a> to web designers for them to please throw out their 960 pixel design mold. Today I have a brief update on the numbers from <a href="http://gs.statcounter.com/" target="_blank">Global Stat Counter</a>.<br />
<br />
By way of review, here's an excerpt of what I previously wrote:<br />
<blockquote class="tr_bq">
For the three months February to April 2012, screen resolutions of 1280+ totaled 66.35% of the market, 1360+ were 42.07%, and 1600+ were 14.05%.</blockquote>
We now have three complete months of new data. The trends continue. For the three months May to July 2012, screen resolutions of 1280+ totaled 67.50% of the market, 1360+ were 44.30%, and 1600+ were 14.78%.<br />
<br />
I do wish to take a moment to talk about that old foe 1024x768. It appears that the rate of decline has slowed down quite a bit. In April, that resolution had a share of 18.02% and in July it was just down to 17.47%. It definitely has a significant market share, but I think it's important to remember that iPads, "the world's most amazing tablet", run that resolution (or double). When talking about iPads though, it's equally important to note that they scale pages quite handsomely.<br />
<br />
<b>Dear Web Designers, please use a bigger mold.</b> The numbers justify it and I think the masses would appreciate it.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-30367402986609624322012-07-25T10:23:00.000-07:002012-07-25T10:23:13.342-07:00Your Website Is a Rubik's CubeMy coworker, <a href="https://twitter.com/jakedowns" target="_blank">@jakedowns</a>, has a Rubik's Cube sitting on his desk. It seems to serve as a physical manifestation of the gears turning in his brain as he's working on solving a development problem. He's actually pretty good at solving them and can usually do it in less than a minute. <br /><br />On occasion, I've happened past his desk and noticed that it has been arranged in a checkerboard pattern. Last Friday I decided that he needed a challenge so I designed a pattern and told him to replicate it.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKvrvRjoDFQ99Sy9DMKU7yHvAmO0MDsvxydJ23TQrjRMaFq3lWTHV2vHcA7n3emKA6zWEgtFKxhXoEwi6awkBYagCnGa4J_vKoyxm8_yT5PFfW95i5D8AUGsAak-RQYrJkPASrMSn0YTjr/s1600/Rubik+1+Side.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKvrvRjoDFQ99Sy9DMKU7yHvAmO0MDsvxydJ23TQrjRMaFq3lWTHV2vHcA7n3emKA6zWEgtFKxhXoEwi6awkBYagCnGa4J_vKoyxm8_yT5PFfW95i5D8AUGsAak-RQYrJkPASrMSn0YTjr/s1600/Rubik+1+Side.jpg" /></a></div>
<br />
And he did! However, the pattern I provided was for only one face and his solution was for only one face. At the time, I made a joke that "the requirements were met but the purpose was not fulfilled" because I wanted the pattern to be displayed on all six faces.<br /><br />At this, I set to work plotting out all six faces. It took me hours, literally, to figure out a valid solution extending the original pattern to all six sides. It was a great exercise for me. I learned that the pattern does not work when using the colors of opposing faces for the pattern (e.g. blue and green). I also learned that not only do I have to account for all eight corners, I also need to account that the thee colors on each corner are in the correct position relative to the other two. I also exercised my spacial reasoning skills quite a bit.<br /><br />In the midst of all of this, I was thinking about how websites are like Rubik's Cubes. Designing and building a website isn't as simple as solving a Rubik's Cube where each side is a solid color. Rather, every website is unique, perhaps similar to others, but still has it's own individual requirements, much the same way that I created a new requirement for what it meant for Jake to solve the puzzle. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0KNXMBRj8LqdKYYhK_qIRE-dPYi1gDxP4annjEPIlVbPdTRDAmOrlJ_ho9Ftv1baZqIknGIG2YxeknlitrjfSUxxxTBWuqBf5zSejICfKDX9KG0onDpd4Hmacdl0ykfHN6sT6ivY3d-D/s1600/Rubik+6+Sides.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0KNXMBRj8LqdKYYhK_qIRE-dPYi1gDxP4annjEPIlVbPdTRDAmOrlJ_ho9Ftv1baZqIknGIG2YxeknlitrjfSUxxxTBWuqBf5zSejICfKDX9KG0onDpd4Hmacdl0ykfHN6sT6ivY3d-D/s320/Rubik+6+Sides.jpg" width="320" /></a></div>
Upon doing a little internet research, it seems that there are some <a href="http://mathforum.org/library/drmath/view/54301.html" target="_blank">43,252,003,274,489,856,000</a> (that's forty-three quintillion) valid combinations for a Rubik's Cube. When solving one for the traditional pattern, there is a well-established method to do so. However, when trying to solve for a custom design, most, if not all of that goes out the window. You still twist and turn but the algorithms have to be all new.<br /><br />The thing about websites is that you don't just twist 'em and turn 'em until you feel like stopping and saying "Solved!" You have a goal in mind. Sometimes it takes a lot of work to get it figured out exactly what that goal is. Then you twist and turn until what you have matches that goal. It's a complex process because no two solutions are the same.<br /><br />Here are some practical takeaways to keep in mind:<br />
<ul>
<li>Your customer, no matter what they say, has a very specific result in mind for you building their website.</li>
<li>It is worth every minute to take the time up front to do design and business analysis.</li>
<li>Changes made once development (twisting and turning) has begun is going to affect the deadline and is likely going to mean that some things are going to have to be done over.</li>
<li>Testers are happy to look at your design before development begins and look to see if the corners match up the way they should.</li>
</ul>
The next time someone says to you the words "simple website" or "simple change", hand them two Rubik's Cubes that have been thoroughly discombobulated and tell them to change <i>one</i> of them to match the other.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-3198567414867122112012-07-23T13:49:00.001-07:002012-07-23T13:49:29.770-07:00Improvising on a tune called "Exploratory Testing"<a href="http://en.wikipedia.org/wiki/Paul_Manz" target="_blank">Paul Manz</a> is someone whom I would consider to be among the greatest North American organists of the twentieth century. Had you ever attended one of his hymn festivals, you would have been treated to a number of improvisations - that is simultaneous composition and performance. And I guarantee you, you would never have thought, "This isn't music, this is just noise!" That's because his improvisations have all of the structure of music as we know it: tonality, meter, tempo, dynamic, melody, harmony, etc. And he was doing it ON THE SPOT; nothing was written down.<br /><br />Exploratory testing has many parallels with improvised music but yet, it doesn't have the same respect even when executed by the "Paul Manz-es" of the testing world like <a href="http://www.satisfice.com/blog/" target="_blank">James Bach</a> and <a href="http://mavericktester.com/" target="_blank">Anne-Marie Charrett</a>.<br /><br />I improvise regularly when I sit at the piano. I wasn't always very good but my skill has improved little by little over time, but particularly the last two years whereby I have had to create my own accompaniments to support congregational singing when the music editor at Oregon Catholic Press fails to understand the needs of the untrained singer. But I digress. My point however, is that no one would question the legitimacy of my playing even though I didn't sound like Paul Manz and the only thing in writing was the melody and harmonic suggestion.<br /><br />E.T. is structured just like improvisations are structured. There's usually some sort of suggested charter or mission. Testers utilize various techniques to expose and isolate defects. But yet because it isn't written down in meticulous detail, E.T. is considered inferior. Some of the worst music of all time has been written down, performed over and over, and made the performer filthy rich.<br /><br />While I think there's a close parallel between improvising and E.T., it doesn't hold up for written music and scripted testing. Music and testing are both art and science but I think they use them in opposite ways. Music looks for an artistic result achieved through a scientific process whereas testing looks for a scientific result achieved through an artistic process. When you script a test, you strip out the art - the intent, the intuition, the sapience, the wonder.<br /><br />Any good musician should be able to read and perform music because it demonstrates the technical ability while being a means by which we can learn ultimately to express our own artistic thoughts. A tester has no need to know how to write scripts or execute them. One learns to test by testing, talking with a mentor, reading, writing, etc. and by testing. By gaining understanding of the philosophy of testing we learn ultimately to achieve the scientific results.<br /><br />It's not fair that exploratory testing doesn't always get the credit it deserves but then again life isn't fair. Sojourn on testers, continually strive to better yourselves and serve as a positive example of just how effective exploratory testing is.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-83886888229851998802012-07-23T10:00:00.000-07:002012-07-23T10:00:01.655-07:00Splitting DefinitionsThere are two words that we use interchangeably and even the dictionary considers them synonyms but I'd like to challenge us to be more judicious about when we use the word "normal" and when we use the word "average." For both words when we say that <i>x</i> is normal or average we're trying to convey a baseline against which to judge <i>y</i>. However normal and average imply completely different, I might argue opposite, methods of establishing the baseline.<br /><br />Normal establishes the baseline through a rule. It's objective. Anything that doesn't follow the rule is abnormal. <br /><br />Average establishes the baseline based on the collection of results. It's subjective. The baseline changes as the results change. Result <i>x</i> could be above or below average but it becomes part of the average when evaluating result <i>y</i>. If we wish to exclude <i>x</i> from the average then we're establishing a rule.<br /><br />When it comes to software, functionality is generally normal and usage is average. In most cases we define [set rules] about how the software is supposed to work but we never know exactly who will be using it or how. It is quite impossible to set a rule as to who will be using the system. Instead we observe and look for trends and patterns. Be careful though because there is no such thing as an average user and when we create rules based on some composite, mythical person, we are sure to disenfranchise real people.<br /><br />Normal = Objective. Average = Subjective.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-46483512114237157162012-07-09T14:57:00.000-07:002012-08-14T16:08:12.234-07:00Channeling Emily Post: Meeting EtiquetteWhen your team grows beyond a handful and staff members have obligations to multiple projects, inevitably scheduling collaborative meeting time can be tricky. And then "tricky" turns into "frustrating" when common courtesy becomes extinct.<br />
<br />
You can help save your coworkers some frustration by keeping in mind a few simple guidelines when it comes to scheduling meetings:<br />
<ol>
<li>If you receive an appointment request, please respond promptly so that the requester can reschedule if necessary.</li>
<li>Please make sure all time unavailable is recorded on your calendar – out of office, personal appointments, vacation, etc. Even if you're working from home, it's nice for that to be indicated on your calendar because some meetings just can't happen by conference call.</li>
<li>For meetings outside of the office, please make sure the duration of the unavailability includes travel time.</li>
<li>If reserving a conference room, make sure it is included on the appointment, even if it's a spur-of-the-moment meeting.</li>
<li>If you have previously accepted a meeting request and can no longer attend, please decline promptly. Your presence at the meeting may be essential which could require the meeting to be rescheduled.</li>
<li>If you scheduled a meeting and can no longer attend, please cancel promptly so that attendees can remained focused at their current task.</li>
</ol>
Remember, meetings occupy the time of multiple people. Failing to apply a small amount of consideration can cause a huge waste of time. The wasted time isn't just when staff is sitting around waiting for someone to show up but also in the time that they require shift focus back to their other work. Courtesy also helps to keep meeting productivity maximized by preventing attendees from stewing over other attendees showing up late or not at all.<br />
<br />
<b>Update:</b> Read the sequel about etiquette relating to <a href="http://theostrichproject.blogspot.com/2012/08/channeling-emily-post-meeting-etiquette.html">the meeting itself</a>. Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com1tag:blogger.com,1999:blog-7469622808463608745.post-3008126111167234482012-07-03T12:55:00.000-07:002012-07-03T12:55:53.986-07:00Random Ponderings on Various Pay StructuresRecently, I was thinking about the various pros and cons of the various pay structures that we use: hourly, salary, and commission. Being an ardent subscriber of the context-driven testing school, I question everything -- even when I'm not testing.<br /><br /><span style="font-size: large;">Thought 1: Link to Productivity</span><br />Hourly payment is often applied where productivity can be closely tied to time. <br />
<blockquote class="tr_bq">
Examples:<br />Manufacturing - parts per hour<br />Retail - number of associates needed to handle customer load<br />Custodial - how much can be cleaned in a given shift</blockquote>
<br />Salary payment is often applied where productivity is linked to accomplishing a task that can require varying time.<br />
<blockquote class="tr_bq">
Examples:<br />Software testing - make sure the system works<br />Teaching - in addition to classroom time, prep for lessons and evaluate student work<br />Business executive - run the company</blockquote>
<br />Commission payment is often applied where productivity is connected with sales.<br />
<blockquote class="tr_bq">
Examples:<br />Car salesman - sell more cars, earn more money<br />Real Estate Agent - sell more homes, earn more money<br />Mortgage broker - close more loans, earn more money</blockquote>
<br /><span style="font-size: large;">Thought 2: Productivity ≠ Working Hard</span><br />For any given task with a set amount of time, Person A could exude a great deal of personal effort and not complete the task whereas Person B could exude very little personal effort and finish the task with time to spare.<br /><br /><span style="font-size: large;">Thought 3: Time = Money</span><br />Hourly: The more hours you work, the more you're paid<br />Salary: The fewer hours you work, the higher your effective hourly rate<br />Commission: The more sales you make, which in theory means, the more time you use pursuing sales leads, the more you're paid<br /><br /><span style="font-size: large;">Thought 4: Salary is a bit of an odd duck</span><br />Unlike hourly and commission, the salary payment structure does not have a built in mechanism to actually get paid more than your base rate. A salary employee gets paid the same no matter how many hours he works or how many "tasks" are completed. Salary has other perks though. Generally it has more flexible hours and sometimes you may even get to leave work a little early or take off a few hours without using paid time off. And in comparison to commission, you're still guaranteed to make money. If a salesperson can't close any sales, he won't get paid. And I don't have any data to support this but with all things being equal, I think salary employees generally have a higher base pay than hourly.<br /><br /><span style="font-size: large;">Thought 5: Salary systems require integrity to work</span><br />In salary situations it is generally stipulated that hours worked in excess of 40 are not paid overtime. Moreover, employers generally require an accounting of time spent which should add up to about 40 hours. But in order for all of this to work, employees have to actually put in their 40 hours and employers have to keep overtime as the exception. In other words, employees shouldn't try to cheat the system and employers shouldn't try take advantage of their workers.<br /><br /><span style="font-size: large;">Thought 6: So why would anyone pick one over the other?</span><br />Really, that depends on a variety of circumstances. Generally the "choice" is in the choosing of the career. You don't say, I want to do FOO and be paid with structure BAR. Personality has a lot to do with it too. In the past, I've worked a number of hourly jobs. I liked being able to say, "my shift is over, time to go home." I think the pressure of a commission setting would would weigh heavily on me and I wouldn't enjoy it. But now I've been salary for my entire professional career and it's worked out really well because of the cerebral work that I do. Some days I finish a little early and then I don't have to wait for the clock to strike a certain time before heading out. Other days, I get in a thread and I don't even notice that the time is well beyond the average end of the day.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-59978898322527075492012-06-06T13:22:00.000-07:002012-06-06T13:22:53.516-07:00Two Keys for Effective Defect ReportsWhen I was in high school, a class that I was in was given a writing assignment. This was a type of class that ordinarily wouldn't have writing assignments and so the students were a little unsure as to the requirements. One of my classmates asked, "How long should the paper be?" And the perverted old man replied, "The paper should be like a woman's skirt: long enough to cover the subject but short enough to still be interesting."<br /><br />Today I want to expound upon effective defect reports. I am an absolute stickler for detailed defect reports. I have no problem sending issues back that don't have sufficient information. Defect reports are adult writing assignments and we need to make sure that we are including all of the necessary information. I could run down my list of criteria that I expect in every bug report, but you can find those types of lists lots of places. Besides, the list, like everything in testing, is context-oriented. <br /><br />As inappropriate as my teacher was, he did imply an important point: it's not about a measurement, it's about accomplishing a purpose. Skirts, and clothing in general, maintain a certain level of modest, protect us from the elements, and evoke intrigue. Defect reports, must be able to fulfill two very important functions, otherwise they are a failure.<br /><br /><span style="font-size: large;">An effective defect report makes reproduction and troubleshooting as simple as possible.</span><br />More often than not, the person who discovers the defect is not the person who resolves the defect. This is a simple efficiency issue. If you have a PM or Scrum Master reviewing issues, they need to be able to assess the priority and assign the issue to the most appropriate developer. The developer should be able to understand what's going on without having to guess or ask additional questions so they can spend less time identifying the issue and more time fixing.<br /><br /><span style="font-size: large;">An effective defect report archives the defect.</span><br />The purpose of this is for testing. Often times, the person who discovers the defect is not the person who verifies that it has been fixed. The tester needs to be able to know exactly what was wrong so that when they test the resolution, they can determine beyond a doubt whether or not the defect is fixed. If the tester doesn't know precisely what was wrong, it's impossible to know if it's fixed.<br /><br />If your bug reports fulfill those functions then you're well on your way to getting an A+ on your writing skills. Remember, context is everything - sometimes bug reproduction is elusive and sometimes a conversation can convey imporant information that is hard to express in text. If you keep mind of the purpose then the details will fall into place.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-53937982156185714072012-05-30T12:45:00.000-07:002012-05-30T12:45:26.771-07:00Squeeze or Slice?When it comes to planning the scope for an iteration, I generally think of two different approaches: squeezing and slicing. So which one are you? Are you a squeezer or a slicer?<br /><br /><span style="font-size: large;">The Squeezer</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUBaBn5oJcZeK_wggLRa0-3-kPXaWSPyVVu55ZJsTcskmadU7JHXLgXcoDDm0Vg2q7PqlaCM45VZLsGExZKH-iBCakw6jk4mqzEuomYCEWFFgieB6nrJjj7bCQeTnAMKxyrWgV3I6QdUtI/s1600/ketchup_300.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUBaBn5oJcZeK_wggLRa0-3-kPXaWSPyVVu55ZJsTcskmadU7JHXLgXcoDDm0Vg2q7PqlaCM45VZLsGExZKH-iBCakw6jk4mqzEuomYCEWFFgieB6nrJjj7bCQeTnAMKxyrWgV3I6QdUtI/s200/ketchup_300.jpg" width="167" /></a></div>
<br />
<ul>
<li>Tries to get as much out as possible in each squeeze</li>
<li>Some squeezes go "Splllppppppt!" and hardly anything comes out</li>
<li>More oozes out after you stop squeezing</li>
<li>You don't know how much the bottle holds</li>
<li>Even if you may know the bottle is 8oz, you never know for sure how much is left</li>
<li>You have to pound the end and squeeze repetitively to get the last little bit out</li>
</ul>
<br /><span style="font-size: large;">The Slicer</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAwS06gnA5oY5v4rrgl1Yd4Vs0SAJZphVIOaUu4urutVl_bPslDt8dQ0Hn5XKEI2VWs0mPEndGaElkyLlT948U6yzex9HtW2iLkw1QQomkgm4WoBSmf1cYo1H2Z7SMUT2Y22SPxZAjWCtS/s1600/bread-loaf-half-sliced1-enlage(a5czf3).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="93" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAwS06gnA5oY5v4rrgl1Yd4Vs0SAJZphVIOaUu4urutVl_bPslDt8dQ0Hn5XKEI2VWs0mPEndGaElkyLlT948U6yzex9HtW2iLkw1QQomkgm4WoBSmf1cYo1H2Z7SMUT2Y22SPxZAjWCtS/s200/bread-loaf-half-sliced1-enlage(a5czf3).jpg" width="200" /></a></div>
<br />
<ul>
<li>Each slice is more or less the same size</li>
<li>You can see exactly how big the loaf is and how many slices are left</li>
<li>Only the <a href="http://en.wikipedia.org/wiki/Elijah#Widow_of_Zarephath" target="_blank">supernatural</a> keeps the loaf from running out</li>
<li>There are just a few crumbs to brush up after the last slice</li>
</ul>
<br />As you may have guessed, I'm an advocate of the slicing system. The characteristics mentioned above are maybe a little bit euphemistic because in reality, software projects are not factory baked and sliced bread. They're homemade and each slice is cut individually. When you first pull the bread out of the oven, you might ideally want the bread to be sliced into 10 pieces. However, after the first slice or two, you might find that the bread is heavier or lighter than you thought prompting you to make thinner or thicker slices going forward. If you slice off more than you can chew, it's easy to cut that piece in half and save the rest for later. You don't always know how many loaves there will be before you're done baking and slicing but you always have an easily manageable unit.<br /><br />I like slicing because planning is "baked in". Each iteration isn't like a spin of the roulette wheel. You can respond to experience and adjust accordingly. And you always have a clear vision of what the end is and when it will come.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-74615271500576242762012-05-25T13:56:00.001-07:002013-02-11T15:59:39.100-08:00Dear Web DesignersIf you don't care about responsive web design whatsoever, you may stop reading here.<br />
<br />
One of the designers where I work recently shared a link to an article called <a href="http://www.mightybytes.com/blog/entry/responsive_web_design_what_it_is_and_what_it_isnt/" target="_blank">Responsive Web Design: What It Is and What It Isn’t</a>. It's a worthwhile read where the main idea is responsive design isn't just a method for making your website work on desktop and mobile. It's about making your website scalable so it fits whatever size screen the user has. Rather than "either/or" it's "everything/and."<br />
<br />
Reading between the lines and honing in on my own pet peeves, <b>why do so many web designs scale to small screens but not big screens?</b> I find myself growing increasingly frustrated by seeing beautiful web designs with gobs of potential that only fill 1024 of my available 1920 horizontal pixels! That leaves nearly 47% of my screen unused.<br />
<br />
This sparked a very insightful (for me) conversation with the designer. The process of scaling a website is generally conceptualized as a one-way process: start big and get smaller. There's no "start big and get bigger." It actually makes a lot of sense to me as a much more manageable process to only go in one direction.<br />
<br />
Herein lies my plea: <b>Web designers, please throw out your 960 pixel starting mold.</b> It's outdated. It's time to get a bigger mold. <br />
<br />
<a href="http://gs.statcounter.com/" target="_blank">StatCounter Global Stats</a> has plenty of data to show us why:<br />
<div height="360" id="resolution-ww-monthly-200905-201204" style="height: 360px; width: 540px;" width="540">
</div>
Source: <a href="http://gs.statcounter.com/#resolution-ww-monthly-200905-201204">StatCounter Global Stats - Screen Resolution Market Share</a><br />
<script src="http://www.statcounter.com/js/FusionCharts.js" type="text/javascript">
</script><script src="http://gs.statcounter.com/chart.php?resolution-ww-monthly-200905-201204" type="text/javascript">
</script>
<br />
<div height="360" id="resolution-ww-monthly-201202-201204-bar" style="height: 360px; width: 540px;" width="540">
</div>
Source: <a href="http://gs.statcounter.com/#resolution-ww-monthly-201202-201204-bar">StatCounter Global Stats - Screen Resolution Market Share</a><br />
<script src="http://www.statcounter.com/js/FusionCharts.js" type="text/javascript">
</script><script src="http://gs.statcounter.com/chart.php?resolution-ww-monthly-201202-201204-bar" type="text/javascript">
</script>
<br />
1024-wide resolutions had a huge market share three years ago and it's economically-savvy to design for the market. That market share has dropped consistently and significantly. Meanwhile 1366-wide resolutions have gone from non-existence to being the new standard.<br />
<br />
I've done some analysis of the numbers. If you've shopped for a computer lately, you've probably noticed that all monitors are widescreen. Most Macbooks use an 8:5 aspect ratio whereas PC manufacturers have overwhelmingly adopted the 16:9 aspect ratio. Because PCs account for 90% of the market, I've chosen to focus exclusively on the 16:9 ratio. <b>For the three years May 2009 through April 2012, 1024x768 has dropped by an average of 0.64 points per month. Meanwhile 1366x768 has increased by 0.53, 1600x900 by 0.1 and 1920x1080 by 0.14.</b> The numbers are very consistent, aside from a completely bizarre November 2011.<br />
<br />
So what size mold should be used now? It depends upon the context, like everything. If responsive design isn't in scope, then leave the mold where it is. If it is, here are some more numbers for you: For the three months February to April 2012, screen resolutions of 1280+ totaled 66.35% of the market, 1360+ were 42.07%, and 1600+ were 14.05%. Judging by the data mentioned in the last paragraph, I say, set the mold at 1600 because that market share has shown steady growth and I think 14% is a pretty big share. After that set the steps at 1280 and 1024.<br />
<br />
<b>Update:</b> <a href="http://theostrichproject.blogspot.com/2012/08/update-dear-web-designers.html">See how the trends continue for the months May through July 2012.</a> Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-27738428518890169422012-05-10T12:57:00.001-07:002012-05-10T12:57:40.809-07:00One For and Two Against Test ScriptsThe following is a follow-up to my own <a href="http://theostrichproject.blogspot.com/2012/04/technical-documentation.html"><i>Technical Documentation as Reference Material</i></a> as well as David Greenlees' <a href="http://martialtester.wordpress.com/2012/04/27/idiot-scripts/" target="_blank"><i>"Idiot Scripts"</i></a>.<br /><br />Several thoughts come to my mind when I think about test scripts written for others to use.<br /><br />I have at times, even recently, asked other people to write test scripts. Not because I want to use them or have them ready to distribute to someone else but because I wanted to use it as a tool to give me insight their approach to testing. It probably isn't the most efficient method but it was what seemed to be the best solution for the circumstances.<br /><br />To me the intent of scripts for use by business users or during UAT is basically the same: happy path/positive testing that shows that the system works as expected.<br /><br />The problem I have with writing scripts for business users is that I expect them to know how the system works and test scripts are a horribly inefficient form of user documentation. Besides it leaves the intent of each step in obscurity. It makes more sense to me to teach the business user how to use the system and then let them use it, whether it's taught through a full blown manual, a help file, a training seminar, or a phone call. If the system is complicated enough that it isn't readily apparent to the average user how to use it they you're going to need some sort of training program regardless so why duplicate effort by writing test scripts?<br /><br />The problem I have with writing scripts for UAT is the same as I mentioned above but it goes deeper. Some, perhaps most people, might not agree with me. When I think about writing UAT scripts, it gives my heart ethical palpitations! UAT isn't just verifying functionality, it's verifying that it's acceptable. Determining whether the software/website is acceptable is a judgement call that only the client can make. Granted acceptance criteria can be written out and those criteria can be negotiated between the client and the agency but it's still a subjective evaluation when it comes down to it. The specific problem then that I have with UAT scripts is that I, as the script writer, am determining whether the deliverable is or is not acceptable. If the client wants to write an objective set of steps that define acceptability they can do that but that's on them. And if they want to go through some sort of approval process then it just becomes a dog and pony show.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com0tag:blogger.com,1999:blog-7469622808463608745.post-84616010991427164842012-05-09T11:58:00.002-07:002012-05-09T11:58:54.648-07:00What Makes a Leader?Being a leader is not defined by:<br />
<ul>
<li>Having the highest salary</li>
<li>Having a big title</li>
<li>Having the most tenure</li>
<li>Having an expensive degree or certification</li>
<li>Having the most skill and knowledge in a discipline</li>
<li>Having the most opinions</li>
</ul>
A leader is someone who:<br />
<ul>
<li>Motivates others without threats or coercion</li>
<li>Can enforce the rules without pissing people off</li>
<li>Realizes that you can't always make everyone happy</li>
<li>Can discern between best practices and the best for the situation</li>
<li>Can see and analyze conflicts from all sides</li>
<li>Places the interests of the team above her own</li>
<li>Draws out the quiet voices and speaks up for those who won't/can't</li>
<li>Is willing to be unpopular but doesn't wear it as a badge of honor</li>
<li>Owns his mistakes </li>
</ul>
In short, a leader is not defined by what you HAVE but who you ARE.<br />
<br />
Funny thing is, I can't think of one single word that appropriately describes a good leader other than "leader." On the other hand, if you're a bad leader, you could be described as a jerk or a jackass, and the list goes on. Even if you're the boss that doesn't mean you're a leader. Being bossy is just an adult synonym for being a bully. A good leader shines with Honesty, Integrity, and Respect. Those only expose themselves through how a person approaches and reacts to a situation and the way they treat others.Trevor Wolterhttp://www.blogger.com/profile/14734798962710958947noreply@blogger.com1