Question

I am pushing my project over to Visual Studio Online in order to have some source control. I am developing this project by myself. I have never used Scrum, Agile, nor CMMI before, and the detailed description I read at http://msdn.microsoft.com/library/vstudio/ms400752.aspx is assuming a lot of knowledge. (It makes no sense to someone who doesn't already know what they are talking about.)

The best way for me to really learn Scrim or Agile or CMMI is by using them. But where to start? The above link does not help me there.

As a solo developer who is just looking for source control, should I start off with Scrum, Agile, or CMMI?

To take the opinion-basedness out of this question, I will make my official question: What is the difference between Scrum, Agile, and CMMI in Layman's terms? (But really, I just am trying to figure out where to start!)

Was it helpful?

Solution

(Just FYI - I am cofounder of a company (Digité) that builds and sells enterprise software to a variety of technology organizations, so I have some background on these topics :-) )

Agile and Scrum are related, in that they are software development methods. Agile is an umbrella term for specific methods such as Scrum, Extreme Programming (XP) and others.

CMMI, on the other hand, is a quality management framework useful for large organizations that need to measure themselves in terms of their overall capability and maturity to demonstrate repeatable quality of software work they do. Organizations can use a mix of software development methods - Agile methods (such as Scrum/ Kanban/ XP/ BDD/ TDD/ etc), 'traditional' methods (Waterfall, Iterative) or a mix (Hybrid Agile), depending on their business needs. They can still use CMMI as an overall governance framework to measure and develop their software capabilities.

Definitely, as a solo developer, you don't need to worry about CMMI!

Agile methods in general give you the ability to build your software with less risk, greater chances of success and early warnings that what you are developing may not be the right product (as I am sure you know, it is not only important to build your product right - but also to build the right product). Even if you are a solo developer, you must have other people you (need to) interact with, especially your customer(s). Agile methods such as Scrum or Kanban give you the ability to deliver to them working software more often (in sprints of every 2-3 weeks), get their feedback more often, and take corrective steps more often than otherwise. Kanban helps you do it even more continuously. I'd recommend the following books, if you have not read any others so far -

  1. Scrum - The Power of Scrum - by Jeff Sutherland
  2. Kanban - Successful Evolutionary Change for your Technology Organization - by David Anderson. (If you need a basic introduction to Kanban, you can look here - What is Kanban?)

To answer your final question, I would recommend starting with Kanban. My assumption is that you already have some process you follow to build and deliver software to your customers. Kanban will help you map your existing process, help you "visualize" it - and help in delivering more often/ more continuously. And make improvements in your process to help you become more agile overall. If you do want something more formal and structured, you should adopt Scrum. It may require greater effort up-front - but don't worry too much about it's formal structures, instead focus on its fundamental intent of delivering working software more often to your customer.

Hope this helps.

Cheers!

OTHER TIPS

All of them are software development processes.

Scrum is very collaborative you discuss with your team constantly so everyone can be aware of what's happening. Helps to deal with problems efficiently as a team.

Agile can be many things. But when I have experienced it it has been very fast development with iterations. So you get the product working then incrementally make it better. Quickly so you can get feedback before taking the next step.

I haven't heard CMMI too much

enter image description here

Licensed under: CC-BY-SA with attribution
scroll top