Agile Project Management - Design

Discussion in 'Agile and Scrum' started by Girish Ravi(1088), Dec 14, 2015.

  1. Girish Ravi(1088)

    Girish Ravi(1088) New Member
    Alumni

    Joined:
    Jan 28, 2015
    Messages:
    1
    Likes Received:
    0
    Hi,

    As Agile is iterative and incremental, we plan for small increments each release.
    Usually in traditional methodologies, we plan and design for the whole project/product.
    And with this if we need to have any changes - there will be some impact on design, development etc.

    But in Agile how should the product design be so that it can grow each iteration.
    What all points should be considered while designing for Agile projects.

    Regards
    Girish
     
    #1
  2. Om Prakash Bang

    Om Prakash Bang Well-Known Member
    Alumni

    Joined:
    Feb 18, 2015
    Messages:
    92
    Likes Received:
    39
    Short answer is create blue print based on the best practices, modular design and micro service architecture, which can grow each iteration. Implement agile practices such as test automation, continuous integration, continuous deployment etc.
     
    #2
  3. Bryan (1147)

    Bryan (1147) Active Member
    Trainer

    Joined:
    Sep 16, 2013
    Messages:
    16
    Likes Received:
    4
    This is an interesting question and it might be worth elaborating on Om's response.

    The language/development platform you're using for your product has some bearing in this review (a mainframe application using COBOL and CICS or a SAP/Oracle solution don't fit quite as easily). However, agile approaches this question with the following guidance:
    • Create and Prioritize a Product Backlog. All of the product features should be identified and then a Minimal Marketable Feature set should be identified as a release candidate. These features will be allocated to your Sprint backlog and you can adjust the items allocated to each sprint if business priorities change.
    • In the first sprint, the team should select stories that will allow the initial architecture to get established. If your company has a reference architecture that can be used as an input but the emphasis should be on building something that delivers business value. Agile supports an emergent architecture approach over a Big Design Upfront approach.
      • Test Driven Development is critical to support an emergent architecture. Unit Tests and Continuous Integration dramatically reduce defects in code but also provide more flexibility to change your architecture in the future.
    • As the team progresses through multiple sprints it will be necessary to refactor and align the architecture to well defined design patterns. To support this the team should monitor its technical debt and ensure that the product owner is aware that some sprints will need time to refactor. Armed with a comprehensive unit test framework, the team can feel confident to refactor without introducing excessive risks or delays.
    I highlighted some key agile concepts and there is a lot of information on all of these items available on Google or at Amazon.com.

    Hope this help!s
    Bryan Campbell
     
    #3

Share This Page