Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

6 Ways to Modernize Product Development Process for B2B Disruption

DZone's Guide to

6 Ways to Modernize Product Development Process for B2B Disruption

Iterate quickly to innovate quickly.

· Agile Zone
Free Resource

See how three solutions work together to help your teams have the tools they need to deliver quality software quickly. Brought to you in partnership with CA Technologies

The following article was contributed to DZone by Samer Fallouh, Vice President of Engineering at Dialexa, a technology development company that contributes information of value to DZone on a regular basis.

While agile has become the predominant means of approaching product development, many organizations still have problems making an agile mindset stick.  Here are six ways we have found to keep agile processes delivering the most business value across all functions:

1. AGILE IS NOT JUST FOR DEVELOPMENT TEAMS 

Modernizing your product development process can be greatly enhanced by applying agile to upstream processes such as procurement, sales, marketing and design. If the teams that feed into development also adhere to an agile cadence, it makes it much easier to stay coordinated.

When applying an agile state of mind to any group in your company, it’s important to stay true to these three key aspects of the ideology:

  • Iterative work
  • Short-term deliverables
  • Daily checkpoints across the whole team 

These are the most important three “rules” that accompany agile processes. With each requirement intact, you are free to set your own agile rules to fit the specific needs for individual teams, especially around how the deliverables are completed. These three keys will help you maintain the “try fast, iterate fast, fail quickly, and stop” mantra that we’ve discussed in the past.

2. SET YOUR SPRINTS AND STICK TO THEM

We’ve found that two-week sprints are generally most effective. However, you might have a particularly large project that requires three-week intervals—or a quick project that might do with just one-week sprints. Whichever you choose, stick to it for all iterations.

If any piece of the input stream or output stream fails to match the set intervals, the entire agile process can grind to a halt. Team members are free to go back and change backlogs whenever necessary, but the features planned in a sprint must be respected and remain constant to avoid churn and greater cost of development.

3. WATERFALL ISN’T DEAD—IT’S STILL USEFUL IN THE RIGHT SITUATIONS

It might seem crazy to revive the traditional waterfall approach at this point. However, there are some processes where waterfall makes more sense than agile, such as support. When blockers are discovered in a sprint, support teams need to solve them on demand—not wait until the next sprint to address the issue.

If it’s easier, think of agile as your approach for feature development and waterfall as your approach for support. With two competing mindsets, it’s important to understand how to shift from one to the other. 

Building your production team should not require a decision between feature or support functionality. Instead, the team should focus on feature development within the sprint and then become the support team in the next sprint. This approach trains engineers to spot blockers and defects, allowing them to solve problems on demand in the next sprint.

4. QUALITY ASSURANCE SHOULD BE INVOLVED FROM DAY ONE

In the development process, someone has to be on the side of the client. Even though you can argue that there isn’t anything for quality assurance (QA) to do on day one of the project, QA teams can lay the ground rules that will ensure development teams build what the client is really looking for by writing all the test plan and test cases easily.

The test plan creates a contract with the development team, setting expectations for processes and signing off with the project team lead. This open conversation facilitates a more effective product development process.

5. AVOIDING THE DEPRECATION TRAP

The rapid innovation of the digitization era means that technology becomes obsolete almost immediately. It’s tempting for engineers and other members of product development teams to backtrack and implement the latest cool tool—but you must resist this urge.

At the start of every project, establish the tools and architecture that will be used throughout the process. Even if the project takes two years, you should remain consistent with these decisions as long as tools are still supported.

6. AGILE—A “DIVIDE AND CONQUER” STRATEGY 

The more you can divide and conquer your product development process without losing your standard cadence, the better your new product development process will be. For example, take your new project, break it down into features, break down the features into stories and tasks, and then spread these features out across your sprint. Now you have a plan and a timeline that you can share with everyone on your team. This level of transparency will help you eliminate unnecessary surprises.

Digital transformation is all about innovating quickly and the six agile best practices we discussed here can bring much-needed stability to the whole process.

There’s obviously more to think about than just moving quickly when it comes to modernizing your product development process. If you are looking to refine your product development mindset, download our End-to-End Product Development White Paper to see how the Dialexa experts can solidify a more effective framework for your teams.

Discover how TDM Is Essential To Achieving Quality At Speed For Agile, DevOps, And Continuous Delivery. Brought to you in partnership with CA Technologies

Topics:
agile ,waterfall

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}