Showing posts with label Scrum. Show all posts
Showing posts with label Scrum. Show all posts

Friday, June 15, 2007

Agile software development - eScrum by Microsoft

Here we have another great news, Microsoft has just release a new tool called eScrum to keep track of all SCRUM related activities in agile software development.

eScrum is a web-based, project management tool for SCRUM which will be the part of Microsoft Visual Studio Team Foundation.

PS: Previously all SCRUM lovers have used an offering (add-in) provided by Conchango (UK based consultancy) to manage SCRUM development, which works really well with Microsoft Team System.

Get one FREE here………
http://www.microsoft.com/downloads/details.aspx?FamilyID=55A4BDE6-10A7-4C41-9938-F388C1ED15E9&displaylang=en

Tuesday, June 5, 2007

MSF or SCRUM in Agile Software Development

Recently I had long discussion about usage of MSF or SCRUM in Agile Software Development, and I found lots of different opinions on this in the community.

So first of all I would like to explain what agile software development is all about.

Manifesto for Agile Software Development

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

So what's the difference in achieving these using SCRUM or MSF; let’s have a look

SCRUM
Scrum provides general guidelines to the software development where the key objective is to achieve a set of prioritized shippable features within specific time limits (typically 30 days sprint) by putting primarily focus on team interaction and to adapt fast changing requirement in business process. So scrum is focused on

1. Team interaction
2. Prioritizing the customer requirement
3. Generating working software in monthly cycles (sprint)


Microsoft Solutions Framework (MSF)
MSF was introduced in 1994 as a combination of best practices and guidelines used within Microsoft product teams and Microsoft's Consulting practice and various other Microsoft internal business divisions. At the core of MSF are nine foundational principles:

1. Foster open communications
2. Work toward a shared vision
3. Empower team members
4. Establish clear accountability and shared responsibility
5. Deliver incremental value
6. Stay agile, expect and adapt to change
7. Invest in quality
8. Learn from all experiences
9. Partner with customers


We can find similarities in these MSF principles and Scrum objectives, so what’s the difference. Well as per my discussion with some of the techies who follow Scrum religiously find these issues with MSF

1. MSF defines work for the team, so it’s missing the self-organizing factor.
2. Incremental units produced using MSF are non-shippable.
3. Its more process oriented, which in-turn slows down the development process.
4. It doesn't support cross-functional behavior within the team.

On the other hand people familiar with MSF advocates the same using these points

1. It has a well defined process
2. It works well for big teams and large projects
3. Onsite - Offshore model is more suited to MSF
4. With MSF people not only share responsibility but they also share the common vision, achievable through a defined process

So finally which is good, well being a consultant I will answer "Depends"........Scrum is fast, can give results really early, but I saw few quality issues, doesn't seem to work for large teams or let say large projects. Even sometime producing independent features are also hard, so depends a lot on the project.

Again, MSF works best in offshore delivery model where the large team shares a common vision to achieve the end result in a well defined manner under agile development.