Pair Programming is an Extreme Programming (XP) practice where two developers collaborate on the same code on one workstation. In this blog post, Yan Pritzker provides an experience report after his first nine months of pair programming. On the positive side of pair programming, he lists quick knowledge transfer, improved productivity and higher quality code. The disadvantage of this practice are a tired voices, difficulty to research and learn, need for space for creative activities, longer time spent on trivial tasks, possible issues with sharing the same configuration for the development environment. His conclusion is that “pairing coupled with an extremely pragmatic approach to knowing when not to pair is the key to success.”
Learn how to achieve multiple team collaboration in large scale software development projects. Self-organization is a key concept for all Lean-Agile methods. However, as projects expand across the enterprise and, more specifically, cut across multiple teams, teams clearly can’t just organize in any way they want to. A blend of top-down direction with bottom-up self organization is needed. Lean provides the insights necessary for teams to self-organize within the context of the value stream within which the teams work. A top-down perspective, created by driving from business value, can provide insights on how teams must organize and work together.
This short blog post by Len Lagestee provides some advice on how to coach a ScrumMaster with a struggling team. You first observe and ask questions to the ScrumMaster to understand the situation. Based on his answers, you can assess your options and determine if you need to teach, mentor or encourage him.
We all know about the wide-ranging dysfunction of a traditional document-centered UX practice, such as the impossible-to-maintain always-outdated big specification documents. Adopting an Agile approach to UX was supposed to make all that pain go away. But for many, it has instead only led to replacing old dysfunctions with new ones, such as “feeding the backlog beast,” “agilefall,” “sprint tunnelvision,” and the half-baked UI, to name a few.
Visual Studio Team Foundation Server (TFS) is the collaboration platform at the core of Microsoft’s application lifecycle management solution. Scrum can be implemented in TFS using the Microsoft Visual Studio Scrum 1.0 process template from Microsoft. This article provides 25 best practices to start using Scrum in a TFS context. This practices deal with all practical aspects of the Scrum framework : sprint estimation, backlog management, user stories management, meetings, etc.
When you borrow money you end up having a debt. A loan must be repaid. When you cut corners in your development, you end up with a technical debt. Technical debts also need to be repaid. Avoiding amortizing your technical debt and instead increasing it will result in a code base that rots. A code base that rots is a bad code base and it will slow down development until it finally grinds to a halt. Building up a technical debt isn’t something that happens over a night. It is the sum of all shortcuts made during development.
In this blog post, Ilan Goldstein shares a list of things to do for successful Scrum sprint reviews, both before and during the meeting. Amongst the important points mentioned, there is the management of expectations, the brief mention of the impediments and improvements of the team. He also discusses the pressure to show “almost finished” user stories, how to deal with off topics questions or remarks and how to balance the fun and serious feelings that sprint reviews should convey.