New Models in Warehousing and PaaS
February 29, 2008
Is a column-oriented database the optimal format for a warehouse? Database pioneer Michael Stonebraker thinks so. InformationWeek reports Stonebraker’s assessment that a column-oriented database improves warehouse performance 50x, and the larger the warehouse, the greater the gain. Why? Warehouses typically store transactional data. Where a row of data stores many pieces of one transaction, the typical row-based DBMS would retrieve all rows then aggregate the selected column, a column-based DBMS would not require the same overhead of row processing. Because column information is generally of similar format, columns could also gain compression and storage efficiencies. Interesting thoughts. How viable is a column-based platform? I’m not sure, but Vertica has secured $23.5MM in venture funding to find out.
At the same time Sybase has funded column-based research since the mid-1990′s. An also-ran in the database world, Sybase saw revenues up 70% last year “because the column approach yields better query performance,” says Sybase Engineering VP, Richard Pledereder.
Column-oriented DBMSs require rethinking the data and indexes because the transaction is not the central idea. Instead, the data architect must think in terms of collections of similar records, and subject based indexes rather than transactional element indexes.
One company, Sonian Networks, archives e-mail for other businesses housing data in Vertica’s data warehouse on Amazon.com’s Simple Storage Service. Which segues into the platform as a service model. Sonian expects its warehouse to grow from a few terabytes to a petabyte sometime in 2009. And to deliver, Sonian relies on infrastructure hosted elsewhere. Sonian develops the warehouse platform and releases to a hosted environment. Their clients never miss a beat and always have the most up-to-date platform. Which reminds me of the Salesforce.com platform-as-a-service model.
If you haven’t heard, Salesforce.com, Oracle, and Google have partnered to bring PaaS to an application near you. In this model you can develop business solutions on the Salesforce.com APEX platform that targets every end-user device without having to develop custom code for each device and, drumroll here, without having to manage the infrastructure behind the applications. Right now companies must manage the intricacies of their infrastructure along with devoted staff to ensure users can perform their business functions. With PaaS, your company can continue to narrow it’s strategic and tactical focus to the services and business solutions that matter, and can offload the infrastructure responsibilities to partners who effectively do this. Okay, we’ve heard that before. Yes, except that Salesforce.com signed up 100,000 customers soon after its announcement. With a goal of disrupting the Microsoft model of software delivery, we’ll see where this goes.
- Andy
So You Think You Have What It Takes
February 28, 2008
I work with this amazing marketing guy, Dave Bowman. I call him Mr. Dayton because he knows, well, everybody in Dayton. He changed my life in about 1/2 an hour teaching me the farther reaching concepts of social media and how to market myself. Anyway, Dave is looking for 2 undergraduate students to fill Marketing Coordinator positions at our offices in Downtown Cincinnati. If this can grow into an internship or a co-op position for you, let’s talk and determine how we might be able to do this.
Let me tell you a bit about the position. Our Marketing Coordinator will fill a critical role in the execution of integrated marketing campaigns. Okay, what the heck does that mean? The Marketing Coordinator adds to the success of the LUCRUM’s Sales and Marketing team. You’ll support our sales and marketing efforts. How? You’ll assist with items direct mail, marketing fulfillment, database management, web management, blogging, social network development, market research, proposal development, event coordination, sales support, and more. Imagine that. You get paid to blog. In fact, it will be part of your job description.
If you have great communication skills and are looking for a cutting edge marketing opportunity, please apply. Really. We’re looking for folks with “can do” attitudes and a hunger for learning by doing. If you are the right person, LUCRUM will work around your schedule needs to make this fit for you. And I can promise you that you’ll walk away from LUCRUM with an amazing ability and some astonishing new skills to market yourself when you’re done.
You’ll be communicating with a broad range of individuals from co-workers to CIOs, so you’ll need to write well and have a solid phone and speaking presence. You’ll manage small projects from start to finish, so you’ll need to have command of your personal time management habits along with a demonstratably strong work ethic. Don’t get me wrong. This is no cushy job. We’re going to squeeze 8 hours of work out of you during your 4 hours here. You’ll also leave with bleeding-edge personal marketing skills and business relationships that could help you land your dream job out of college.
LUCRUM is not constrained to Business or Marketing majors. If you think you have what it takes – and you’ll want to really think about that first – please take the time to introduce yourself to us. We are looking for 2 great people that we can employ, and in return offer some cutting edge skills to help further your career. If you want to give this a shot, complete the contact form behind the Contact LUCRUM link at the top of this page and let us know how to get in touch with you.
As stated earlier, the position offers tremendous schedule flexibility. Each of the 2 candidates will be expected to work 2 to 3 days per week for approximately 4 hours per day. Ideally we will find one candidate to work on Monday & Wednesday, and another for Tuesday & Thursday – with Friday being used as needed.
LUCRUM will pay $10/hour and reimburse downtown parking costs.
You can find additional information about LUCRUM at our website, www.lucruminc.com, and more information about the people of LUCRUM right here on these pages.
Recession-Proof Your Software Development Career
February 28, 2008
Some time ago I answered the LinkedIn question, “What does networking mean to you?” Suzette West, a west-coast real estate broker, asked the question, and she marked my response the best answer. Here is how I responded:
For me, networking is local. Although I have global and regional reach through LinkedIn and social networking sites, my most valuable contacts are local. Local, that is, through my sphere of influence. Folks I reach out to gain some level of immediate trust due to my proximity to them, whether geographical or relational. Then, it’s up to me to take the first step and add value.
Because most of my most valuable networking relationships are also geographically local, part of my next step is a face-to-face meeting. Connecting with the best-of-the-best becomes very difficult without a face-to-face meeting. Of course this takes time, effort, and generally some small amount of money for coffee or lunch. And when we meet I’m looking for ways I can offer them value. If my colleague understands networking, I’ll quickly receive value from them. If not, then I’ll follow up our conversation with email or a phone call when I have the ability to offer more value. Eventually my colleague will catch on and begin offering value to others as part of the cycle.
So my philosophy towards networking is, “What can I give?” I view my role as building community and bringing others together. I subscribe to the notion of what goes around comes around, and I’ve been amazed more than once at what has come around to me when I’ve least expected it. I suppose another way to look at this is, those who are the luckiest work the hardest.
That’s what networking means to me.
Networking is having value and then giving that value away. It’s serving. It’s mentoring. Networking is sharing for the benefit of others. It’s looking for ways to help without an expected reward. Suzette and I share this philosophy and have since become long-distance friends encouraging each other’s networking activities.
I look to serve the Cincinnati IT software developer community. My goal is to strengthen this community and make it a place that people want to be a part of. I devote most of my time and energy bringing folks in this community together. And I’ve been able to watch a number of other folks do the same thing.
I especially look around at local developer events that take place about 10 times a month and think of folks like Mike Wood, Kishore Subramanyam, Mark Windholtz, Melissa Messersmith, and Marco Morena. These folks lead local user groups and spend countless unseen hours organizing, preparing, and presenting in order to bring the most valuable information to our local community. Why? Because they believe in our IT community. Do they ask for thanks? No. In fact, these folks usually give things away at their events on top of all the time they spend. Because they are givers.
Here is a snippet of an email that Natasha Allie recently sent me:
Networking is defined as developing an extended group of people with similar interests or concerns who interact and remain in informal contact for mutual assistance or support. It needs to start well before you need something. Indeed, it is a continuous long-term proposition that’s about building positive win-win relationships. We live in an unpredictable world. We don’t know when a recession will hit, if we’ll lose our job, or if a contract will be cut short. We don’t know if our skills will be relevant or if we’ll outgrow our current careers. Having a strong network helps us deal with those eventualities. A network is a safety net. If you’ve done your job well, developed relationships, given more than you’ve received and kept in touch, your network will have no problem helping and supporting you when you need it most. Eighty-five percent of all jobs are filled through personal references and contacts. It’s how you meet future clients, employers, life long friends and business partners. It’s how you find amazing employees, unearth tremendous opportunities and learn how to transition your career. It’s also how you establish information avenues, solve problems and mentor other people. Networking accelerates your career and business success.
I don’t know how accurate the statistics are, but I do know that software developers generally don’t pay attention to their network “well before [they] need something.” And many do not spend time, at least professionally, giving to their network more than they receive. My understanding may not be entirely quantifiable. My first-hand experience is. I attend quite a few of the Cincinnati IT community events, and I probably meet or see a total of 200 people a month. I would bet this is about 5% of the total community.
So my admonition, especially in the face of a recession, is to start to understand networking. Get out there and give of yourself a little. You have a job today? Great! That is the best time to start. So you’re introverted or shy? That’s okay, too. Find me at an event. I’ll start a conversation with you. I’ll also introduce you to the folks you should probably get to know. Consider yourself having an insider that wants to show you the ropes. These events give the developer community an opportunity to network together, branch out, and build relationships outside of their glass-walled corporate towers. I bet you’ll see that you’ll be welcomed. And when you *need* your network, you’ll be glad you came.
- Andy
How do you read technical articles?
February 28, 2008
How do you read technical articles? Please comment and give suggestions!
After almost 25 years of marriage, I still love the way my wife engages with a book. Her formula is easy. Pick it up. Turn to the index. Find something that is interesting. Read till she is bored. Go back to the index to find more interesting stuff. Read some more. When the excitement is over, the book is done. No order, simply passion driven. Of course then I am left with a short and fairly focused list of; how to communicate with your wife, how to make time for her, 10 steps to treating her like a princess – just like you used to, how to have six pack abs, and so on …
I have come to realize that I don’t read linear. I am more like my wife. It doesn’t take much to grab my attention, but it takes a ton to keep it. There is an enormous amount of information out there and some of it is relevant and a tiny bit is revolutionary.
Specifically about technical reads, here is how I go about it…
Step 1 – Print it out. I don’t know why, but I read best when I have it in my hands. I don’t read a lot in to this such as; I’m a tangible learner and need to hold it to be felt or Having it in print makes it real. I simply think that I need to print it out because its convenient for me since I am multi-tasking. Plus, I have good intentions and make the decision to read prior to me actually reading, so I take it on the go. Or maybe its simply because I am in my 40s and the preferable reading distance is a variable arms length. Whatever it is, its cumbersome on my laptop.
Step 2 - Read the first few paragraphs to get a context of what the author intends. I don’t want to waste my time. If it fits with my needs at the time, I go to the next step. If not, then I drop it.
Step 3 - I turn every page and look for conceptual models, visual representations, graphs and charts. If it doesn’t have any, then I can only read a page or two – if it didn’t hook me by then, I pitch it.
Step 4 - Once I find the cool things (models, charts, etc…), I then try to get my head around them and piece them together to determine what the author is trying to get at. If a picture is in fact worth 1,000 words, then a picture saves me 10-15 minutes. To me, the conceptual representations and visuals must stand on their own. If so, then they are true and you only needs words if you go to the next level. If they are not true or overly complex or just plain ugly, I assume that the author doesn’t know what (s)he’s talking about.
Step 5 - If it’s a keeper, then I save it in to my file system that is organized as follows:
…Articles/Read Articles/
- Architecture (EA, SOA, etc…)
- Business Intelligence
- Data Management
- Data Quality
- Governance
- Master Data Management
- Metadata Management
- Personal
- Program Management
- Other Stuff
- Strategy
- Stewardship
- The Social Side
- Tools
In addition, I highlight in yellow all the really good concepts, ideas, funny statements, game changing methodologies etc… I also mark the articles up with pen, making notes like – “right on buddy” and “need to make sure we do this” or “Jim does this, suggest that he try blah blah blah”. These mark ups are quick and focused. The funny part is that I then save everything electronically. Ok, when I say everything, I really only mean the original article. I actually recycle the paper and loose all my markups. Knowing this and the fact that I take copious notes, but to date have almost never really read my notes, leads me to believe that this exercise really solidifies my thoughts and brain storage of memory. I don’t take them to refer to them later. It works for me.
I am also always thinking and asking myself…
- How does this make me (my business) more efficient?
- How can I apply this to my business?
- Are my competitors doing this? When will they do this?
- How can I tweak the concept for an unrelated solution (thus making it unique and game changing).
- Is How would I do this?
- Is there a better way to do this?
- How can I leverage this information?
- Who can make use of this?
But what I am really curious is, how do you read? What motives you to stay engaged? What do you like? Hate? What questions run through your mind? How much time do you read/research new things per week? (about 30 min. a day for me).
Turning the page,
~ Scott Felten
Run IT as a Business: Part 1, Why…?
February 27, 2008
So I picked up the rough piece of wood and the even more rough piece of sandpaper. I am thinking to myself; my dad’s loosing it here. Wouldn’t I use something smooth to smooth out the wood? I was 9, I was wrong and of course, Dad was right. I stored that bit of information for future use; it takes rougher things to make rough things smooth. Not sure why, it just works.
Fast forward many years and many innovations. We find ourselves in a strange marketplace. Technology has advanced greatly, prices have dropped, capabilities abound. But, more importantly, the mystery of IT is gone. No longer do we have two classes of people; those who “know computers” and “those who don’t”. No longer can IT go away for a year and bring a solution to the business and everyone is happy. The business has called our bluff. Everyone knows technology…better stated; everyone has been assimilated.
Now the challenge for IT: How do we exist? This is rule number one, the rule of self-preservation.
Let’s set the stage properly and call it what it is. Within a company, IT is a monopoly and monopoly is bad for everyone. Decomposing this brings us through the following:
- Single source for anything is called a monopoly. A monopoly means there is no competition and this is bad. My daughter recently hurt her ankle playing soccer and needed an MRI. If we were in Canada or France, the average wait time for an MRI is months. This is because their governments have a monopoly on healthcare. Since there is no monopoly here in the US, we simply asked who was the best, how much they charge and who could see us right away. After all, these companies are competing for my spend. It turns out that we could been seen right away. The place was new, the staff was friendly and the rates were competitive (we have a high deductible policy and are incented to ‘shop-around’).
“Competition is rough! Yes, well stop whining. Sandpaper is also rough, but look what it can do to the wood!” S.Felten (you can quote me on that
)
- Not having competition, IT is left unchecked. Without sandpaper, the wood remains rough and unfinished; it doesn’t look pretty and it can actually hurt you when handling it. When IT is left unchecked, it is left to its own perceptions of strategy, tactics and operations. The best that IT can do is to rise to their own level of understanding and take on the characteristics of their leader. They approach the business from the comfort of their passions and toolsets, holding on in emotional ways to their solutions that they birthed in years past. In rare occasions this is ok. However, most of the time the value that IT brings is not calibrated to the value that the business needs.
- Unchecked IT bloats in the areas of Time, Money and Service. Competition works on every aspect of the iron triangle (Time, Scope and Money) – keeping them in check. Left unchecked, IT has the tendency to slip on time to market for solutions. Without the urgency of someone nipping at your heels, you tend to walk when you could run. Since IT is already budgeted and accounted for, what is the cost? Cost gets lost when you don’t pay cash. It’s hard to see the real costs for IT since they are spread out between divisions, projects, programs and departments. Finally, the level of service is hard to keep high when you don’t “have to” incur the pain of customer service; lets face it, we nature tells us to avoid pain.
- The business must move forward and often goes around IT. When we first heard of outsourcing, admit it, we panicked. You’re going to let who do what? We all get frustrated when we hear of shadow IT groups popping up in marketing, finance, operations, etc…IT has a genuine concern and desire to use their powers for good, to make things better, faster and cheaper, to dispel the powers of evil. These are noble goals, but we have to think at the enterprise level. IT for IT sake is not valid. We must partner with the business at the most intimate levels. Did you hear the one that goes:
Q. What’s the difference between a data architect and a terrorist?
A. You can negotiate with a terrorist.
Let’s face it, we need to compete to stay in existence. But we also need to remember that this competition is good. Remember the sandpaper – we all want a quality, finished product that is both nice to look at and doesn’t hurt when you touch it.
Next post: “Run IT as a Business: Part 2, How?”… Coming soon.
Happy Sanding!
~ Scott Felten
The Magic of the Dash (BI, the journey)
February 25, 2008
My wife and I and our three daughters lived 12 hours from her side of the family and 10 from mine. Family is very important in our lives and we always have made the choice to stay connected. My daughters are all teenagers now and one thing is for sure, I have learned a lot on those drives.
Maybe it was the fact that I was the only male in the family or maybe it was personalities, but when I would look at the situation – we are in Virginia Beach, Virginia now and we want to be in Toledo, Ohio by tonight – I focused on the destination; Toledo. I focused so much that I would try anything to keep that van moving forward (and oh did we have a van, a Volkswagen Vanagon, the Wolfsburg edition with the pop-up table and rear facing seats). I figured that we would not stop for bio breaks for at least half way. Any stopping for food was strictly against the plan. We brought food and supplies. On occasion we visited the drive-thru. Of course being outnumbered, I was often outvoted. I still remember the times, having lost the vote, sitting at the rest area in the food-place of choice; Everyone was smiling and talking; sharing stories and thoughts, but not me. I was too busy looking out the window…looking at all the cars I just got done passing and wanting the chance to pass them again…wondering why in the world we are not moving towards Toledo, the common goal.
I was a slow learner but over the years, I came to understand the magic of the dash. You see in any journey, there exists a dash; that little mark between the starting point and destination. I wrongly spent my energies focusing solely on the destination. I learned that the journey, that little unassuming dash, is where most of the magic actually took place. For example, consider a person born in 1963 who lives to be 90 years old. There will be a dash on that tombstone; 1963-2053. Guess what, neither of those dates really matter much, do they? No, the real magic is that dash – for that is where living took place.
During our many trips, that dash has built our family solid. During those dashes we talked about each other’s strengths, what made them, them, we traded many jokes, described the young men my daughters would one day meet, talked about the meaning of life; we laughed and we cried, we grieved and we rejoiced. The dash calibrated our lives, helped us understand each other and best of all, built solid relationships. And when we got to the destination, we were ready. We arrived as a family united to take on the world!
The job of unhiding data is a noble venture and a good destination. However, it is also a journey and one that can end with new revelations about your business, new relationships, greater understandings about your products and services and much more. This new information can help you maneuver the business to deal with the actions and reactions of the “economy of competition” – ensuring success! The great danger is to focus on the destination without reconciling that the dash exists. Remember, the dash is where the magic occurs; opportunities where your business can be strengthen and united.
As the pursuit of business intelligence begins, it reaches the momentum of excitement quickly. However it soon comes crashing down because of the realization that; we don’t actually have customer information anywhere, or we have several versions of them, or customer information exists in many places and they are defined and used differently and they are ‘owned’ by different groups who haven’t spoken since 1981. We also find that there has been changes in the way that recognized revenue was accounted for, because Julie quit in 2006, so prior to that, partial work in progress was excluded but corporate made 7 changes within the first two quarters of 2007. From there we find that our processes are also dependent on Jose’ who must manually enter and maintain a massive spreadsheet with many tabs and hidden rows that he inherited from someone. Worse, all of production is riding on this spreadsheet and no one knows how to use it and he has not been on holiday for 3 years and is beginning to look haggard. And so on.
Welcome to the journey of BI.
Being prepared and understanding the dash before entering your BI journey is vital to your BI success. When we actually get to the destination, we want to make sure we are ready. In BI speak, ready means that you have the right information, sourced from the right data, delivered to the right people, the right way and at the right time. Where will your dash lead you? For sure, the dash will lead you to opportunities to understand, fix and ultimately strengthen your business.
Working backwards, some of the places that you might visit along the way are:
Master Data Management. It’s like the big ball of string on Route 66. You just have to stop and look at this one. In the realm of data, there exists certain core data domains that are so important that their value is abstracted above any one program or system’s use and set at the enterprise level – where there is a good chance that no one will own it! Any data that is duplicated or pivotal for analysis or just very important may exist here. As you unhide data, an MDM initiative can help to eliminate redundancies (that is often suffering from data quality issues) and elevate this data from the muck and mire of operations to the grand visibility of a corporate level asset.
Metadata Management. It’s like the Grand Canyon – it means something different to everyone and how did it really get here – could it have really been caused by that little stream? Above the realm of data, there exists a level of enlightenment, where few know the real truth. But that is just it; everyone needs to know the truth. As the complexity of the data ecosphere increases, the strategic role of metadata management must increase as well.
Data Governance. It’s like visiting Washing DC. You know what should happen inside those buildings, but you are just not sure they are really doing what needs to be done. A data governance program stood up by IT and lead by the business is key to ensuring that the business has a framework to manage the quality and strategic direction of data.
Data Policy. When you experience Niagara Falls, you know that there are massive amounts of activity happening even when you are not there. This is the point of having a data policy. When there is no ‘data evangelist’ around, what happens. A data policy sets the benchmark and is vital to extending IT’s area of influence.
Data Principles. Just like that bottle of snake oil from the wild wild west, people will buy anything. If you don’t stand for something, you will fall for anything. Having real principles ensures that the foundation of data is real and solid. The challenge here is to lead a team to the development of these principles and having them be reflected within their DNA.
Written mathematically:
BI Value = (Anticipation of the dash * Opportunities) / Excitement of the Journey
Travel safe,
~ Scott Felten
No Whammies! No Whammies! Stop!
February 24, 2008
There are two words that can strike fear in the heart of the most seasoned of managers: PERFORMANCE EVALUATIONS. But why is that? Companies spend countless dollars each year training their managers on how to do evaluations and refining their performance evaluation systems, but has any of it really made it easier?
When it comes down to it, we as human beings, no matter how many courses we’ve taken, or books we’ve read, we are just not “wired” to give very direct, honest feedback. Think about it. How many times as child did you say something brutally honest only to be told by your mother “that’s not a nice thing to say”?
How many people go home at night to their spouses and initiate a conversation something like this: “honey, I need to give you some feedback on how you’re performing as my significant other”? Sounds crazy, right? (Can you predict how that feedback would be received?)
And yet, that’s what good managers are supposed to do for their employees on a regular basis. It’s only fair to let people how they measure up to the company’s expectations- not to mention that it’s typically the basis for performance increases.
The consulting environment adds another quirk that most corporate managers do not face with the same regularity- and that’s the challenge of managing people that we may never work with directly. In the consulting environment, most of our managers are billable consultants first then managers second. They typically maintain their own client engagements which may never cross paths on a daily basis with their direct reports. So how do you provide feedback on people you don’t work with everyday- or whose work you don’t supervise?
Forget annual evaluations! In my opinion, performance feedback- both positive and constructive- should be given monthly. Yes, I said monthly. And, yes, I know how much work evaluations are to do annually. And yes, I know how busy everyone is with their “day jobs.” But, even in an informal fashion, monthly feedback will help to make the annual evaluation a review of the year versus the annual WHAMMY that most evaluations turn out to be. An employee who has received nine to twelve pieces of feedback on their work has headlights as to what is working and what needs to be adjusted in order to meet the company’s expectations.
When it comes to evaluations, a good manager knows what they don’t know, and seeks input from others in order to provide the most accurate feedback to their employees. They seek out client opinions, colleague opinions, perhaps even peer opinions- even if it means bucking the internal HR systems a bit to do so (apologies to my HR brothers and sisters out there!).
At the end of the day, giving direct feedback will never feel especially comfortable to most of us. But most people don’t like surprises- especially when it comes to their performance evaluations. No matter how you give the feedback- formal process, casual conversation- it doesn’t matter as long as you are giving your feedback frequently. So leave the WHAMMIES to the game shows, and don’t even think about giving your spouse their performance evaluation!
February PMI – It’s A Cow!
February 24, 2008
Mmmmm mmmmmm good. I love the PMI meetings. At last week’s meeting they put out a dinner spread that puts most to shame and make their event an EVENT! I shared a table with a number of folks including PMs Tom Hoffmann, Cory Beimesche, and Juthika Pal from Cardinal; Kim Beckman from the Cincinnati Insurance Company, and P&G’s Brian Van Norman. We shared some engaging conversation about the fact that mainframes will never die, SOA and its promises (which reminded me of Chris Howard’s comments about the immaturity of the SOA in the enterprise lifecycle), and the growth of Cardinal.
Scott Cameron, P&G’s Global Process Owner over Project Management, presented on the Fear of Failure. Presented might be a loose description as he engaged us in some group events and had us standing and presenting back to the group. Scott had us identify two personal fears, talk about them, and then demonstrate a couple of ways to relax the emotions involved with the fear. He started by asking us to ask ourselves two questions: when speaking 1) what makes us apprehensive, and 2) what are we confident about. For me, the answers were 1) can I convey the subject matter in a way the audience will enjoy, and 2) that I could connect with the audience. As all the groups presented it became clear, and then Scott validated, that none of us are unique and that we all have these fears when presenting to audiences.
So the next question became, “What am I going to do about it?” Scott helped us answer this question by helping us identify with the physical fearful responses most of us experience. One of the attendees compared his feelings of fear to the butterflies he experienced as he lined up for the start of a race. The idea here is to try to identify and associate the fearful feelings of presenting with feelings we’ve experienced in other areas of life, and then to realize that we’ve conquered them before.
Scott gave us some tools to begin to overcome our fears. First, he helped us realize, or more likely validate what we probably knew but couldn’t admit, that audiences like to listen to speakers that act like they want to be up in front of the room speaking. And then to practice with that vision. Scott asked us to list out our fears, prioritize them in terms of their importance, and then start working on the top 2. Going further, an audience needs to understand they are part of the conversation and not allowed to listen passively. A speaker needs to set expectations of the audience and get them on board. For instance, if the subject matter will generate questions, you can let the audience know that they will be expected to chime in with responses. And finally, it’s important for any speaker to realize that the audience usually wants the speaker to connect successfully with their audience.
Scott showed us that we can make tactical choices that will make our presentations more successful. Then he launched into a story:
[Paraphrased from a badly mangled memory] “I critiqued a colleague’s presentation. His slides were full of so many details. ‘It has an udder. It eats grass. It grazes in a field. It produces milk.’ And on and on. After only so many details and slides I said to him, ‘It’s a cow! If it’s a cow, why don’t you just say it’s a cow?’”
Obviously, the first point is to limit a slide deck to just the message being conveyed. If you’re not sure, then ask someone else to review your deck and make recommendations. Get rid of all the slides that contain the gory details. Some other tactical choices a speaker can make to help their success are to be well prepared on the subject matter, pray (as if you don’t before a big speech), practice, start on time, and don’t put up columns of numbers, as the audience will spend more time adding ‘em up than listening to you.
The workshop format helped us all internalize the lessons. Overall, Scott taught us a lot that evening.
- Andy
Tata – Taking Another Look
February 23, 2008
We’ve all known for some time that Tata will be moving into the old James River facility in Clermont County. The non-verified understanding is that Tata will hire 1,000 new workers, a mixture of software engineers and developers as well as sales and administrative staff. Tata has been talking with the local colleges to create curriculum and programs to churn out new IT workers. And that was my perspective at first – churn. Like a Pepsi bottling plant churns out cola-filled aluminum cans.
For me, personally, I saw this as a good thing, as all the run of the mill, average software developers could find themselves good, steady jobs that could keep them gainfully employed and out of the way of the creative and driven developers that really want to make a difference. Those 1,000 software professionals could go on supporting Citi and Neilsen and the cream of the crop would flock to the smaller consulting firms and the more creative applications that come their way.
I read something this week that doesn’t necessarily change my mind about how I see Tata finding their employee base and where they fit into the community, but did cause me to see some very positive aspects of having Tata in our community. BusinessWeek explains that Tata “in all its deals…has been careful to signal its respect for workers,” and “buys companies overseas not to reduce costs but to improve [its own] capabilities.”
When Korean Daewoo’s truck division was on the auction block, Tata explained “it would preserve jobs, build Daewoo into a major exporter, and blend the outfit seamlessly with the parent company.” Tata Daweoo chief Chae Kwang Ok said that “Tata had done its homework in everything needed to do business here.”
Apparently charitable trusts hold 66% of Tata Sons’ shares, and these trusts are not “as focused on short-term gains as most investors” and “have long insulated employees ‘from the greed that is sweeping the corporate world.’” If this philosophy permeates the Cincinnati organization, the Cincinnati IT community may find a very good neighbor helping drive growth in the region.
- Andy
February CINNUG – I *Feel* Dumber
February 21, 2008
You ever work someplace that blocks access to Yahoo! or Google? Please, allow me to repeat this. It’s important. This is an IT blog. You, as an IT professional, have you ever had to do your job in an environment that blocks access to Yahoo! or Google. Uh…yeah. It’s happened to me. It’s happened to a lot of us. I generally see this happening to consultants because of the security risk. Okay, good argument, “I’ll hire you, Mr. Consultant, and I’ll give you access to the tools you need to do your job so that you can rob us blind, ruin your own reputation, and never find work in this town again.” Besides, consultants are the experts and they shouldn’t need “tools.” Never mind that [F1] takes you to a website anymore.
I’ll stop. And restart. Tuesday’s CINNUG (.NET User Group) took information exchange to a new level. We’ll get into that in a minute. But first, I wanted to tell you about Susan Papert, a local KForce senior developer. What a great person! This was her first meeting, and she walked away with a really nice VisualStudio-branded laptop backpack during the swag give-aways. No, I’m not bitter that I’ve been attending for months and have only ever received a t-shirt. Okay, that and a Microsoft FLASK, yep, a Microsoft-branded alcohol flask, but that’s another story. Susan was quick to chime in and made herself right at home. In fact, she described the meeting as a much more positive experience than she expected. The evening’s subject matter had three experts comparing and contrasting, say, seven-ish version control platforms, and the discussion could have easily degenerated into a bash-fest with 43 people in the room. It didn’t. Anyway, Susan reminded me of my experiences not having internet access at a client site [shudder...]. As Susan’s co-workers stood around discussing “the situation,” the conversation went something like this:
“Hey, why do you think they’re blocking internet access?”
“To keep us dumb.”
“Is it working?” [pregnant, ponderous pause]
“I FEEL dumber.”
After I wiped the Pepsi off my nose and sleeve, I thanked Susan for a great conversation and adding some life to the party. Susan, it was a pleasure meeting you.
Hmmm…I have a feeling this one’s going to be a long one, so you may want to go get yourself a cup of coffee before continuing. I’m sure you’re not reading this at work, right?
So, I also ran into one of LÛCRUM’s software architects, Rich Rayburn, and Clarence Klopfstein (Clarence’s blog), a web developer at Quality Gold. Rich was in my wedding almost 15 years ago, and Clarence and I attended the same church for a while. We still keep in touch off and on to this day. I run the children’s ministry at our church and got to know Clarence’s bazillion children pretty well. I also said hello to Tim Apke, who runs S.S.T. Solutions. Tim and I got to know each other some time ago through Aaron Aude, a mutual friend and senior manager at Centric Consulting. Aaron is a friend and colleague who will soon be leaving the Cincinnati market for the warmer fields of Florida. Good luck, Aaron.
I don’t know how he does it, but Mike Wood continues to one-up himself in terms of the quality of content each month in the .NET User Group. This month he tried something new and put together a panel discussion that reviewed a number of version control products. Justin Kohnen (Justin’s blog), senior software engineer at Triune Software and MCTS in .NET 2.0 Web Applications; Mike Sheilds, Resurgent Capital’s TFS administrator and software developer; and Microsoft MVP and Avanade principle software developer, Nino Benvenuti, composed the panel with Mike moderating. The platforms discussed were CVS, TFS, Vault, Subversion, ClearCase, and VSS. This list was not a formal list. The participants discussed the platforms based on their experience with their use. And that is where Mike has been most valuable in his leadership of CINNUG – he puts experienced people in front of the group that can talk about real-world situations.
We dove right into a Q&A session with the panel with the first question addressing file locking and checkout processes, i.e. optimistic vs. exclusive. In the context of checkout, VSS employed a lock-the-file model where most other products give the developer a copy of the file. So semantics becomes an issue because “checkout” means different things to different products. One note, especially for new TFS users, is that get-latest in TFS is not the expected get-latest behavior. Apparently in TFS when you do a get-latest you check out the file you were using and not the latest versions that others developers may have since modified. You’ll need to ensure you ask for the copy of the file you intend to use.
The conversation meandered a bit as we learned that check-in in TFS will display a conflict resolution window if you had, indeed, made modifications to an unintended target file and try to check them in. And the merge function in TFS works pretty well. The merge process happens locally, and you’ll merge and build before committing back to the repository.
Mike got us back on track and a question was asked about the benefits of merging and how the different platforms handle merging. The panel explained that the benefits of merging, an option that some teams never need to exercise, allows multiple developers to modify the same file and then synchronize their changes in a merge process. For example, in larger classes with many methods, multiple developers could be modifying different methods at the same time. Things get interesting when multiple developers simultaneously work on the same method
The obvious next topic became best practices around branching and merging. The Branching and Merging Primer was cited as an excellent resource. Also CodePlex’s TFS Server Branching Guidance documentation. From the experts’ perspective, configuring source control and development team processes to take advantage of branch and merge functionality requires a tremendous planning effort. Without planning, a development team can easily get burned by the process.
What is a branch was a question from someone new to the concept. A branch is a copy of X number of items from the repository, or trunk, at a point in time. A snapshot. Subversion and Vault handle branches at the folder level. TFS at the file level. Don’t try this with VSS. Most of the platforms required manual processes when branching a code-base. Changes in a branch, say, for critical bug fixes, get difficult to merge back into the trunk if any sizable refactoring effort has been applied to the trunk.
From an experienced VSS user, why is it bashed so often? What’s wrong with it? Most issues experienced with VSS surface with large repositories that don’t get regular maintenance. If you’re using VSS, make sure your administration processes include regular maintenance. 4GB repositories are said to be unstable. That said, experience with 3GB VSS repositories show that weekly maintenance keeps the repository functioning fine. Other comments include the branch process is not pure, the raw functionality is not as robust as other platforms, the platform does not scale well when the number of users approach 100, VSS will move items around after check-in. One major issue that really affects a development team is the network and bandwith issues, especially over VPN, that VSS users experience. You’ll waste a lot of time dealing with VSS in a remote environment. Apparently the latency and timezone issues are fixed in VS’08. Finally, VSS does not implement a transactional commit, so if your check-in fails at the half-way point you’ll have to manually bring your repository to a previous state. TFS, Vault, and Subversion use a transactional commit.
Next, data stores were addressed. Subversion can use the file system or Berkley db. TFS uses SQL Server. VSS, a proprietary file system. ClearCase a database. And CVS a file system.
Cost? CVS and Subversion are free. VSS is free with VS’08. TFS retails for $3,000, but no one pays that price. TFS comes with a 5-user license with an MSDN subscription. You can leave the rest up to MS licensing details that, I believe, take up a wing in the Library of Congress. Vault is free for 1 user and then something like $300 after that.
How much time does setup take? Vault, 30 minutes. TFS single server takes the better part of a day. Subversion could take 5 minutes to 3 hours. Include Apache integration and you may be looking at a day. Although there is a one-click Windows installer for Subversion that does all of the above in just minutes.
What are the pros and cons of File System vs. Database Storage? File system formats don’t require database licensing costs but are also not transactional. Database storage allows transactional commits and provides flexibility in backup and restore options.
What are the client-side features? Tortoise is available for CVS and Subversion, but you’ll need to be aware that you don’t want to use the OS rename feature. Make sure you use the Tortoise rename function. Team Explorer integrates as a window in VisualStudio and is an easy install. Vault integrates with VisualStudio.
So which products integrate with VisualStudio? VSS, TFS, Vault all work nearly identically and fairly seamlessly. ClearCase integration is a nightmare and is also an expensive option.
Can these products automate builds? Essentially all the products implement command-line interfaces and allow scripting automated builds.
What’s in your repository? The short answer – Everything. That way any developer can do a get-latest and be ready to go. Even include tools, like the build of NUnit you were using, so that you can recreate the environment to replicate any build at any point in time. This includes your database objects. If you have a production level bug you’ll be glad you included everything as you won’t need to hunt any items down. Output of the build process is not included in the repository because that’s what the code-base is for. Documentation *could* be included, but that is what platforms like MOSS are for.
An interesting discussion took place around the concept of building FOO against a constantly changing BAR where FOO is your code-base and BAR could be something like a dll built by another team. Consensus is that there is no right answer here and it depends on the organization. If FOO and BAR simply *have* to live in separate repositories, then include the binary BAR in each build of FOO. Another option is to wrap the component and write personal test cases to prove the expected functionality for your use.
How do you handle backup and restore? Hmmm…isn’t that what version control is for
In VSS you kick everyone out, make a copy, and then open the repository again. TFS requires administration of 7 databases along with any necessary config files. Vault requires a couple of databases and a web config. If your repository is on a VM, just take a snapshot of the VM. Subversion you dump and load to a text file. VSS has an archive facility, but it is not really meant as an option to restore from.
Some notes on restore: test your restore process. You can backup to your heart’s content and all your effort and resources would be wasted if you can’t actually restore any of your backups.
Practices for dealing with code common across a number of projects. Consensus here is to manage your code-base, as well as the common code-base, in the same repository. If you need multiple repositories then include the binary releases of the common tools in your repository.
That was essentially it for the panel discussion.
Along with high-quality content, Mike Wood also brings a ton of swag to the table each meeting. This month was no different with a number of timely and relevant books, t-shirts, fleece VisualStudio-branded vests, a laptop backpack, button down shirt, one re-sharper license, and a 2GB thumb drive. No, it wasn’t the XBox or the Zune given away at the December meeting, but it does make for a lot of fun watching Mike give all this stuff away. I think 15 or so items in all were given away. I didn’t get a thing. I’m not bitter.
After the meeting we gathered around some pizza for good conversation. Matt Brewer, technical analyst in Western Southern Life’s Enterprise Architecture division, introduced himself. Well, reintroduced himself. We had been in a meeting together probably 15 months ago at WSL and he remembered me. He got me at my own game. I have fun trying to remember people I had only met once a long time ago. Matt beat me to it this time. He then said, “Do you want to know why we didn’t go ahead with your project?” Cringing inside, suspecting a you-guys-really-screwed-up-x kind of response, I put on a smile and enthusiastically said, “YES!” Phewww, I breathed a sigh of relief when the real answer was that Microsoft extended runtime support for VB6. So, if you’re looking for a good job in VB6, try the financial services firms. WSL isn’t the only one looking to extend the platform’s life as the real ROI for migrating simply isn’t there. And if it is, its usually wizard-based migration. Ugh.
I got a minute with Leon Gersing (Leon’s latest SharePoint musings) who recently moved from Cardinal Solutions to Telligent Systems. If you know Leon, the guy’s brilliant, and this seems like a good fit for him. Congratulations Leon.
Next month at CINNUG Ineta speaker Miguel Castro (scroll down the page a bit) will present on Sexy Extensibility Patterns…whatever that is. Note the meeting will NOT be held on it’s regularly scheduled day. Instead, the March CINNUG meeting will take place on Wednesday, March 12th. There will be no meeting on the 18th.
April 15th will be the [VisualStudio|SQL Server|WinServer]’08 Community Launch event featuring Telligent’s Dan Hounshell (Dan’s blog) and Stefen Kyntchev.
Saturday, April 19th is the Central Ohio Day of .NET. The Central Ohio Day of .NET is a joint venture between the Dayton .NET Developers Group, Central Ohio .NET Developers Group and the Cincinnati .NET Users Group. The event originally was called the Cincinnati-Dayton Area Code camp and ran in 2006 and 2007 under that name. With the inclusion of the Columbus group the event has been renamed to the Central Ohio Day of .NET. The event is a FREE day of technology discussions devoted to helping the local development community grow.
I’ll be attending the Columbus regional VS’08, et. al. launch event on March 20th. Apparently, those who attend will get a license of VS08, SQL Server 08, and WinServer08. You can sign up here.
Check out the calendar of other CINNUG related events.
- Andy



