ALM Summit 2013 - James Whittaker’s key note – Computing in the new era

Jim starts by talking about the two computing eras in the last 20 years, and then branches into the 2010’s era:

  • 1990’s - Store and compute
  • 2000’s - Search and browse
  • 2010’s - Know and do

He then continued referring to the “Old magic” with the “New magic”. I don’t need to go into the old magic because we have all lived it – but he says cool things about the new magic. It’s going to be based on new radical ways of interacting with your digital world.

Know and do

This era will be based on three things:

  • Data – not the web, but your own index to the web
  • Experiences – “takes the data and weaves into cool things”
  • Ecosystem – Cloud and devices

Whittaker talks about the paradigm switch from generic search to specific “experiences” tied to local knowledge of data, that is, not the web but the personal indexes to the web based on how we interact with it: location, timing, history. Underlying it of course is that “Data is currency”. This all leads to “experiences” in the sense that the data needs to be harvested by app developers with data owners, at a local basis, to design those experiences.

Data is tied to experiences which are tied to data gathering/harvesting to something that is the data ecosystem: clouds and devices. Most experiences are drawn in “canvasses”: space and time. Most experiences can be mapped to both spatial and temporal a relationship, that is canvasses for the experiences to unfold. Example of an experience:

“I need a vacation”. Where would such experience start? Maybe in the calendar, and it does not need to leave there. Whittaker then went into a lot of interesting scenarios such as “Decline all my meetings and show me some flights”. After this your calendar would show flights in the calendar, and as you choose one, then screen changes with suggestions for hotels and discounts – all in the calendar. Plus it shows some recommended activities that you can just pick and have them neatly fit into the calendar. It ends with a nice one-week calendar with a vacation created from an auction system for the best experiences you might want to live.

As a new era starts, Whittaker explained that it becomes difficult for the incumbents. We just started, so the winner is still not know, and he invites us to join in developing new experiences in this new paradigm.

ALM Summit 2013 – session by Peter Provost, “Staying in the Groove”

Peter’s presentation was to me a direct segue from my observations on Leffingwell’s presentation. It was about make programming fun again, to motivate people so they get to that next level where you are looking forward to Monday, to delight your colleagues with the best you can do, where colleagues are friends, where you work hard and play hard. “Have fun!”

His argument is that we need to focus on the long game but not forget the short game.

“Just in time planning, definition, estimation and design are good but people need to understand the roadmap”

So when teams don’t see the long picture teams will be make decisions to account for this uncertainty. That reminded me of “shared vision” that Jim McCarthy talked about: with it you can make short term decisions and align yourself with the long term, have a north to your compass.

Add a personal perspective that gets you excited about “changing the world”. That brings me a reflection on being part of a team, an organization, which provides value to society. Are we helping people be happier, better themselves?

“Tools are important, but not the most important.”

I talked at length about this on my talk at Face to Face, and it seems to be a recurring theme on this ALM Summit. We concurred that “peoples and interactions” are the substance of bringing motivation back to the team. “Tools should be supportive to the process”. If the tool gets in the way, if it brings you pain, if it takes fun of what you are doing then there is something wrong (for those in the Pulse team: Peter is a program manager in Visual Studio/TFS – feel free to send me a summary of your pain, and I will send it to him).

Peter then moved to talking about “Simplicity doesn’t mean stupid”:

Just Barely Good Enough==the most effective possible

Apply this rule to everything in your project, team, tools & artifacts”

This point by Scott Ambler is better understood by looking at the following diagram:


Listening to Peter talk about this is very convincing about the value of this principle – however, I also respect Rebecca Wirfs-Brock as one of the pioneers of Agile, when Agile was not even called that – and she argues the opposite: I will need to think more about this one.

“Beware Unintended Consequences – your team will react to anything that hurts or scares them”

