Wayne Allen's Weblog

pragmatic agility

  • SD BP - Aligning Software Development with the Business

    Increasing revenue and decreasing costs are types I've dealt with commonly. The cost of staying open was a new way of thinking about certain problems for me. The example he used was the need to upgrade a database server from an older version to a newer version. Typically I've had a hard time arguing the value of such a project. Now I have a way to think and explain why we might want to do such a thing. One of the audience members rightly pointed out that this is really a risk decision. Do we want to stay on the old version even though it is no longer officially supported (risk) or do we want to upgrade (different kind of risk). The other point that resonates with me is the identification of the value of not doing something. I don't think enough businesses think about opportunity cost. For example the other day I was involved in a discussion about an upcoming meeting with 4 people to discuss whether an extra $400 software license should be purchased. Just looking at the $100/hr burden rate for those employees was enough for me to justify just purchasing the license. Even more significantly the opportunity cost for those employees is in the $300/hr range. I'd much rather have those people producing value.

  • SD BP - Extreme Hiring

    The Extreme Hiring talk was interesting, and I think I'll take away a few idea. Some of the concepts were (admittedly) specific to Ternary's business model and hiring needs. Here is an outline of their process:

    • Candidate find job ad and reviews website
    • Candidate applies for job
    • Technical Assessment
    • Technical Phone Interview
    • Personal Phone Interview
    • In-person interview (day 1)
    • In-person interview (day 2)
    • Job offer
    This by itself is clearly more effort than many companies go through, but the interesting points are that cultural fit and talent are more important than skill, resumes are optional and secondary, candidates must write code, and candidates must work in a team. Brian put a lot of emphasis on hiring for cultural fit and talent over skills since you can add investment to improve skill, but fit and talent aren't as easily improved. He did admit that skill becomes more important as your ability to invest decreases. He also talked about having the candidate solve a coding problem and then submit it as a discussion point during the technical phone interview. This is something I've been experimenting with for a number of years now. My original concept came from Johanna Rothman back in 2003 when she recommended auditioning developers (and testers). I've moved from having candidates pair program with me, to having them program with me in the room as the customer to sending the problem home with them after spending some time on it during the on-site interview. I think I am going to switch to giving it before the technical phone screen as a way to thin out the crowd (both from a level of effort required and the clear indicator of the kind of programmer they are). Something I haven't done in the past that Brian does is elevate essay questions above resumes. He makes candidates respond to six(!) essay questions as well as provide a cover letter. Optionally he allows candidates to include a resume. Clearly this isn't something most HR departments will be comfortable with. The questions are oriented to expose cultural fit and talent. You can see the current set of questions here. The final unique technique is the group simulation he runs on the first day of in-person interviews. He brings in 4 candidates, gives them a problem to solve, some equipment and infrastructure and lets them go at it. He says that by lunch everyone stops trying to keep up the interview persona and really gets down to it. Brian doesn't use this technique if he is only filling one position, but since he is regularly looking for teams this works well. Anybody ever use anything like this? Anyone ever gone through an interview like this? Like it? Dislike it?

  • Wherefore Art Thou?

     Indeed it has been "a little while" since my last post, nearly a year in fact. Where did the time go? I have been busy (surprise, surprise).

  • I will be speaking on continuous integration at Microsoft's Patterns & Practices Summit October 9-12 2006

    One of the fundamental practices of agile software development is continuous integration. CI in its simplest form is about building your software reliably. The secret sauce of CI is that it decreases the size of the feedback loop allowing you to respond to problems sooner. Come explore how to add more information to your feedback loop through advanced topics such as testing, installers, static analysis, 3rd party and internal dependancies. We'll not only be looking at the good stuff, but alternatives and problems that can creep in.

  • What Do You Need To Know?

    Time to vent. I’ve been trying to hire a couple of senior developers on a team that is primarily building a web based framework (i.e. software for developers). I have some minimal expectations for a senior developer that I don’t think are all that outrageous.