SlideShare a Scribd company logo
Mapping Agile Methods to ERP: Directions
            and Limitations

       Rogerio Atem de Carvalho
    Federal Fluminense Institute, Brazil

           Björn Johansson
  Copenhagen Business School, Denmark

        Rodrigo Soares Manhaes
    Federal Fluminense Institute, Brazil
Motivation


    Historically ERP systems have been developed
    in waterfall (or almost like) approach

    Although based on heavily planned and
    documented processes, still occurs a lot of
    “misfit”:
    
        Long delay between requirements elicitation and
        implementation (customization)
    
        Too many levels of documents between
        requirements and code

    Lack of a proper communication process
Motivation


    Development (customization) is a learning
    process: developers learn about the users’
    business needs

    Big Design Up Front may facilitate planning
    however creates a long gap between
    requirements elicitation and the actual
    implementation of them

    Given the figures on ERP implementation
    failure, why not use Agile?????
Agile Principles


    Iteractive & Incremental

    Ubiquitous Language

    Test Driven Development

    Continuous Integration

    Emergent Design
Iteractive & Incremental


    Software is released frequently and in small
    pieces

    Provides constant communication between
    developers and users

    Limited by the “Late Integration Problem”:
    
        processes integration points are discovered late in
        the development
    
        Can be solved by flexible, low cost process
        integration techniques
Ubiquitous Language


    Very important for communication, feedback
    and close collaboration between a customers
    and developers

    Common language, covering the entire
    communication chain from customer and
    business analysis to the team’s internal
    conversations and coding

    Does not necessarily uses the exact customer
    jargon, but an unambiguous and contradiction-
    free version of the domain knowledge

    Is not built in a single step, but it is iteratively
    refined and improved
Test Driven Development


    Writing test cases for every programming task:
    feature creation or adaptation, improvements,
    bug corrections etc

    Design of the system can be continuously
    improved without falling into the famous
    Boehm's cost of change curve

    The presence of testing data is not enough,
    since ERP is both integrated software and an
    adaptable framework, regression testing is a
    must: it occurs when a given module is altered
    to meet a given customer’s specific needs
Continuous Integration


    “Integration hell”: incompatibility between
    modules, broken dependencies, out of date
    modules, lack of compliance to coding
    standards etc

    Continuous integration (CI) provides both agility
    and fast feedback, consisting of making at least
    daily project builds

    Every commit triggers a complete build with
    immediate feedback of errors

    Guarantees that software is always working
    properly
Emergent Design


    In an iterative and incremental, agile-style lifecycle,
    design is not performed up-front, but incrementally
    evolved as it meets the current iteration requirements

    Emergent design (ED): process of evolving systems in
    response to changing requirements, better
    understanding of existing requirements, and in
    response to new opportunities that arise from new
    technology, better ideas, and a changing world

    To be able to follow this principle, some disciplines
    must be applied: TDD, refactoring, expressive code
    and heavy use of design patterns
Limitations


    Cultural limitations:
     
         Predictive Planning mindset
     
         Contracts: Product (an ERP) X Service (an ERP
         customization)
     
         (Excessive) HR especialization (analyst, designer,
         programmer...)
     
         Communication based on many abstraction levels, with
         different artifacts

    Technical limitations:
     
         Legacy technologies
     
         Database centric techniques
     
         Determination of a sound Ubiquitous Language
Conclusions


    The statistics on unsuccessful ERP
    implementations urge for new ways of facing
    the misalignment problem

    Agile techniques can improve communication

    There exist cultural and contractual barriers

    Future directions:
    
        Agile techniques adoption levels for Proprietary,
        Free, and In-house
    
        Behavior Driven Development for ERP

More Related Content

PPTX
Software project management Software economics
PDF
Improving software economics - Top 10 principles of achieving agility at scale
PPT
Improving software economics
PPT
Improving software econimics
PPTX
Lect4 software economics
PDF
Codesmells for AspectJ
PPTX
Innovate presentation
PDF
Software economics: tradeoffs of decoupled softwre
Software project management Software economics
Improving software economics - Top 10 principles of achieving agility at scale
Improving software economics
Improving software econimics
Lect4 software economics
Codesmells for AspectJ
Innovate presentation
Software economics: tradeoffs of decoupled softwre

What's hot (20)

PPTX
Agile software development
PPTX
Introduction to Software Engineering
PDF
Vivek_MK
PDF
Software engineering
PPT
software characteristics
PPT
Chapter 01
PPTX
Rapid Application Development [RaD]
PPTX
Software Engineering- Engineering Practice
PDF
JDD 2016 - Marcin Zajaczkowski - Cd for open source
PPTX
A presentation on software crisis
PDF
Aimtech Software Development Company Presentation
DOCX
Ekta Kulshreshtha_Resume
PPT
Lecture 2 introduction to Software Engineering 1
PPTX
Sqa lecture08 usama
PPTX
Software Engineering Practice
PDF
Kelis king - introduction to s.e.
DOCX
Notes of Software engineering and Project Management
PDF
INTRODUCTION TO SOFTWARE ENGINEERING
PPT
Software engineering introduction
Agile software development
Introduction to Software Engineering
Vivek_MK
Software engineering
software characteristics
Chapter 01
Rapid Application Development [RaD]
Software Engineering- Engineering Practice
JDD 2016 - Marcin Zajaczkowski - Cd for open source
A presentation on software crisis
Aimtech Software Development Company Presentation
Ekta Kulshreshtha_Resume
Lecture 2 introduction to Software Engineering 1
Sqa lecture08 usama
Software Engineering Practice
Kelis king - introduction to s.e.
Notes of Software engineering and Project Management
INTRODUCTION TO SOFTWARE ENGINEERING
Software engineering introduction
Ad

