Why Overlapping Work & Concurrent Engineering Are Key to Agility

One of many 12 ideas within the Agile Manifesto is “Working software program (or product) is the first measure of progress.” That’s why agile groups (e.g. Scrum groups) whether or not creating software program or every other product, work collectively to ship one thing of worth to their buyer every iteration.

For this to occur, agile groups embrace concurrent engineering. Concurrent engineering (or simultaneous engineering) is a approach of working the place duties overlap, somewhat than occurring in a collection of phased handoffs.

The Primary Advantage of Concurrent Engineering

Distinction overlapping work with sequential engineering, the place product growth work occurs in phases. For instance, on a software program venture, we’d have an evaluation part adopted by a design part adopted by a coding part and finally a testing part. On the finish of every part, work is handed off to the following individual or crew with the abilities to finish the following part of labor.

If that occurred on an agile software program growth venture, it’d take 4 iterations earlier than a crew might ship one thing to the client!

So cross-functional agile groups as a substitute collaborate to finish all actions obligatory to ship a product increment inside a time-bound iteration (generally referred to as a dash). The varied sorts of labor overlap.

Utilizing the earlier instance, on an agile crew, as one developer is designing a person interface, a second crew member begins coding the performance, and a 3rd developer begins to create exams for the performance. All inside the identical iteration!

On the finish of the iteration, high-performing agile groups are capable of ship a completely conceptualized, designed, created, and examined increment of worth to their buyer.

Concurrent engineering hastens product growth and time to market–not as a result of groups are working sooner or more durable, however as a result of they’re able to get small chunks of accomplished performance into the fingers of their customers sooner. This provides organizations an amazing aggressive benefit, and is likely one of the many causes firms undertake an agile methodology to start with.

To make concurrent engineering work, agile groups should do three issues: Keep away from finish-to-start relationships, embrace uncertainty, and begin individually however end collectively.

Keep away from End-to-Begin Challenge Administration Practices

When some groups first start implementing agile, they cling to their sequential mindset and finish-to-start actions with a collection of activity-focused sprints. They use one iteration for evaluation and design, a second for coding, and a 3rd for testing. The crew is break up in thirds, with the analysts working one dash forward of the programmers and the testers working one dash behind them.

This is usually a very alluring method for groups who’re new to agile or Scrum. Not solely does it seemingly remedy the issue of learn how to overlap work however it additionally permits every sort of specialist to work principally with others of their very own sort, which many are used to doing.

Sadly, the identical disadvantages apply to activity-specific sprints as apply to activity-specific groups: too many hand-offs and a scarcity of whole-team accountability.

Exercise-specific sprints create what are referred to as finish-to-start relationships. In a finish-to-start relationship, one activity should end earlier than the following can begin.

For instance, a Gantt chart on a sequential venture might present that evaluation should end earlier than coding can begin and that coding should end earlier than testing can begin.

Skilled agile groups be taught that this isn’t true; many actions may be overlapped.

In agile initiatives what’s necessary just isn’t when duties begin however once they end. Coding can not end till evaluation finishes and testing can not end till coding finishes. These are referred to as finish-to-finish relationships.

Embrace Uncertainty

To begin a activity whereas a associated activity just isn’t but completed, the crew must turn into keen to work round uncertainty and open points quickly.

The important thing factor for crew members to grasp is that whereas they finally want a solution to these points, they don’t at all times want the reply earlier than beginning work on a product backlog merchandise. As a substitute, they will share sufficient info (for instance on the each day scrum) for different crew members to get began.

For example, suppose a crew is engaged on a person story, “As a person, I’m logged out after n minutes of inactivity.”

Earlier than that story may be thought of full, somebody goes to want to resolve how lengthy n is–Half-hour? 12 hours? However, somebody might completely start work on that story with out the reply.

As soon as crew members totally grasp that some solutions may be discovered through the iteration, they turn into rather more keen to dwell with the uncertainty that’s wanted to apply the overlapping work of concurrent engineering.

That is an iterative and incremental method to venture administration: Get a number of particulars from the customers about what they want after which construct a bit of it; construct a bit after which take a look at what you’ve constructed.

The objective must be to start out the dash with simply sufficient info that the crew can barely end every product backlog merchandise. Workforce members ought to really feel that in the event that they needed to resolve even yet one more open problem through the dash, they might not have completed that product backlog merchandise.

Begin Individually However End Collectively

Some folks argue that to keep up a holistic perspective, sure actions (e.g., person expertise design, database design, and structure) should occur upfront.

I argue that we must always suppose holistically however work iteratively. A technique to try this is to stagger when sure actions begin.

With an agile method to work, it doesn’t a lot matter when every crew member begins on a product backlog merchandise. What issues is that all of them end collectively, or as near it as sensible. In a 10-day iteration, one crew member might begin coding a person story on day six and one other begins creating exams on day eight. Their objective, nonetheless, is to complete collectively on day ten.

I equate this to operating a race round a 400-meter monitor as within the Olympics. As a result of outdoors lanes are progressively longer, runners in these lanes start the race additional forward bodily on the monitor. This ensures that every individual runs the identical distance and that they end on the identical place, making it attainable to evaluate the winner.

An agile crew can consider sure specialists (analysts, graphic designers, product designers) being within the outdoors tracks within the growth course of. They want a little bit of a head begin. (Sure, I do know in an actual operating race everybody begins operating on the identical time. However the beginning line for the skin monitor is “forward” of the within monitor.)

The analyst must establish what’s even being constructed. And the designer might have to offer wireframes, mockups or comparable beginning factors to the crew if the crew is to have any probability to construct and take a look at the characteristic inside a dash. So giving them a little bit of a head begin by having them look forward in the direction of the work of the following iteration is a good suggestion.

Notice that I mentioned “a little bit of a head begin.” The designer doesn’t work aside from the crew or work three sprints forward. The designer is completely on the crew and the designer’s major accountability helps the crew in any approach attainable to complete the dedicated work of the present dash. They simply go away sufficient capability to look forward to the following dash.

An excellent product proprietor does the identical factor. A crew is in hassle if the product proprietor is so buried by the work of the present dash that the product proprietor arrives on the subsequent dash planning assembly with out having given any thought to what to work on subsequent.

Sure roles on an agile crew have to be trying considerably forward. They need to look forward solely so far as obligatory, however some peering ahead by product house owners, analysts, or designers is useful.

How Do You Do It?

How does your crew obtain the objective of overlapping work utilizing parts of concurrent engineering? Please share your ideas within the feedback part beneath.

Related Articles


Please enter your comment!
Please enter your name here

Latest Articles