It is said that the Kanban methodology is suited for software maintenance and support areas, whereas Scrum is more suited for new product development. No process or methods are complete. Using the right one will help you succeed, but they will not guarantee success.

Which agile approach is best suited for a project which is basically a re-platforming from one technology to another (say from Java to .NET).

  • 1
    There will be no final answer because either SCRUM or Kanban can be used for such a project. Both maintenance and new development can be lead with both methodologies. It really depends on other factors which fits better.
    – Uwe Plonus
    Nov 23 '12 at 8:40
  • Can I say that even the traditional waterfall model is also suited for this because requirments are fixed and its only re-platforming.
    – arjun
    Nov 23 '12 at 8:45
  • The problem with the waterfall is that requirements is software development are never as fixed as needed ;)
    – Uwe Plonus
    Nov 23 '12 at 8:58
  • My point is that at least for this project since its been done already and since the client want the exact same feature re-written in another technology why not waterfall model
    – arjun
    Nov 23 '12 at 9:02
  • @arjun: "Why not waterfall"? As experience shows, early feedback is important even in a rewrite, and waterfall makes this difficult. Most of the problems with the waterfall model apply even for a rewrite.
    – sleske
    Nov 23 '12 at 11:25

It is said that kanban methodology is suited for software maintenance and support areas whereas scrum for new product development.

I think most people in the agile community would disagree. Both Kanban and Scrum are suited for new product development (I have worked on a greenfield project with Kanban).

It is true that they have different strenghts and weaknesses, and that Scrum in its original form is not suitable for software maintenance when quick responses are paramount, but then most teams do not use a "pure" methodology, but tailor it to their needs.

Which agile approach is best suited for a project which is basically a re-platforming from one technology to another(say from java to .net).

The agile answer would be: Don't. A complete rewrite is rarely a good idea, and most importantly goes against one of the fundamental ideas of agile development, namely to focus on delivering value quickly: If you do a complete rewrite, you'll probably not deliver any value until you are done (and possibly never, if you fail). See for example: to rewrite or not to rewrite, and Joel on Software - Things You Should Never Do, Part I. It is usually better to fix the parts that cause the most pain, possibly migrating to a different technology bit-by-bit (e.g. module by module). It may look more difficult in the beginning, but will give you results much faster, and reduce risk.

That said, if you feel you must rewrite, the methodology does not depend on the fact that it is a rewrite. Rather, it should depend on how your team is composed, how they want to work, how you communicate with stakeholders, etc. Both Kanban and Scrum will be well suited.

  • So would you say even the waterfall model is suited because all the requirements and features are well known and wouldn't change?
    – arjun
    Nov 23 '12 at 9:17
  • @arjun: I generally believe that agile methods are superior to the waterfall model (though there are many intermediate forms). But a suitable methodology depends more on the participants of the project than on the technical problem to solve.
    – sleske
    Nov 23 '12 at 11:24
  • So agile methods(or at least intermediate form of it) can be applied to any type of software projects and are better than waterfall model.
    – arjun
    Nov 23 '12 at 11:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.