As I have been working with a developer group responsible for maintaining softwares using Agile methodology and XP practices, I am writing some blogs at my employer’s blog site based on the experience we got while working with some maintenance projects. If you are interested, please take a look at Agile Maintenance|Xebia Blog
Agile Maintenance
Agile Maintenance – One Team Multiple Projects
You may land up in situations when a project is almost stable. For developers handling issues and enhancements for the project, the work available is not sufficient. So, when team is comfortable with the project and it’s already stabilized, team can start handling another project at the same time. It’s good for the people working in these projects from learning perspective. They are exposed to multiple technology stacks, problems and functionality. At the same time, it works well for an organization in general.
[Read more…] about Agile Maintenance – One Team Multiple Projects
Knowledge Transfer in Agile Maintenance Projects
When you think of inducting a new developer in existing project, it’s relatively easier to do it in an Agile software development project than in a traditional project. The atmosphere and programming culture is entirely different here compared to any traditional project. Instead of people working in isolation and being responsible for assigned tasks, people here work in a mode where frequent communication across table is necessary. Instead of one person being responsible for assigned tasks, the whole team is responsible to complete it.
The mantra is efficient communication and more interactions. So when a new developer enters the Agile project (Scrum + XP based), pair programming, communication across the table makes a person comfortable with the new project environment. Instead of going through bulk of developer’s handbook and design document, conversations help to bridge the gap. However when you need to really need to refer some documentation, it’s always there. Also new developer continues to develop on top of whatever existing team has built on. So you see, knowledge transfer is seamless and relatively easier compared to any traditional project.
[Read more…] about Knowledge Transfer in Agile Maintenance Projects
Preparing for Agile Maintenance – Knowledge Management
When you think about documentation in Agile software development, most of the times it talks about “just enough” which definitely makes sense considering the thickness of design documents in traditional software development. The Agile mind specifically thinks what actually is required in terms of documentation.
Agile software development also gets translated into efficient communication, collocation and sitting in one room or same table and having conversations whenever there are issues. Some of the XP practices like pair-programming helps a new joinee to come upto the speed when she joins the project.
When you talk about effective communication and resolving issues in a team as and when they arrive, you lead towards a situation in which knowledge resides in the heads. People may not feel the need of documenting in detail as they seem to know everything about the project. You may end up in a situation where a new team doesn’t have “enough” documentation to begin with in maintenance phase. That’s why when one talks about “just enough documentation”, that “enough” word needs to be quantified.
[Read more…] about Preparing for Agile Maintenance – Knowledge Management