p&p Dev Manager BLOG

  • Adventures in Tablet Land

    I have already confessed a love of gadgets. My preference is for good ones that solve my needs and are cool.

     

    My main laptop for the last few years has been an instance of the superb Dell D800 series. (The D810 fixes many of the niggling issues with the original D800.) For heavy weight tasks like development, product demos, Visio diagrams and so on it’s a great choice.

     

    Earlier this year I found myself needing access to my calendar and contacts instantly without opening my laptop. I was doing a lot of schlepping around the campus of a athletic gear company here in the Pacific North West. I purchased the very cool iPaq HX4700. It handled my needs very well for instant calendar and contacts, but increasingly I longed for full PC functionality in a lightweight machine.

     

    I have been watching the tablet space for the last few years and had been sitting on the sidelines waiting for an offering I found compelling. Unless a gadget has a feature that really hits my need I generally wait a generation for things to mature. This summer when Lenovo introduced the ThinkPad X41 Tablet I was intrigued. It appeared to have the core features I needed: very light weight, good battery life, decent CPU and RAM and a reputable manufacturer. Gee whiz features like finger print recognition were cool but not on my must have list. I decided that I had found a perfect companion for my motorcycle trips and campus roaming here at Microsoft. I plunged in and placed an order.

     

    So, I have been using my X41 for a few months now. Here are my impressions. The weight and battery life are great. The tablet features are pretty cool. The combination of a tablet with the fantastic OneNote (yep that is a shameless plug) is amazing. The next version of OneNote is even better. The real challenge for this machine is the hard drive. The internal hard drive is a 1.8” form factor. IBM sold their hard drive business to Hitachi a few years ago and since I haven’t opened the case to check I am assuming the drive in the X41 is from the TravelStar CK460 Slim line. If you look at the spec you will see the RPM rating is 4200. Being used to the TravelStar E7K60 and its 7600 RPM rating in my Dell this slower drive has been a disappointment. So far all the 1.8” form factor drives from any manufacturer have similar performance specs. The slow drive access is a real performance killer. The machine performs well with all the usual applications, but anytime you go to the disk the delay is quite noticeable. Until the right form factor drives are available I will have to live with it.

     

    Next time: My experiences with fingerprint authentication.

  • There must be food

    Do you have a “constitution” or some other guiding principles document for your collaboration space? I have found that a short list of shared values for the team working in a collaboration space can be a valuable tool. It allows new team members to quickly get in the groove and reduces friction among team members whose personal tastes may be in conflict.

    One of my favorite rules is “There must be food.” Having been on a bit of a get healthy kick lately I might modify this to read “There must be healthy food.” What ever your choices be they Oreos and Licorice or fruits and vegetables I think you will find this a popular and useful principle.

    The opportunity to take a small break and wander over to the snack table while contemplating a tricky bit of coding can be invaluable.

     

  • Openings on the development team

    Like all good managers I am always scouting for top talent. You never know when the stars will align and you need to add to your team. Right now I do have an opening on the team. The official job posting is here.  

    I will be at Seattle Code Camp on Sunday. Both Peter Provost and Brad Wilson from the p&p team are presenting. So if you are looking to talk informally with any of us about what it its like to work at p&p this is a great opportunity. 

     

     

  • No more War Rooms!

    No I am not off my rocker or renouncing my beliefs and experiences with agile practices. I am a fan of precision. I like well engineered gadgets, cars, motorcycles, and systems. I prefer that our use of language is chosen with care to convey precise meanings. The term “War Room” is commonly used to describe a team collaboration space. Unfortunately teams generally go to a “War Room” during unusual activities – a bug bash, a production problem, a security breach. All of these are a crisis event. This is the root of why I don’t like the term “War Room.” For movie fans the quote from Dr. Strangelove is very apropos:  

    “Gentlemen, you can't fight in here. This is the War Room!”

    I believe the default state of a development team should not be in crisis. The natural state of a productive development team is in collaboration. This is accomplished by having the team do the majority of its work together. One of the most effective ways to facilitate this is by putting the team in a common shared space. Calling this space a “War Room” commutates the team is in crisis when it isn’t, or shouldn’t be.

    So what should this space be called? One of the neat things about language is that sometimes precision is emergent – it takes time and use of imprecise terms to get the collective social consciousness to reach agreement. I have seen these spaces called “Team Room”(bland), “Collaboration Space” (unwieldy), Pit (short but certainly not sweet); the truth is that the term “War Room” has what an oenophile would call good mouth feel. I am hoping that a good collective term becomes emergent soon.

    If you have a better term please drop me a line. I would love to hear it.  

    Now playing: Antigone Rising - Hello

  • Development jobs in patterns & practices

    Have you ever thought about working at Microsoft on creating guidance with patterns & practices? Do you want to work on a team with Peter Provost, Scott Densmore, Brad Wilson, or Jonathan Wanagel? What about working with p&p architects like Ed Jezierski, or Wojtek Kozaczynski, or Ward Cunningham?

     

    So what does it take to make the cut? In p&p we produce guidance for our enterprise customers. A track record of solid enterprise work lets us know you have the customer viewpoint we need. We produce our guidance using agile methods so a good history of using practices like Test Driven Development, Pair Programming, Continuous Integration, Iterative development, etc. is also something we look for. And of course, a deep understanding and experience with .NET development is core.

     

    I anticipate opening a position for a Software Development Engineer soon. And even without an open position it never hurts to let the hiring manager (me) know of your interest. I am working to continue building a world class team of developers. Let me know if you want to be on the team.

     

  • Space News

    I am a big proponent of agile software development methods. The combination of software engineering discipline and lightweight project management processes has been very successful for many projects that I have been involved in. I tend to be a bit of a closet methodologist and I am very interested in the characteristics of different methodologies and successful implementation strategies. If you are looking for a good discussion of software engineering methodologies I recommend Balancing Agility and Discipline: A Guide for the Perplexed.

    The p&p group in general uses development practices inspired or adopted by the agile community. When implementing these techniques it is common to focus on the process and tooling when implementing agile practices. Often the relationship of the physical space to the effectiveness of the methodology and the productivity of the team is not a major concern. The team is generally forced into making ad-hoc modifications to their space configuration or settling for a “good enough” solution. Herding the team into a large conference room and buying snacks seems to be the common solution. Acquiring a shared resource like a conference room that is dedicated to a single project team requires painful justification with the facilities management.

    Here at Microsoft the notion of one brain in one office has been enshrined as a central tenet of facilities planning and administration for 15 years. This is largely based on research around how an individual achieves the state of thinking called flow. Interruptions to flow are seen as the ultimate evil and to be avoided at all costs. In this model software development has been viewed as a solitary and focused effort requiring a private space to operate at peak efficiency. The agile community has challenged this notion with practices like pair programming, common ownership, and continuous integration. The agile premise is that if you can get a team into a flow state you can get a greater amount of productivity than if you got each individual into flow state.

    Obviously to achieve this team flow state you need a team communication mechanism that supports good communication types and limits bad communication types. The physical configuration of the space can help or hinder both good and bad communication types. Our goal will be to create spaces that promote the flow state by enabling good communication types and hindering bad communication types. This of course is not the only aspect of achieving enhanced team productivity.

    You might find interesting parallels in the alien dog packs in the 1991 Hugo award winning novel A Fire Upon the Deep (Zones of Thought) by Vernor Vinge. The aliens are not sentient as individuals but in small groups they can form a sentient intelligence. The trouble is they use sound waves to create the personal area network that enables the emergence of a sentient intelligence. This has certain proximity implications. For example, two packs can’t maintain their sentience if they are too close to each other. The interference from too many sounds removes the cohesion necessary to maintain sentience. When we try to co-locate two agile teams in the same space without sufficient sound considerations we can see both teams struggle to achieve flow state.

    So stay tuned as we embark on this journey to create spaces that promote agile practices and prove that they improve our productivity.

     


© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker