SlideShare a Scribd company logo
1 of 11
Download to read offline
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

What's hot

Agile software development
Agile software development Agile software development
Agile software development saurabh goel
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Software engineering
Software engineeringSoftware engineering
Software engineeringfaisalwajid
 
Rapid Application Development [RaD]
Rapid Application Development [RaD]Rapid Application Development [RaD]
Rapid Application Development [RaD]Nick Harewood
 
Software Engineering- Engineering Practice
Software Engineering- Engineering PracticeSoftware Engineering- Engineering Practice
Software Engineering- Engineering PracticeTrinity Dwarka
 
JDD 2016 - Marcin Zajaczkowski - Cd for open source
JDD 2016 - Marcin Zajaczkowski - Cd for open sourceJDD 2016 - Marcin Zajaczkowski - Cd for open source
JDD 2016 - Marcin Zajaczkowski - Cd for open sourcePROIDEA
 
A presentation on software crisis
A presentation on software crisisA presentation on software crisis
A presentation on software crisischandan sharma
 
Aimtech Software Development Company Presentation
Aimtech Software Development Company PresentationAimtech Software Development Company Presentation
Aimtech Software Development Company PresentationAnahitYeprikyan2
 
Ekta Kulshreshtha_Resume
Ekta Kulshreshtha_ResumeEkta Kulshreshtha_Resume
Ekta Kulshreshtha_Resumeekta kul11
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1IIUI
 
Sqa lecture08 usama
Sqa lecture08 usamaSqa lecture08 usama
Sqa lecture08 usamaMrAadi
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.KelisKing
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNotes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNANDINI SHARMA
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGProf Ansari
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 

What's hot (20)

Agile software development
Agile software development Agile software development
Agile software development
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Vivek_MK
Vivek_MKVivek_MK
Vivek_MK
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Itc chapter # 7
Itc   chapter # 7Itc   chapter # 7
Itc chapter # 7
 
software characteristics
software characteristicssoftware characteristics
software characteristics
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Rapid Application Development [RaD]
Rapid Application Development [RaD]Rapid Application Development [RaD]
Rapid Application Development [RaD]
 
Software Engineering- Engineering Practice
Software Engineering- Engineering PracticeSoftware Engineering- Engineering Practice
Software Engineering- Engineering Practice
 
JDD 2016 - Marcin Zajaczkowski - Cd for open source
JDD 2016 - Marcin Zajaczkowski - Cd for open sourceJDD 2016 - Marcin Zajaczkowski - Cd for open source
JDD 2016 - Marcin Zajaczkowski - Cd for open source
 
A presentation on software crisis
A presentation on software crisisA presentation on software crisis
A presentation on software crisis
 
Aimtech Software Development Company Presentation
Aimtech Software Development Company PresentationAimtech Software Development Company Presentation
Aimtech Software Development Company Presentation
 
Ekta Kulshreshtha_Resume
Ekta Kulshreshtha_ResumeEkta Kulshreshtha_Resume
Ekta Kulshreshtha_Resume
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
Sqa lecture08 usama
Sqa lecture08 usamaSqa lecture08 usama
Sqa lecture08 usama
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNotes of Software engineering and Project Management
Notes of Software engineering and Project Management
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 

Similar to Agile

Introduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachIntroduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachFrancisXavierInyanga
 
Introduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptxIntroduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptxaasssss1
 
Coolgen Shkehar
Coolgen ShkeharCoolgen Shkehar
Coolgen Shkeharshekhar619
 
Introduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonIntroduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonTharindu Weerasinghe
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineeringinfinitetechnology20
 
Introduction to DevOps in Cloud Computing.pptx
Introduction to DevOps in Cloud Computing.pptxIntroduction to DevOps in Cloud Computing.pptx
Introduction to DevOps in Cloud Computing.pptxLAKSHMIS553566
 
Conventional and Object Oriented Software Engineering
Conventional and Object Oriented Software EngineeringConventional and Object Oriented Software Engineering
Conventional and Object Oriented Software Engineeringssrkai2020
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro pptNancyBeaulah_R
 
DevOps in Software Development | Streamlining Processes for Agile Success
DevOps in Software Development | Streamlining Processes for Agile SuccessDevOps in Software Development | Streamlining Processes for Agile Success
DevOps in Software Development | Streamlining Processes for Agile SuccessElina619459
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open DevelopmentRoss Gardler
 
How to build successful blocks of DevOps
How to build successful blocks of DevOpsHow to build successful blocks of DevOps
How to build successful blocks of DevOpsCygnet Infotech
 
How to build successful blocks of DevOps
How to build successful blocks of DevOpsHow to build successful blocks of DevOps
How to build successful blocks of DevOpsCygnet Infotech
 
Dev0PS online Training in Hyderabad
Dev0PS  online Training  in HyderabadDev0PS  online Training  in Hyderabad
Dev0PS online Training in HyderabadVijayVijji8
 
Best devops training in Hyderabad
Best devops training in HyderabadBest devops training in Hyderabad
Best devops training in HyderabadKumarNaik21
 
Dev ops online training ppt
Dev ops online training pptDev ops online training ppt
Dev ops online training pptSayyedYusufali
 

Similar to Agile (20)

Introduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approachIntroduction to DevSecOps. An intuitiv approach
Introduction to DevSecOps. An intuitiv approach
 
Introduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptxIntroduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptx
 
Basics of se
Basics of seBasics of se
Basics of se
 
Coolgen Shkehar
Coolgen ShkeharCoolgen Shkehar
Coolgen Shkehar
 
Introduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonIntroduction to Agile Software Development & Python
Introduction to Agile Software Development & Python
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
What is DevOps and Why do you need DevOps
What is DevOps and Why do you need DevOps What is DevOps and Why do you need DevOps
What is DevOps and Why do you need DevOps
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineering
 
Introduction to DevOps in Cloud Computing.pptx
Introduction to DevOps in Cloud Computing.pptxIntroduction to DevOps in Cloud Computing.pptx
Introduction to DevOps in Cloud Computing.pptx
 
Conventional and Object Oriented Software Engineering
Conventional and Object Oriented Software EngineeringConventional and Object Oriented Software Engineering
Conventional and Object Oriented Software Engineering
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
 
DevOps in Software Development | Streamlining Processes for Agile Success
DevOps in Software Development | Streamlining Processes for Agile SuccessDevOps in Software Development | Streamlining Processes for Agile Success
DevOps in Software Development | Streamlining Processes for Agile Success
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
Agile and XP
Agile and XPAgile and XP
Agile and XP
 
How to build successful blocks of DevOps
How to build successful blocks of DevOpsHow to build successful blocks of DevOps
How to build successful blocks of DevOps
 
How to build successful blocks of DevOps
How to build successful blocks of DevOpsHow to build successful blocks of DevOps
How to build successful blocks of DevOps
 
Devops training
Devops trainingDevops training
Devops training
 
Dev0PS online Training in Hyderabad
Dev0PS  online Training  in HyderabadDev0PS  online Training  in Hyderabad
Dev0PS online Training in Hyderabad
 
Best devops training in Hyderabad
Best devops training in HyderabadBest devops training in Hyderabad
Best devops training in Hyderabad
 
Dev ops online training ppt
Dev ops online training pptDev ops online training ppt
Dev ops online training ppt
 

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