Similar to Agile (20)

PPT
Agile Software Development in Bachelor of Computer Applications.ppt
PPSX
Agile software development
PDF
Introduction To Agile Refresh Savannah July20 2010 V1 4
PPTX
Agile is a flexible and iterative approach to software development that empha...
PPTX
Agile is a flexible and iterative approach to software development that empha...
PPT
Agile softwareengineering
PDF
The BA role in Agile Development
PPT
Why Agile? Why Now? IPMA Forum 2009
PDF
Thriving in the 21st century with Agile - with Barbara Roberts
PPTX
Agile Project management
PPTX
Agile-Software-Development in SAP ERP.pptx
PPTX
Agile pm v2
PPTX
Module-02.pptx
PPT
April 08
PPTX
Agile marries itil
PDF
ch2-Agile-Software-Development-engineerning.pdf
PPTX
Agile Development unleashed
PPTX
7.agila model
PPT
Chapter 3 - Agile Software Development.ppt
Agile Software Development in Bachelor of Computer Applications.ppt
Agile software development
Introduction To Agile Refresh Savannah July20 2010 V1 4
Agile is a flexible and iterative approach to software development that empha...
Agile is a flexible and iterative approach to software development that empha...
Agile softwareengineering
The BA role in Agile Development
Why Agile? Why Now? IPMA Forum 2009
Thriving in the 21st century with Agile - with Barbara Roberts
Agile Project management
Agile-Software-Development in SAP ERP.pptx
Agile pm v2
Module-02.pptx
April 08
Agile marries itil
ch2-Agile-Software-Development-engineerning.pdf
Agile Development unleashed
7.agila model
Chapter 3 - Agile Software Development.ppt
Ad

Agile

  • 1. Mapping Agile Methods to ERP: Directions and Limitations Rogerio Atem de Carvalho Federal Fluminense Institute, Brazil Björn Johansson Copenhagen Business School, Denmark Rodrigo Soares Manhaes Federal Fluminense Institute, Brazil
  • 2. Motivation  Historically ERP systems have been developed in waterfall (or almost like) approach  Although based on heavily planned and documented processes, still occurs a lot of “misfit”:  Long delay between requirements elicitation and implementation (customization)  Too many levels of documents between requirements and code  Lack of a proper communication process
  • 3. Motivation  Development (customization) is a learning process: developers learn about the users’ business needs  Big Design Up Front may facilitate planning however creates a long gap between requirements elicitation and the actual implementation of them  Given the figures on ERP implementation failure, why not use Agile?????
  • 4. Agile Principles  Iteractive & Incremental  Ubiquitous Language  Test Driven Development  Continuous Integration  Emergent Design
  • 5. Iteractive & Incremental  Software is released frequently and in small pieces  Provides constant communication between developers and users  Limited by the “Late Integration Problem”:  processes integration points are discovered late in the development  Can be solved by flexible, low cost process integration techniques
  • 6. Ubiquitous Language  Very important for communication, feedback and close collaboration between a customers and developers  Common language, covering the entire communication chain from customer and business analysis to the team’s internal conversations and coding  Does not necessarily uses the exact customer jargon, but an unambiguous and contradiction- free version of the domain knowledge  Is not built in a single step, but it is iteratively refined and improved
  • 7. Test Driven Development  Writing test cases for every programming task: feature creation or adaptation, improvements, bug corrections etc  Design of the system can be continuously improved without falling into the famous Boehm's cost of change curve  The presence of testing data is not enough, since ERP is both integrated software and an adaptable framework, regression testing is a must: it occurs when a given module is altered to meet a given customer’s specific needs
  • 8. Continuous Integration  “Integration hell”: incompatibility between modules, broken dependencies, out of date modules, lack of compliance to coding standards etc  Continuous integration (CI) provides both agility and fast feedback, consisting of making at least daily project builds  Every commit triggers a complete build with immediate feedback of errors  Guarantees that software is always working properly
  • 9. Emergent Design  In an iterative and incremental, agile-style lifecycle, design is not performed up-front, but incrementally evolved as it meets the current iteration requirements  Emergent design (ED): process of evolving systems in response to changing requirements, better understanding of existing requirements, and in response to new opportunities that arise from new technology, better ideas, and a changing world  To be able to follow this principle, some disciplines must be applied: TDD, refactoring, expressive code and heavy use of design patterns
  • 10. Limitations  Cultural limitations:  Predictive Planning mindset  Contracts: Product (an ERP) X Service (an ERP customization)  (Excessive) HR especialization (analyst, designer, programmer...)  Communication based on many abstraction levels, with different artifacts  Technical limitations:  Legacy technologies  Database centric techniques  Determination of a sound Ubiquitous Language
  • 11. Conclusions  The statistics on unsuccessful ERP implementations urge for new ways of facing the misalignment problem  Agile techniques can improve communication  There exist cultural and contractual barriers  Future directions:  Agile techniques adoption levels for Proprietary, Free, and In-house  Behavior Driven Development for ERP