This is a new thought, so please bear with with while I work it out, but I was so excited by this that I had to put something down on paper, as it were.
I was chatting with some colleagues during a quick coffee break and they were joking about business management practices: ISO, CMMI, MBO, etc. Joking about how all these were problematic, but they liked ISO because it didn't matter how bad the product was, as long as the process was documented and reproducible. We steam-rolled into the laughable over-reaching of business processes and how they can block and stifle productivity and creativity.
Then came the seminal moment: One colleague said, "But you have to have some process! Otherwise everything would just be chaos!"
I couldn't resist. I was bursting. I blurted out, "Yes! And it does not matter which process you choose; as long as the team works with it, owns it, uses it, improves it and you, the team and the company are ultimately successful!
"Your processes doesn't even need to come from only one source! Mix, match and combine! Pull a little Peer Programming into your Agile Scrum. Waterfall? Heck, if it works for you: YES!"
We laughed a bit about that, but I wouldn't let it go. "If you, your team and your company is successful, then your process is a good one, whatever it is. I have learned that if you can help everyone enjoy what they do, they will do it well and will want to continue doing well. The process is incidental; the joie de vivre is what is critical.
"As a matter of fact; that is what the management goal of the company should be: Success by fostering an environment of joy within the company."
My colleague pointed out, "That could backfire: The server went down, but we're happy, so who cares!"
"Great point!" I practically yelled. I am excitable. "But, that would be antithetical to the company's goal of being successful. If the staff is enabled to keep the servers running, maintained and address critical repair issues in a timely manner, then they will feel a tremendous sense of accomplishment and satisfaction; right?" My colleague agreed.
If everyone in my company felt joy, accomplishment and satisfaction, I doubt there would be a business challenge we could not over come. So, it's my new business and management philosophy: The Joy-Infused Workplace.
Perhaps I'm just supremely lucky to be able to work standing up and dancing to great music while I write, debug and review Ruby and Rails code and work with some really fine colleagues on my Ohloh.net team. But I suspect, based on the laughter, respect and support we have for one another that we are a high-performing team because of the way we choose to let joy in to our working environment.
Yes, OK, I know: one can't be happy all the time. I think that does not at all take away from the goal of creating a workplace environment where everyone one can feel acknowledged, accomplishment and satisfaction that leads to regular expressions of joy.
Wednesday, October 09, 2013
Wednesday, September 25, 2013
Aarrgh!! Sports Authority Web App Fail
Gonna complain here. Sports Authority, you never fail to Piss Me Off. Every time I enter your store, the employees make me feel like I am intruding on their personal time. It takes for-evah to find what I want. And now, now I have "The League" to talk about.
Yes, I signed up for your customer loyalty program. With the level of activity in our family, I am regularly at your store.
So, I signed up, gave my info and my wife tried to use the card. Nope; we have to register on your website first.
I come to your website, enter the card number and my email address. Then I generate a secure 15 digit password. The form pukes; passwords have to be 7 - 14 characters. OK, my bad. I generate another password, this one is 14 characters. Enter. Hmm, the page doesn't refresh, maybe the old 15 digit password wasn't cleared. Generate a new password, copy it, carefully delete the current password and try again.
What? Another error message? Passwords have to be 7 - 14 characters. F-f-f-f-f-ffffff But it is!! Hey, I'm a smart guy; you probably also don't accept special characters. So I generate another password, 14 characters, but not special characters and resubmit.
Fails again. Now my email address doesn't match. WHY DIDN'T YOU MENTION THAT FIRST? And what happened to the new password I generated? Generate a new password and try another email address. Nope. Try another email address and yet another password. Nope.
Bail on the email address and use my phone number. With a new password; how many is that now? Hmm, 1, 2, 3, 7 or so. I'm going to have to clean up all the old entries from the password safe after I verify which one actually works. Crap.
I successfully log in and look at the email address right away. F-f-f-f-f-fffff!!!! It's the first email address I used, but in all caps. The !@#$ engineer isn't doing a case-insensitive match? Holy amateur, Batman!!
OK, I hate you Sports Authority. Have crappy service and make my shopping experience lousy and I'll do everything to avoid your store until I have to go, but hire idiot programmers and put a amateur, 1990's type experience on the web today and you have earned my disdain.
Oh, but wait!! There's more!
Just before clicking "accept", I read the terms. If you spend $100 within a quarter -- not any three month period, but a calendar quarter -- then you get $5.00 back. Any unused points are reset to 0 with each quarter.
Wow. I am totally underwhelmed.
Yes, I signed up for your customer loyalty program. With the level of activity in our family, I am regularly at your store.
So, I signed up, gave my info and my wife tried to use the card. Nope; we have to register on your website first.
I come to your website, enter the card number and my email address. Then I generate a secure 15 digit password. The form pukes; passwords have to be 7 - 14 characters. OK, my bad. I generate another password, this one is 14 characters. Enter. Hmm, the page doesn't refresh, maybe the old 15 digit password wasn't cleared. Generate a new password, copy it, carefully delete the current password and try again.
What? Another error message? Passwords have to be 7 - 14 characters. F-f-f-f-f-ffffff But it is!! Hey, I'm a smart guy; you probably also don't accept special characters. So I generate another password, 14 characters, but not special characters and resubmit.
Fails again. Now my email address doesn't match. WHY DIDN'T YOU MENTION THAT FIRST? And what happened to the new password I generated? Generate a new password and try another email address. Nope. Try another email address and yet another password. Nope.
Bail on the email address and use my phone number. With a new password; how many is that now? Hmm, 1, 2, 3, 7 or so. I'm going to have to clean up all the old entries from the password safe after I verify which one actually works. Crap.
I successfully log in and look at the email address right away. F-f-f-f-f-fffff!!!! It's the first email address I used, but in all caps. The !@#$ engineer isn't doing a case-insensitive match? Holy amateur, Batman!!
OK, I hate you Sports Authority. Have crappy service and make my shopping experience lousy and I'll do everything to avoid your store until I have to go, but hire idiot programmers and put a amateur, 1990's type experience on the web today and you have earned my disdain.
Oh, but wait!! There's more!
Just before clicking "accept", I read the terms. If you spend $100 within a quarter -- not any three month period, but a calendar quarter -- then you get $5.00 back. Any unused points are reset to 0 with each quarter.
Wow. I am totally underwhelmed.
Monday, June 10, 2013
Reveal.js: Elegant presentations in the browser
This is chock full of really good stuff for browser based presentations: http://lab.hakim.se/reveal-js/#/
Companion site for editing really cool browser based presentations: http://slid.es/
The creator of these things: http://hakim.se/
Companion site for editing really cool browser based presentations: http://slid.es/
The creator of these things: http://hakim.se/
Friday, March 29, 2013
Sandy Metz on Design
This is excellent: http://vimeo.com/26330100
Sandy talks about OO design and brings us through the thought process of how to get to loosely coupled, independent objects. Highly recommended.
Sandy talks about OO design and brings us through the thought process of how to get to loosely coupled, independent objects. Highly recommended.
Thursday, March 28, 2013
Forecast: A great Web App
Check out this site: Forecast
That's some impressive web app for getting local, regional and global forecasts
That's some impressive web app for getting local, regional and global forecasts
Thursday, January 10, 2013
Code Smells & Solutions in Rails Applications
I came across an interesting presentation by Brandon Keepers at GitHub that he gave in June of 2012. I didn't make it through the 35 minute video of the presentation, but there is also the slide deck. Scanning the rest of the presentation in the slide deck, I was delighted to see Brandon promoting appropriate separation of concerns with respect to the use of Rails and its components.
It's time to move away from Fat Models and get Domainy. Use ActiveRecord to be the encapsulator of things specifically related to working with the database. Build your domain model on top of that.
Gary Bernhardt of Destroy All Software fame promotes the same.
I liked Brandon's identification that test cases can illustrate where the code smells when the tests are too complex. Spot on.
It's time to move away from Fat Models and get Domainy. Use ActiveRecord to be the encapsulator of things specifically related to working with the database. Build your domain model on top of that.
Gary Bernhardt of Destroy All Software fame promotes the same.
I liked Brandon's identification that test cases can illustrate where the code smells when the tests are too complex. Spot on.
Friday, December 21, 2012
Dev Tools for Quick Mockups
Just so that I don't forget about it now:
- JSBin makes it easy to mockup some real HTML with some real JS and see the real result, then iterate through it with versioning.
- BL.OCKS.org will take your Github gist and render it for viewing. Here's the blurb: "This is a simple viewer for code examples hosted on GitHub Gist. Code up an example using Gist, and then point people here to view the example and the source code, live!"
Friday, December 07, 2012
Color & Git Branch in your BASH Prompt
This one will be easy. Place this into your .bash_profile:
This defines a function called "parse_git_branch", which reads the symbolic reference for the HEAD pointer (sending errors to /dev/null) and assigning the value to the "ref" variable. Then, it echos the value of the variable, but filters out "refs/heads/" from the answer (See example 10.10 here at tldp.org)
After setting the value for some colors, it sets the first level prompt to print the current working directory in green and the git branch in yellow.
Voila
Test your webpages from outside of your domain
I love tools like Firebug and Chrome's Developer Tools. But a tool originally developed at AOL and the open source has captured my attention: Web Page Test does a great job of displaying all the nitty gritty details that are otherwise hard to get, such as DNS lookup time. There are even developer tools with a RESTful API.
Highly Recommend
Highly Recommend
Thursday, December 06, 2012
Scrum Planning Poker for the Distributed Team
I've taken on the role of Scrum Master for our team and wanted to get everyone participating in issue scoping with independent votes. So I searched for a Planning Poker scoping tool for distributed teams. The one I like the best is Pointing Poker.
It's free, requires no login, is very easy to use and effective.
One person logs in and starts a new session. That person then distributes the URL with the session identifier to the rest of the team (we use Skype). Everyone else then visits the site and enters their name. No user account, no registration, no nothing. From there it is easy to clear the last vote, have everyone vote and see the results. Want to change your vote? Simply click on a different value.
Kudos for an effective tool. Hey Matt Ruwe, if you were to put a donate button so I could donate a few bucks, I would.
It's free, requires no login, is very easy to use and effective.
One person logs in and starts a new session. That person then distributes the URL with the session identifier to the rest of the team (we use Skype). Everyone else then visits the site and enters their name. No user account, no registration, no nothing. From there it is easy to clear the last vote, have everyone vote and see the results. Want to change your vote? Simply click on a different value.
Kudos for an effective tool. Hey Matt Ruwe, if you were to put a donate button so I could donate a few bucks, I would.
Subscribe to:
Posts (Atom)