Agile, RoR, and the New Guy
Over the last six months, I began looking into Agile programming practices leading me to the Agile Austin users group. In April, Stacy and I attended our first meeting where we were fortunate to meet Nicholas Cancelliere–an active Agile Austin member, Certified Scrum Master, and agile instructor. Nicholas joined our team on May 1st excited about the opportunity to introduce agile programming and Ruby on Rails, and we were thrilled to have Nick at the helm in leading us in this new–for us–programming methodology.
While Rails itself is an exciting rapid development language stirring up a lot of media buzz, it is our adoption of agile programming practices that has transformed our business. Previously, we scheduled client projects in a seemingly aimless juggling act. With agile, our Monday mornings are dedicated to planning the week’s work, and we know exactly what we expect to accomplish.
In addition to ramping up our own development and reducing our backlog, we’ve had other significant benefits. Stacy and I confidently inform our clients about expected completion dates, and following the agile way of rapid development and customer collaboration, we schedule software demos weekly. These weekly iterations allow us to unearth potential errors in communication early, which helps keeps development costs down. Our clients thrill in seeing their software ideas take shape, and the open communication fosters their own confidence in us. And our programmers set realistic expectations, gain satisfaction in achieving goals, and have control over their own work.
Like Scott said today, yes, we could have learned and adopted agile and RoR on our own with help from the agile community and committed effort. But having Nicholas lead the group allowed us to see dramatic results in a very short period of time, and the impact has been one of the most significant in our short history. Sometimes, all the buzz is justified.
Where Profits Hide, Part I
“What items are we most profitable in?”
Scott asked me that question a few weeks ago which set off a discussion about our primary project categories and the income derived from each: hosting related work (13%), ticketing software and customizations (13%), software development (43%) and website design (25%). Then we looked at development time for processes required for the projects within each category.
For website design, we have created many scripts representing many, many hours of development that enable us to streamline our work. For example, an image gallery used to take several hours, but a script that took the time, testing, and refinement of four people in this office reduced that task to a half hour. Our editing software, PmWiki, once had an install process that took several hours. Now, the task is five minutes.
In addition to eliminating some of the tedium of required tasks, these helper scripts expedite delivery of websites, and the return is worth the effort it takes to produce them. With all the extra time these scripts afford, we should be awash in extra profits, right?
When Scott asked the question about profitability, I thought a moment, and told him that these scripts enabled us to be more profitable because we still charged the full price for installation on these items, yet the labor was a fraction of the invoiced charge. Then I had a jarring realization.
Websites are among our least profitable items for many reasons some of which I will save for another post. Whatever the reason, we often find ourselves in a position where the clients want “just a little more” to be fully satisfied, and we often acquiesce. Since Stacy handles most website sales, she is the one who hears these “final requests” and shares them with me. Often, her justification for making the additions starts with, “Well, Dawn, remember they paid full price for the gallery, so we won’t lose money if we spend the extra time.”
But what the client didn’t pay for was the time it took for us to create the scripts, and in cases where we extend the design or functionality of the site, the profits fly out the window. Stacy has been notorious for this kind of no-cost upgrade request, and after years of this behavior, none of us realized we might actually be losing money!
I am actually surprised that it took us so long to figure out this basic metric. Over the last couple of years, we have really grown as a company, and we continuously strive to exceed performance goals set at the end of each year. So, realizations such as this one are important milestones that help us achieve loftier heights.
So, Scott’s question was an enlightening one, and our policy has changed. We’ll be on the lookout for other profit-swallowing development costs as we prepare for yet another banner year as we strive to elevate performance and profits in 2008.
Cool Flash Background
I recently told Ross about a desire I’ve long held to try a Flash background for our website. I hadn’t seen it elsewhere, and I wasn’t even sure it was possible. Ross committed himself to the task, and sent me an email entitled, “I got it!” later that day. Take a peek at the link–and you have to look closely for it’s very lightly colored and subtle animated background (http://thunderdev.com/flashbg ) along with his comment.
I have no idea if this is old news on the web, but for us, it’s new–and pretty darned cool from my talented artist!
It’s about me!
Recently, I was invited to share some thoughts about myself and this business with the local community newspaper. I thought this blog might be a good storage place for this miscellaneous data–just in case it never makes it to print. :)
Name: Dawn Green
Place and date of birth: Quincy, Massachusetts
Family members and what they do: 3 daughters at Westlake and Hill Country
Education: BS Computer Science, Texas A&M, Corpus Christi
Occupation: Programmer/Project Manager
What’s your career ambition? Every programmer or software development company strives to build great software. Even better is to create software that incorporates enough functionality that it is sold repeatedly, a principle referred to as “write once, sell many.” My goal is to develop a great software products that find a worldwide market.
What is the latest project in which you are involved? Our business developed a ticketing application that allows small venues–such as Zach-Scott Theater or the Westlake Chaps football program–to sell tickets online with the benefits of full reporting, assigned seating, and other important factors to venue management. ThunderTix is the culmination of a few years of effort that is taking root and beginning to find an audience.
What is your favorite Westbank area business? Westbank Flowers. The first time I received roses from them, I was stunned by how beautiful they were. When they began to wilt a day later, Keith, the owner, brought a new and equally beautiful batch. Their arrangements and customer service have earned my repeat business!
Hobbies: Taekwondo, tennis, soccer, guitar, and reading everything!
What qualities in people draw you to be their friend? My favorite people make me laugh, they inspire me, and they care about others.
I have a knack for: Understanding the web and what it can do for a business.
The one thing I’d like to change about the Westbank is: I’d put sidewalks on Bee Caves Road! Most significant or interesting job: The one I’m in. I love my work!
Which of your professional or civic-oriented accomplishments make you the most proud? Several years ago, several colleagues and I worked with a group dedicated to teaching young mothers and fathers how to parent. We took their office from stone age to the digital age by procuring computers, network help, and all layers in between by soliciting donations from local businesses for labor and equipment. The end result was immensely rewarding.
Excluding family members, who influenced you most and why? There are too many people who have influenced me to name one. In short, I have been most influenced and inspired by my colleagues. What would you say is one interesting fact about you that people probably don’t know? When I grow up, I want to be a woodworker!
What is your fondest childhood memory? Building tree forts with friends in the woods that surrounded my neighborhood.
A bad habit I have is: You can see it in my waistline….beer!
My most humorous moment was: When I was a teenager, I visited San Antonio with a friend. Being from Boston, we were unfamiliar with the Texas twang–in particular, the pronunciation of the letter W as “dub-ya”. One day, we laughed to the point of hysteria when we asked for directions and heard the location address: “Ubby Dubby White Street.” It wasn’t until my thirties that I saw the sign for W. W. White Street that I realized the street’s true name! You can bet I called my friend and shared the news!
If you could sit down and ask questions of anyone (living or dead) who would it be and why? I could not be more different than Martha Stewart, but I admire what she has done in business. I would relish the opportunity to meet her, and learn about her challenges and successes.
My pet peeve is: Waiting–especially if I have nothing to read.
In what historical event would you like to have participated? Freeing the Jews from concentration camps.
What advice do you hope your child/children take(s) to heart? Treat people like you want to be treated; don’t talk about others; and care!
Most exciting or dangerous thing I’ve ever done: Lot’s of dumb things that I’m too embarrassed to share.
Besides raising children, life’s most challenging endeavor is: Building a business while maintaining the respect and admiration of my coworkers and clients.
Is there anything in your lifetime that you passed up on doing and wish you had not? I used to think I should have gone into the military, because I would have enjoyed the physical challenges, lifetime friendships, and camaraderie. With the war we’re in today, I would give that decision a second thought, but back then, I wish I had joined.
How would you like to be remembered? As a person that genuinely cares about others, and made others laugh.
Getting Lucky
There’s more than one way to get lucky, and we got lucky twice! We have two new and extremely talented guys joining our currently-estrogen-leaning office to give our ranks a slight testosterone tilt. The cool thing about our new team members is they are tailor made for this office and both fit my ”perfect candidate” profile–passionate about their respective art and practicing it since they can remember.
Ross Abel just wrapped up four years at UT - Austin earning his B.A. in Fine Arts after initially intending to get his degree in computer science. Ross invited us to view his and fellow classmates’ final projects at UT’s Senior Design Show ‘07. For his project, Ross had created a full marketing campaign for a would-be vegan restaurant, Roots. Slick brochures, creative copy, and a wholly inventive project left us excited about having Ross on board, and we look forward to him setting new boundaries for the creative side of TDS. The countdown is on for Ross’ start date in two weeks!
In a serendipitous and chance meeting, Stacy spoke with Lynn Rosier, Westlake High School’s computer science teacher, about our interest in hiring an intern over the summer. He directed an extremely bright and gifted Jeff Wheeler our way, and this 16 year old kid was eager to start programming the day he walked in. Jeff is geekier than our Scott, and lives and breathes code. He visibly lights up when discussing hardware/software integration. In what is sure to be a super relationship, Scott is looking forward to learning from this future electrical engineer, and vice-versa.
We’ll encourage our new guys to post their opininions, ideas, and know-how in the future, so stay tuned!
screen shots
At my previous job there wasn’t much need for developing screen shots to show the client because often times I was the client. Or even when I wasn’t the client, the people I was developing for were so happy to have something, that anything I came up with, no matter how clunky, was perceived as the best thing ever.
Recently, I had to develop screen shots for a client to help nail down what their interface looked like and how it would work. We started with a few screens that I thought were a reasonable approximation of what the client needed. The client even thought the screens were pretty close to what they needed. Over the course of a week however, we scrapped almost all of the original screens and created some new screens that didn’t exist before. This wasn’t unexpected, but it did drive home the point that clients don’t know what they want until you show it to them.
Day 1 at SXSW
Yesterday, we had our first day at SXSW Interactive. Each of us had preselected the web/interactive panels that seemd most interesting to us based on the short descriptions listed on the site. Scott seemed to have found several good/great panels that he found interesting, entertaining, and educational. I was a little disappointed with our first day as most of the panels that I attended either were not very informative or the panelists speaking spent more time plugging their products and very little time actually educating the audience or sharing what they learned during the development of their application/site.
At the end of the day, we realized that this year’s South by Southwest conference is not just about intensive learning sessions and the latest web technologies, but for us as a development team, is more about a renewed excitement and motivation about our own work and current projects. In addition, SXSW seems to be an affirmation that we are doing things right or making effective decisions with respect to most of the successful businesses or applications development companies speaking.
Paying Yourself First
Years ago (that seems kind of funny to say after my seven years in business) when Niall Durham was working with me, we used to talk about spending an afternoon here and there building cool new apps just to test new frameworks, languages, or ideas. But on the planned day, we’d get slammed with phone calls or new business, and our ideas sat on the shelf. For all our planning, we just never got these brainstorm/build sessions started.
Two weeks ago we mapped out a new strategy. Fridays are “fun days.” If support questions or sales calls come in, we’ll temporarily focus our energies on that item. But at the moment the phone call is finished or our client leaves the office, we get back in step with our team project.
Years ago (and this time, I’m talking 20 of them), I worked for an insurance company. The manager, Tom Lindberg, used to instruct us to “Pay yourself first.” This directive referenced putting money into your own savings before you spent on the immediately gratifying things in life. Thunder Data builds software for clients and for our own products, services, and uses. TDS is going to take Tom’s advice these 20 years later and pay ourselves first.
Our dividends will come in a myriad of ways. These are great teambuilding events where we can get excited about bringing an idea to fruition. Implementing new APIs or testing theories in web applications introduces concepts that may take root in other projects. The cool stuff we build may have the wow factor that wins over a new client. And finally, we are creating applications that will add to our bottom line.
With SXSW formally kicking off this Friday night and running through next Tuesday, our old mindset would have placed our creative scheduling on the back burner. Now, we’ll look at the day as an opportunity to gear up for the conference.
Small Victories
With the challenges we have faced with losing key staff members, I’ve had to step up–or perhaps I should say “step back”–and relearn some of the old programming and HTML code that started me off in this business. When I told Scott that I was thrilled with the outcome of my first CSS/XHTML/PmWiki conversion in a long time, he said he needed to experience more of those “small victories.”
Prior to November when M&M went off to Yahoo, I spent such a limited amount of time accessing code in secure shell that I often forgot the password to access it. Now, I am finding happiness in remembering some of the old Linux command line stuff I learned in Dr. Donnelly’s class way back when. Today, I thrilled in seeing the work created playing with opacity and z-index style attributes to create a nice little message box. In short, I’m enjoying the learning process and the outcome of the lessons learned.
Tiny steps? Yes! Small victories? Bigger yes!
Getting It Right
Companies strive–and sometimes succeed–in “getting it right”. Think Apple’s Ipod, Peter Jackson’s “Lord of the Rings,” and Converse Chuck Taylors.
Campbell’s Soup is the maker of Prego spaghetti sauce, and it seems the company recently had a short violin piece commissioned to go with one of the Prego TV commercials. Hearing what was described as a “haunting” melody, I had to hear it myself.
The 30-second-spot score was written with the goal of evoking feelings of nostalgia for listeners. The positive response was so overwhelming that Campbell’s rescored it for a 3 minute download. It really is beautiful in its simple elegance.
But the amazing thing to me was how well Campbell’s nailed their goal. When I played the piece for Stacy and asked her what she thought, she said, “The music reminds me of an elegant ball in the post war years of the 1940’s and 50’s,” then added, “in Italy.” Now, that is getting it right!