Wordpress iPhone app!
It’s so rad that you can update a Wordpress blog from your iPhone with their slick new app! Maybe I’ll update more often now!
It’s so rad that you can update a Wordpress blog from your iPhone with their slick new app! Maybe I’ll update more often now!
PerfDan… it’s a lot like IronMan. Or SuperMan. Or Kikkoman. It’s a lot of responsibility ensuring that the world’s most critical applications provide a good customer experience… however, somebody has to do it. Won’t you join the performance engineering army? We need good engineers to make some real change in the software world. Let’s make some performance enhancements today!
I’m feeling a little bit nutty this afternoon. A little bit crazy if you will. I think I’ll go throw a few thousand virtual users at some code and see what happens. I’ll wager on bad performance and poor scalability.
Not really.. I just haven’t had a lot to write about lately. Somebody please email me with an idea for something to write about. Got questions about performance problems? Anything goes… something performance engineering related, management related, leadership related… Ill even entertain questions about how I’m able to make a head of hair with a receding hairline and widows peaks still look cool.
You’re right, it doesn’t look cool. But I like it.
It’s review time. The economy has been tough this past year, but there’s always a good market for top talent. It’s the time of year when you need to reward your highest performers and retain them, and when you need to deliver a hard message to those who aren’t helping your company perform.
Most people have heard of ‘differentiation’. This concept comes from the Jack Welch school of leadership. You can read more about it here (http://www.welchway.com/Principles/Differentiation/The-Case-for-20-70-10.aspx), but the general gist of it is that you reward your top 20% of performers with way more than your middle 70% and make them stand out. You train and grow your middle 70% because they are the next highest performers, and the bottom 10% should be managed out (in no uncertain terms).
But how should this be applied to large companies? That’s what I’m struggling with today. If you have a 10 billion dollar company with 1000 people, and 100 of those employees generate 8 billion of your revenue, should you reward them more than the other 900 employees in the company? Like Mr. Welch said, the TEAM with the best players should win, right?
In my opinion, if you want to practice differentiation, you should:
1) Define your policies and be consistent in their application
2) Be transparent about how the process really works so everyone knows what’s going on, how people are really graded, and what it takes to get to the top.
Differentiation can be a complex topic. As a leader, I have seen many high performers not being rewarded nearly as much as they should be, and many under-performers getting off easy because of poorly applied standards. Managers should be responsible and be clear about how performance is assessed.
What if some managers build teams that have have 80% of the team as the best performers in the company? Should you be able to truly reward 80% of that team as outstanding or does that leave too much manager discretion?
This is a challenging area.
Yesterday I took part in a project 360 where all of the leaders on a committee reflected and talked about what went well and what could have gone better. The project being discussed was our annual technology conference that we had organized. It went off without a hitch, and in tough economic times we actually met the drastically reduced budget numbers that were set for us. Folks are calling it the best technology conference in our company’s history… and we did it with reduced budget and 175 less attendees then we had last year.
As each committee member talked about what went well, the resounding theme that stood out was that we had people with the right talent and mindset on the team. The particular conference is organized by volunteers, including the committee leads and their teams. Yet over and over I heard about what people were doing to make this ‘volunteer’ effort go off and it really reminded me of how important top talent really is.
Top talent can be relative to your industry and to your company, of course. However, some traits really stood out to me during our 360 that helped make this conference the best ever.
These traits were so instrumental in making this volunteer effort produce a world class conference. We had an all volunteer committee with very important day jobs at one of the world’s largest software companies. Yet this conference which was for employees only was better than most industry conferences I’ve been to! It had virtual broadcasting around the world to our offices, a cyber cafe, a full stage with a great design, killer audio, tons of breakout sessions and tracks, badges, maps, registration process that rocked, everything! For 3 days!
Think about the type of people it takes to pull something like that together in their spare time. Those same qualities are the ones I would look for to build any team. People who truly embody these traits, along with some solid leadership, will always produce great results.
I figured that a great place to kick things off here at staticspark would be with my own personal point of view on performance engineering in general (naturally, since I’m really self-centered anyways and enjoy listening to myself talk). As I’m sitting here glancing over some of the more popular websites and organizations dedicated to performance engineering, I have to ask myself “why in the world do all of these folks make performance engineering sound so complicated?”
I’ve deployed over 100 sites that I would call pretty big names and played the principal performance engineer role on most of them. Among those are sites that do billions of dollars in online revenue. Doing this did not require an advanced degree in statistics, strict discipline in QA with respect to code coverage and McCabe complexity analysis and yada yada, membership in MENSA, or any of that noise. Most of performance engineering is common sense.
Many organizations have absolutely no performance operation at all, and I truly believe that with a little common sense and some baby steps, you can make a huge impact on your software performance and reliability. This may sound overly simplified, but I believe that it truly is simple: Identify some critical areas in your application to test, test and record the results in a good solid performance lab that gets you repeatable results, and repeat that cycle build-to-build and during scaling activities. As requirements grow, you can built on that foundation, but every element I’ve ever used and reported on in performance testing has had obvious importance.
I would wager that 90% of all applications out there have simple metrics that need monitored, simple functional areas of the app that need performance tested, and you can go from nothing to a solid and reliable performance operation pretty quickly. I failed algebra my freshman year in high school… performance analysis isn’t that difficult. If I can do it, anyone can do it. It’s not important to generate an intricate report that shows the rolling standard deviation of every page during every second of a performance test if you can’t answer the simple questions that performance testing should answer. Questions such as “do I have a bottleneck at certain levels of load?”, or “can I scale to 2x the expected load”, or “is my performance getting better or worse between releases?” Even the most basic reports from LoadRunner or SilkPerformer can’t be shown to your managers, directors, or heaven forbid a VP. Performance engineering results and the value of performance engineering needs to be framed simply in terms of how it impacts a company’s engineers and customers.
Test in a straightforward way, frame the results with respect to the customer experience, and you’re on your way to world class. Start small. If you don’t have anything at all, then getting something simple in place is better than where you were before. Many times in performance engineering, that small amount of effort is all you need to make a huge difference.
So if you’re here, and you’re thinking to yourself “wow… looks like a brand new site, there isn’t much here”… then you’re absolutely right! I just brought this online, but don’t lose hope. Bookmark it or grab the RSS feed, and check back here often. I will be adding performance engineering content at a pretty good clip starting this week so it should beef up pretty quick.
Thanks for coming by! Comments, questions, and discussion topics are totally welcome. See the about dan page for contact methods.
Cheers!
Oh snap. It’s definitely on, now! I am really excited about getting the site and running. It only took me 9 years in performance engineering to finally get around to making this happen. Hopefully I haven’t forgotten all of the useful stuff I learned along the way.
More to come very soon!