In the Traditional way of Software development, the work gets executed in sequential manner such that the programmer does the programming and hands it over to the tester for testing and so on. In Agile and Scrum, it is a different approach that introduces concurrent engineering. Teams work in overlapping mode to get the work done. This helps to achieve two things:
  • Faster value delivery: It takes less time to implement a feature end to end
  • Accelerates feedback: Early and continuous feedback between different layers of Software development
 The way traditional development of a feature can be visualized as below.  The Agile way of working on a feature using concurrent engineering can be visualized as below. Here is an example to understand the concurrent engineering approach.   Example feature: A user should be able to login to an application.  
  • The conversation begins with the Product Owner explains the functionality of the user story along with expected acceptance criteria as below:
    • Username and Password must be mandatory
    • User should be able to auto fill the Username and Password through secured “Remember me”
    • User should be given 3 attempts to try correct password
    • After 3 attempts a “Forgot Password” or “Username” option should be given
    • Upon successful login, the user should be taken to the “Search” functionality
  • During the conversation the Developers (Programmers, UI, DB, etc) can ask queries to the Product Owner for any clarifications
  • After the conversation, the Developers will have a very short conversation to decide where to start and continue the development of the user story
  • They may start first with the happy path programming, for example if the user enters the correct Username and Password then the user is logged in, if wrong details entered then the user is not logged in. The Programmer, Database developer can start working on this piece while the Tester starts writing the Test cases and test plan for these two cases. In parallel the UI developer starts building UI elements and the Javascript developer starts frontend validations
  • Whoever completes their part (Front end developer, Javascript developer, Programmer, Database developer) may handover that part for tester to start testing
  • Once the happy path part of the Login is done end to end, all the Developers will discuss what can be done next. So they may take up autofill the details through secured “Remember me” and 3 attempts to try the Password.
  • For the above again the cycle continues for front end, validations, database, tester work to be done in parallel.
  • Once it is done, they may take the rest of the acceptance criteria
  So in the above example, the UI, validations, programming, database, testing are getting done in parallel. Using the overlapping parallel development of the Product Backlog Items in a Sprint, will have the following advantages:
  1. Team members collaborate more often which improves the Trust and Relationship
  2. The team becomes more agile
  3. Product Owner gets chance to see the user story come up continuously
  4. Faster feedback from different people in Developers
  5. Easy to measure the progress
  6. Overall shorter time to complete the feature
  7. Knowledge of the Product Backlog Item is spread across multiple people
  Tips to execute Parallel concurrent engineering:
  1. Clear and non overlapping (independent) acceptance criteria 
  2. Product Owner and Developers should be highly collaborative throughout
  3. Make sure all the clarifications are cleared by the Product Owner for all acceptance criteria
  4. Cross functional teams will help to make parallel programming more effective 
  5. Avoid Finish-to-Start task relationship
  6. Use Start-to-Start and finish together
  7. Incorporate extreme programming practices such as pair programming
  To understand more about “Scrum”, “Scrum team”. “Scrum Master”, “Product Owner, “Developers”, “Sprint”, “Product Backlog”, join Learnovative’s upcoming “Scrum Master course online training in hyderabad” and “Scrum Product Owner course online training in hyderabad”. They help you to understand the concepts with realtime examples and practical hands-on activities.

Reference:
https://www.mountaingoatsoftware.com/blog/the-importance-of-overlapping-work-in-agile?utm_source=drip&utm_medium=email&utm_campaign=Agile+Teams%3A+Concurrent+Engineering+%26+
Overlapping+Work

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *

We will get back to you shortly

Request a Callback