As an example he mentions the expression “don’t break the build!” – developers will react to that (“no one wants to have a toilet seat or crocodile doll in your office ” by imposing restrictions on themselves (check-in less frequently, check-in bigger chunks, which lead to big merges). It should have been stated “You broke the build? OK, but fix it immediately”. Why the short phrase? Because the earlier statement was just too big, “Don’t break the build” is easier to remember. And scare. Another classical example of this are metrics – use them wisely and for your own understanding, because the moment you try to drive motivation based on metrics the team will contort their behaviors to satisfy those instead of focusing of having pleasure from shipping something new.

Well my take on his idea is to think about what the unintended consequences of rules. If they bring the team down, then recognize, think about them, and change them – don’t let them spoil the team motivation because of tradition and legacy imposed on you.

Then Peter talked about Dan Pink’s ideas about motivation, which he summarized as:

· Autonomy – Empower and trust people to make decisions

· Mastery – Give your team members the opportunity to improve and grow their craft

· Purpose – Show them the big picture and their place in it

Funny is that Eric Weber had talked about the same ideas in his presentation (“Scrum and Drive”) during the Scrum Face to Face meeting. And it seems a running theme across the minds of Agile thinkers.

Finally he talked about “Outcomes are more important than processes”. What I understood from this is that at the end of the day, we should think of ourselves not as “cost centers” (especially if you are in IT) but as “business differentiators, as contributors”. It is not nice to be considered from the outset as a burden. Motivation goes down from there. Why stick with this tradition dictated by process when what matters is to motivate people to the next level of excellence?

ALM Summit 2013 Session - Agile Sharepoint Development: The New Open Application Model

Sean Laberee (lead program manager on SharePoint and office development tools) started by describing the impression that most people have of the current state of the art of SharePoint development by asking: what do these have in common?

  • Dentist visit
  • Public speaking
  • SharePoint development

So the purpose of his talk is to show that SharePoint development has become Agile, and most of the pain/panic associated with it can go away.

The main topics were the following:

Office store

  • A nice way to find relatively cheap business apps for common needs
  • Nice sandbox app isolation – apps from store can’t take over SharePoint data without explicit permission

Better App Management

  • Nice interface to manage app licenses
  • Both a catalogue and license manager

Developer sites

  • Able to configure a developer box in no less than 5 hours before, now it takes 15 minutes
  • Microsoft NAPA is a SharePoint app for development that does not need SharePoint – you can start in Office 365 and develop for 365

New Cloud App model

  • provides a simpler, neat model for app development (Office and SharePoint)
  • SharePoint app dev now seamless look like normal web development
  • See more comments below on options for hosting

Continuous Integration Improvements

SharePoint app hosting options:

SharePoint hosted

  • Supported on premises and on office 365
  • Most flexible if you don’t need server code

Auto hosted

  • New Azure website and SQL Azure DB per app instance
  • Best suited for store apps for office 365

Provider hosted

  • Use any provider to host your web server
  • Support on premises and on office 365
  • One server supports all instances of the app

He finalized by mentioning that this talk is about making SharePoint more like normal web development – that’s why not much of SharePoint was shown in the presentation. I agree: it looked a lot more Agile in the sense that it flowed naturally, no snags/impediments that normally come from infrastructure. I will finally go back to the dentist, err, SharePoint development in the near future.

ALM Summit 2013 - some thoughts on keynote by Dean Leffingwell

Leffingwell’s presentation was on Scaled Agile Framework (SAFE), and an explanation on Lean applied to software development. He showed how Scrum fits neatly with Lean principles:

“Scrum is founded on Lean

  • Cross functional teams
  • Time boxes to limit WIP
  • Sprints provide fast feedback
  • Empowered, local decision making
  • ·Colocation reduces batch sized and communication overhead

XP is quintessentially Lean [etc]”

Also while talking about applying WIP constraints he mentioned the following:

“Timeboxes prevent uncontrolled expansion of work making wait times predictable.”

This to me resolves one of those artificial conflicts between Scrum and Lean/Kanban: that timeboxes are not useful anymore. Leffingwell provides a very fresh view on a subject that tends to get polarized once in a while.

However I am still pondering if ideas that have origin in manufacturing are fully applicable to an intellectual endeavor such as software development. To me the bottleneck is managing creative people so as to raise in them the motivation to do their best work, and excellence follows naturally. Lean seems to me (at this point of my research) more on the side of getting out of the way the hurdles caused by administrators that imagine that they can manage developers as they manage robots in a factory floor. Queuing theory understanding helps alleviate the burden caused by managers that want to over-optimize the external measures of efficiency, such as hours, backlog size, etc., that is, physical coordination.

Don’t get me wrong, this is useful to put some restraints on the “Office Space” manager kind. However, the effect on motivation is just to free up the mind of the developer so they can have the ideal proposed by Kent Beck as the “40-hour work week”, that is, the effect to me is essentially cleaning up the road. The road trip has yet to be done.

I was listening again to Jim McCarthy’s presentation on how he achieved a “shared mindset” with the Visual Studio team. That was real motivation, the kind that can make a developer, who is just doing their minimum to get-by until he finds something better, into someone who can be ten times more productive only because now he is motivated to do so. This is the kind of productivity management the software industry needs today, and will always need.

News from Face to Face meeting at ALM Summit 2013

The Face to Face meeting this weekend (Jan. 26-27) was as usual packed with information I will be digesting over the next few weeks. Here is a list of the sessions we had, all provided by the Professional Scrum trainers present at the meeting:

  • Simon Reindl - Scaling Scrum using TFS 2012
  • Todd Greene - Standing on the pillars of Empiricism in Hostile Waters
  • Gary Pedretti - Using the PSD as a Springboard to Teach Cross-Functional Team Behavior
  • Ken Schwaber - The State of Scrum - A discussion of news, events, and developments in the broader Scrum community. This includes topics of general interest to Scrum experts.
  • Alexandre Mac Fadden – Agile Estimation
  • Jeff Hunsaker - Measuring Agile Success – Providing Proof
  • David Starr – Fine tuning feature/increment relationship for release planning
  • Charles Bradley - Help a PST Newbie
  • Clementino Mendonca - Method drives tool: Enacting Agile/Scrum in ALM tools
  • Stacy Martin - The Impact of Expedient Team Storming
  • Richard Hundhausen - PSD .NET Retraining
  • Victor Hugo de Oliveira - Developer Training Approach - Going Undercover
  • Erik Weber - Scrum and Drive
  • Scott Anderson – Business Analysts vs. Product Owners – striking a balance in the team
  • Chad Albrecht - The Agile Development Trinity

So those are not the typical meetings where you just sit in the back and passively watch: in a Scrum Face to Face we are all invited to actively participate. With every presentation it transpired the ideal of contributing to the “improvement of the profession of software development” .


A couple of highlights:

Ken Schwaber, one of the creators of Scrum, presented on the current state of things. is now working on CIF (Continuous Improvement Framework) to help companies establish an ongoing improvement cycle by getting a baseline understanding of where they are in relation to other companies, then drilling down on the sweet spots for Scrum practices adoption.

Richard Hundhausen worked with us through the latest version of the Professional Scrum Developer course. There are great improvements to the content, and reading it by itself is already very enriching.

The PDF for the course will be made available to the public, but to get the most value out of it the best is to attend a course with a Professional Scrum Developer Trainer. That’s when you get the experience of going through 5 sprints and a real scenario of software development, not just the fake “game experiences” you usually get from Agile/Scrum course.

Not that you don’t get value out of those, what I mean is that with the course you get the real feeling of being part of a development team that is readily applicable to your life the next day after the course, no need for translations from the game world to the real world.

Finally, in my session I presented on “Method drives tool: Enacting Agile/Scrum in ALM tools” where I talked about the fact that a lot of tool “marketecture” going around has been usually claiming great savings, cycle time reductions or benefits from adopting this or that tool/tool feature. In reality most benefit is coming from changing the way the team works, that is, by adopting an Agile method such as Scrum.

The tool automation/enactment add-on benefits come on top of those. In my experience they are in the order of about 10 to 20% of overall improvement, and that 80% comes from just changing the way that the team works – even if you keep the same tools. Some tools such as TFS provide Agile practices “canned” into them (and therefore claim those savings) just by the way they work out of the box, which by default change the way a team operates.

However if there is not a conscious understanding that the process is also changing, it leads to friction as old habits get in the way and drive down those savings/benefits/cycle time reductions, which get relegated to a few workflows while overall the team continues to operate in a waterfall manner.

As I go back to think again on each presentation – they were so rich – I will be sharing my thoughts on the topics as well. It will most likely be after the ALM Summit starting today.

TFS vNext at the Austin TFS Users Group

 This Friday I will be presenting on TFS vNext with fellow ALM Ranger and MVP Bob Hardister at the Austin TFS Users Group. We will be covering: 

  • Requirements elicitation and review: story boards and stakeholder feedback
  • Agile project management: support for teams and a completely reworked team web access
  • Cool developer features for local workspace, code review and check-in: Team Explorer replaced by "Team Navigator" 
  • New exploratory "Agile" testing features: less reliance on formal test cases

We will be doing a drill-down demo using the TFS VM from BUILD conference. To get this version go to Brian Keller’s blog for complete instructions.

See you there.

ALM Summit Trip Report

This week I am participating of the ALM Summit. We have a great attendance of a diverse audience, comprised of ALM leaders in several Fortune 500 companies, plus Microsoft ALM MVPs and ALM Rangers. All the presentations have been great in pointing to upcoming ALM trends. I will be summarizing my perception on those in a few posts as I do this trip report.

The first day theme was on “Agile Acceleration”. The day started with Ken Schwaber’s key note “ALM & Scrum - Necessary But Not Sufficient for Agility”. In this talked developed the following reasoning:

• Agility Is Necessary

• Empiricism and Transparency Are Necessary for Agility

• Scrum and ALM Are Necessary for Empiricism and Transparency

• But, That Is Not Sufficient For Agility

So what else is needed? His answer is that Agility requires organizational culture change, and therefore Agility requires an organizational change program.

That implies assessing the current state of Agile adoption, providing training to cover the gaps, and other incremental culture improvement steps. Finally, Ken said that “ALM Is As Good The Culture”, that is the same toolset can be in several different ways, and not always are all appropriate. The culture has to internalize Agile if ALM is to be used in an Agile way.

Brian Harry continued with a retrospective of Visual Studio evolution. We revisited the well known themes of VSTS 2005 and 2008, which in essence were to bring transparency through streamlined data capture across development activities. These versions set the standard for the competition to follow in integrating the development tools beyond the usual “after the fact” (or “after acquisition”) strategy of others: Team System was built integrated from the ground up, not just assembled from existing parts. Smoothing the communication between Developer and PMs was the main goal.

The theme for Visual Studio 2010 became to smooth the not always clear relationship between developers and testers, to break the silo/glass wall that prevents straightforward resolution of issues and to eliminate the endless game of “bug ping-pong”, where each party tries to put the ball in the other court instead of focusing on collaborating towards the common goal of shipping the product.

Dev11, the next version, will be now focusing on streamlining the feedback loop between customers/users to developers and the rest of the team. It’s been well known that while you could always use TFS to do requirements management (if you don’t agree, just think on the fact that MSF CMMI could always satisfy the Requirements Management key process areas) but on the other hand there was always room for improvement. This is the coolest moment for Visual Studio because the Forrester CHAOS reports have always emphasized that poor requirements management is one of the main cause of the dismal rate of project success across the software development industry.

Visual Studio 2010: a more mature platform for your ALM efforts

VS 2010 was released today, and it has a great many novelties on the client and .NET Framework aspects.

What calls my attention though is that we are now one step closer to fulfilling the sense of ALM 2.0 – an integrated, transparent environment where traceability among all of the aspects of software development are tied seamlessly and as a result a much better experience to live, and to manage:

  • The new Testing Tools tie directly to the project data warehouse repository, bring the testing experience to new heights of sophistication and connectedness, and helping to break the “Testing silo” that many companies have been thrown into due to inadequate tools;
  • Work Item Tracking now allows for hierarchical linking, a much requested feature, and ties neatly into Microsoft Project;
  • The Architecture Tools moved one step closer to the same ideal integrating with Work Item Tracking;
  • Build Management gets one step closer to the dreams of Release Managers everywhere by providing a Gated Check-in, and enhance scalability with the new notion of build controllers;
  • New Branch visualization tools make it a lot easier to manage complex merge scenarios;
  • We are closer to Application Portfolio Management with the ability to connect multiple TFS installations by using team project collections;
  • Lab Management, when it is ready later in 2010 (you can use it today with a go-live license), will be the cream of the crop of this rich release as it will for the first time push the ALM boundary into Operations, something that had been announced in 2005 and finally comes true.

Cheers to the Product Team for this great release, and to us as well for the amount of time it will save us!

Drinking from the fire hose – a retrospective

This year has been such a continuous wave that I am still catching my breath. How do I start?

I had a brief stint with the MSF Team (now called VSTS Process Team) that finished in October 2007. I wanted but couldn’t stay – my family is not yet ready to move from sunny Austin to cloudy Seattle. Maybe in the future. I joined the ALM team in MCS in early December 2007, as it was a natural follow up to the work I was already doing.

With ALM team my first work was on I presenting the talk “Using Key Performance Indicators (KPIs) to streamline development” in December and January of 2008. I also helped in the internal review of the SOX whitepaper.

In January and February I went a lot to the West Coast, both North and South, and was able to meet with a several development teams newly adopting TFS. I couple of them were still getting out of the woods in using waterfall SDLCs. In one of the cases, it was not because they didn’t know about Agile or iterative/incremental software development, but instead the platform and tools they were using imposed a waterfall structure, and not just at a governance level, but at the day to day development activities. What if took you a month and a half to create new build because your product consisted of a 4GL that generated 15K+ (that’s 15 thousand!) DLLs? Unsuitable technology trumps Agility. (For more on that, take a look at Kent Beck’s paper on “Tools for Agility”.)

I also had the opportunity to review and help recover a couple of projects with issues. One of those issues was a lack of understanding that the adoption of better practices in ALM has a cycle of its own. Tie it to a major development project with a different objective, and it will be run over. Choosing a proper pilot for ALM adoption is a major decision that if left to whimsical decisions taken in a tactical mode will derail both projects, the major application development and the ALM process improvement one. This has been by far the biggest cause for failure in adopting newer ALM practices.

In February, right after our internal TechReady event I went to the Netherlands to teach a workshop in MSF Agile and MSF CMMI to Europol. I was impressed by the quality of their development expertise. It doesn’t seem an isolated case but rather similar to other areas of Europe. MSF CMMI adoption seems higher in Europe than in the US. The message that it is possible to apply CMMI to an Agile process has been understood at heart over there.

Meanwhile back in the US I was at a customer helping them develop a customized version of FDD for TFS. FDD was well suited for their process as they were creating a major application framework to be reused by hundreds of other applications. An architectural design cycle fit it like a glove. It also reminded me that given the diversity of the original Agile methodologies, that there is no clear cut answer to process adoption. You make the process work for you. On that I subscribe to Alistair Cockburn’s philosophy of “a process per project team”. It’s the same as in life -  living things are not exact copies. They exhibit variances here and there. There is enough to see that they share a common inheritance, but the uniqueness of time, location, team and project makes them individuals with their own identity.

Then in mid-March Ajoy Krishnamurthy called me back to help represent Microsoft at SEPG 2008. For the first time I saw a reversal in a trend I had been observing since 2005: there were many more young faces at the conference. For 3 years while I was covering both the Agile and SEPG conferences I had the following experiences: I would feel old in the Agile one, and young at SEPG (the cynics will say I just got 3 years older, so now everyone seemed younger).

It seems that the renewal approach from SEI has been paying off, and its support to out of the box thinking in connecting Agile and CMMI is also bringing new faces to the table. Among others we had Microsoft’s input with David Anderson’s revolutionary approach in MSF CMMI. At SEPG 2008 I met [again] David Anderson and Hillel Glazer, who would by November last release with other SEPG members a widely circulated paper on Agile and CMMI.

I delved deep for the next 10 months in the deliveries of the ALM team:

It’s been a nice mixture of consulting, training and coaching. A common trend has surfaced from talking to so many different customers in so many different situations:

  • Public or semi-public companies currently have their sweet spot for ALM process improvement in adopting TFS as a source control tool, and look forward to implement some sort of Release Management discipline.
  • Private companies have implemented TFS as a SCM tool a while ago, and are now moving into adopting TFS to manage their Application Project Portfolio. Aside from the occasional new project,  they have a standard set of developed applications that are mostly in maintenance, and need a place to track change requests and bugs. They are almost Agile, but are held back by siloed requirements/change request “phases”. On top of that, there is rarely the concept of a multidisciplinary Agile team, with the same team member fulfilling all conflicting quality goals which leads to a tactical prioritization of customer needs.
  • ISVs have a firm grasp of their process, and are primarily concerned about using TFS to achieve more productivity by establishing a Metrics program as part of a wider ALM optimization effort.

This is of course based on just my experience with a few dozen customers, and I can name several exceptions already. This induced perception however has led me to realize that I have had the privilege of getting first hand experience in improving over ALM baselines, at several adoption phases and at different levels of maturity. Having been part in implementing those steps has definitely helped me in assisting other customers as it is now easier to weave them into a continuous path for improvement.

So the “fire hose” is in reality this incessant learning experience with customers all over the place to enact improved ALM processes using Team Foundation Server. More than that: I feel like I have been watching, from the first row, the dawn of a new way of working with software development using the Microsoft platform. It reminds me the old days in 1996 when VSS was a novelty. “So you don’t use source control? Here’s VSS. It will double your productivity”. And it made a difference. After a couple of years, you couldn’t call yourself a professional developer if you didn’t use some kind of source control.

And today the same is happening with ALM 2.0: a few years from now, you won’t be called a professional developer unless you have a set of integrated tools that will finally make the overhead of capturing project management metrics a thing of the past. Better and more transparent tools such as TFS will fade in the background leading to the enactment of that Agile pillar principle: Individuals and interactions over processes and tools.

Implementing SOX with TFS

I touched on this topic on a previous post in December, when I mentioned that Andrew Delin from the VSTS Process team was working on a comprehensive whitepaper to be delivered sometime in 2008.

And here it is: Sarbanes-Oxley 404 and Visual Studio Team System 2008. There isn't a one-size-fits-all solution for SOX implementation with TFS, but this paper provides the guidelines that will allow you to sort out the many implementation options. Enjoy.


<<  March 2018  >>

View posts in large calendar

Month List