Agile Project Management: Lessons Learned at Google
In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.
Tracking change and innovation in the enterprise software development community
Posted by Deborah Hartmann on Dec 14, 2007 09:01 PM
We've not heard much about Microsoft's 'MSF for Agile' for a while. In this InfoQ video, Building Better Apps, consultant Kevin Jones spoke at QCon from his experience using MSF for Agile with Visual Studio Team System (VSTS). Using examples from Agile teams, he walked through the layers and components of Microsoft's process and development toolsets, explaining how to make use of their flexible architecture to accommodate a team's specific process needs. This flexibility is a constant theme - is it enough to convince Agile teams to use it? Might be worth taking a look, but read on for some caveats.
MSF for Agile is a reworking of the original Microsoft Solution Framework methodology popularized in Microsoft certification exams of the late 90's.
Methodology is not hardwired into the toolset. For example, a team using Scrum could use the built-in MS "MSF for Agile" template, a third-party Conchango Scrum template, or create their own template for their specific flavour of Scrum.
Although the VSTS client has different Tester, Developer, and Architect editions, the Team Foundation server is designed to handle many project roles within the same process. And in MSF there is recognition that people may wear many hats on a team, and roles are not tightly coupled to activities within the templates.
Team Foundation server includes configurable workflow. The work items that flow through a process are flexible - teams can use the templated work item types, which for Agile are Bug, Task, Scenario, Risk and Quality of Service - or define their own. Teams can organize how work items flow through their process in a way that corresponds to their own philosophy. Functionally, work item handling is not rigid - it's possible for the person doing the work to create their own work item.
MSF's flexible process definition sounds similar in approach to Ivar Jacobsen's Essential Unified Process (EssUP) and IBM's Eclipse Process Framework (EPF). One concern, of course, is whether it's necessary to run a whole customization project to create a process before the real project work could begin.
When Jones gets specific, he generally uses examples from Agile projects. He admits that it's a V1 product, with known lacks, which he points out during the presentation. For example: out-of-the-box, it doesn't support continuous integration, which can be resolved with a plugin. It doesn't support scheduled builds, but there is a workaround. Version control is apparently weak - it supports branching and merging but handle tagging as VSS did, not in the powerful way that, for example, Subversion does. He mentioned the workaround necessary for code review: out of the box, it seems code must be checked into source control before it can be reviewed, but it must be reviewed before it can be checked into source control! A workaround using the code repository to hold a version of the code without merging it solved this for Jones' team.
Jones sounded optimistic about the possibilities for Agile teams using MS tools, and he anticipated resolution to some problems in subsequent versions.. However, this talk was recorded in March 2007, and whether those shortcomings noted have been corrected since then is unclear - Microsoft's Process Guidance page still indicates V1. In addition, subsequent events reported in June drew attention to developments whereby MS tools may be becoming less TDD-friendly. Reader feedback would be useful here - have you tried it? Would you recommend it?
The suite includes integration with a build server, source control, MS-Project, and MS Sharepoint portal, etc.
For teams considering or already committed to Microsoft products, this video provides an experienced view of how to use these tools and may be worth a look. View the InfoQ video Kevin Jones on Building Better Apps from QCon London 2007.
IBM Agile Development eKit: Free Articles, Expert Q&A, Educational Resources
The Agile Business Analyst: Skills and Techniques needed for Agile
Scaling Agile on large teams & Being Agile every day Tracks @ QCon SF Nov 19-21
IBM software architect eKit: Grady Booch podcast, whitepapers, articles
Paragraph 3 refers to the "MSF for Agile template" for Scrum. Given that this is Microsft's interpretation of Agile, this is, no doubt, an MS-Word template?
I believe the MSF for Agile "templates" are a set of work items, roles and processes allowing a team to use MS's version of an Agile process. I don't know how closely their Scrum template approximates what's taught in the CSM, though.
Deborah is accurate with her description of how process templates are implemented within Team System. Process templates FAQ. It's expected that an enterprise will take the OOtB template and assuage it to accommodate the local process. Also, Conchango produces an independent, free SCRUM for Team System process template. This is the only Team System SCRUM template I'm aware of.
Thanks Jeff. Are you familiar with both the Conchango plug-in and the CSM course? Can you tell us how closely they match?
In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.
In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.
It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.
In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.
In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.
Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.
Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.
In this talk from QCon SF 2007, Justin Gehtland explains two open solutions to distributed identity and their Rails integration components: OpenID (using ruby-openid) and CAS (using rubycas-client).
4 comments
Reply