I'm just starting out on the implementation of a large enterprise-wide system, which has complex requirements and many stakeholders.

The company has been through high-level evaluation and tender process and determined to purchase a highly configurable "off-the-shelf" product rather than building an entirely bespoke system. The system will replace several existing systems and will require a significant amount of data migration.

I'm thinking that the implementation of this system (which is expected to take over 2 years) could be run in a similar way to a Scrum software development project.

With the first sprints targeted at building the minimal possible functionality needed (across all functional areas), and then iteratively deepening the level of functionality according the stakeholder feedback. I think this will de-risk the project and help ensure a balance of stakeholder needs within the available time.

The user stories are still the same, it's just that to implement them we have work within the constraints of the pre-purchased system. When it comes to 'building stuff', instead of writing custom code the team will be configuring the off-the-shelf package, writing data conversion scripts and the like (and it should be a lot quicker!).

Does this sound like a sensible approach? Does the Agile approach makes sense here?

2 Answers 2


As AlexBottoni already mentioned SCRUM can be used because even customizing is software development.

But for your approach to do several sprints in creating basic functionality is the wrong way. Get one of the existing systems and replace it with the new solution. This should be done in only a few sprints. Select only few user stories at first to implement. When the first system is replaced get the second one. Don't try to replace everything at once because then it is more likely to fail. Even if it seems to cost more time it is worth to replace one system after another. Also then the management will see faster what will be achived.

If you take two years to replace everything the current systems will be developed further and you have a moving target...

  • "Even if it seems to cost more time it is worth to replace one system after another.": But does it only seem that it costs more time or does it really cost more time? Because one of the goals of SCRUM is to optimize the total time spent on a project.
    – Giorgio
    Nov 24, 2012 at 12:54
  • "It seems..." does not say it is so. The advantage is that you have steady results which can be evaluated. Also you can make better estimates after each sprint. In most cases SCRUM is faster but that is not a law...
    – Uwe Plonus
    Nov 24, 2012 at 13:56
  • Thanks. 1) So identify all of the systems that are being replaced (and any large subsystems within these). 2) Use scrum to completely replace the old-system/sub-system that is smallest and has the fewest dependencies. 3) Repeat.
    – AndyM
    Nov 25, 2012 at 6:22
  • @AndyM That is exactly what I meant. So the users can work continuous...
    – Uwe Plonus
    Nov 25, 2012 at 7:43

Despite the use of an off-the-shelf product, this is a software development project and will have to be run accordingly (withs SCRUM, Agile and/or other methodologies).

As you said, you will have to write migrations scripts, configuration files and so on. This is software development. Anything else.

You will have to use a source code versioning system like GIT, Hg, Subversion or CVS. You will have to keep track of bugs and requested features. You will have to document what you are developing. You will have to test your system.

This is just "software development", so your approach is more than sensible. It is mandatory.

Agile development almost always make (at least some) sense. Sometime it has to be used together with others (more formal) methodologies but it is almost always a good starting point.

  • +1, for identifying it's a SD project. However SCRUM works for non-software projects, so would be suitable even it this was not.
    – mattnz
    Nov 25, 2012 at 3:15
  • Well, actually SCRUM works for SD and non-SD projects as well: Scrum is an iterative and incremental agile software development method for managing software projects and product or application development. (from en.wikipedia.org/wiki/Scrum_%28development%29 ). You can use in your project, for sure. Nov 25, 2012 at 10:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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