Welcome!

Related Topics: Microservices Expo, Java IoT, Linux Containers, Agile Computing, @CloudExpo, @DXWorldExpo

Microservices Expo: Article

Applying Advanced Agile Methodologies

Our big challenge now is no longer the speed of code propagation. It’s how we can manage effective communication among streams

In the five years since I co-founded Bonitasoft with Miguel Valdes Faura and Rodrigue Le Gall, our organization has come a long way.

We started with seven developers. We now have 17 dedicated full time to Bonita BPM - along with a systems architect, a QA team, a documentation team, and a "human factors" engineer. We've logged 2.75 million downloads, booked 875 customers and built a community of 60,000 contributors.

How do you triple the size of your development team in less than five years and keep consistent control over your processes? Well, even for a company that's in the business of helping others improve processes, it's been a challenge, a learning experience - and a great opportunity to apply some interesting "advanced" agile methodologies.

How We Started with Agile
Our initial small team focused on development of the Bonita Execution Engine, the Bonita User Experience (web), and the Bonita Studio, with each of these groups having a specific skill set and a technical leader. From the very start we applied agile development practices - with everyone in the entire team working together in the same two-week sprint, participating in the daily scrum meetings, and so on.

With a small team, we were able to make very efficient progress all working on the same code - we got the first release of Bonita Open Solution out in six months.

But as we grew our development team and as we dealt with the inevitable errors that crept in, we found ourselves being held up. If the build chain broke, everyone's progress was affected.

With the growing team, to avoid these compilation issues, we broke up R&D into three individual teams (still focused on the Engine, the Web, and the Studio components of the Bonita BPM suite) and gave each team an independent release process for each component. This greatly helped us to isolate bug errors, but for fixes, the Studio team was always last in line - they needed a stable build from the Web team, who needed a stable build from the Engine team. It might take as long as two weeks before a bug-discovered-and-fixed on the same day by the Engine team actually propagated to the Studio team.

The Business Pressure to Change Our Development Approach
The growth of our team was only one aspect of the pressures we faced in engineering. As we moved through our Bonita Open Source version 5 product releases and began to prepare for the release of our new product, Bonita BPM version 6, we began to work more and more closely with the Product Committee. Together we started looking at ways to allow R&D to work on multiple features simultaneously, end-to-end, without pulling resources from one team to another. We wanted to reduce the time to fully develop new features of better quality, and to fix bugs. Bonitasoft's use of Value Streams at the strategic level offered a logical possibility: link R&D to corporate strategic goals for innovation and improvement.

The New R&D Organization: Agile Streams
Our development team is now organized into four streams: Innovation, Core Product, Integration, and Fast-Track. Strategically speaking, Innovation development keeps us at the leading edge of BPM suite capability, Core product development keeps us competitive in the current market, Integration remains one of our key differentiators, and Fast-Track helps ensure that users' needs are given appropriate priority.

The product committee's guidance heavily influences the priorities of the first three streams. The Fast-Track development priorities come from Support, Customer Success, Pre-Sales, and Delivery, the customer-facing groups inside Bonitasoft. In this way we continue to improve our product through both radical innovation and incremental improvements (new and improved features).

Each stream is comprised of Engine, Web, and Studio developers, plus a Product Manager and members of the documentation and Quality Assurance teams. Our systems architect and human factors engineer work across all four streams.

When a feature or improvement is developed in a stream, it is fully developed and tested on the stream's dedicated continuous integration server. A feature is "done" when the language translation is done, the documentation is done and the tests are done. When the entire code stream is stable, then and only then it is pushed to the shared continuous integration server where it can be accessed and used by the other streams.

When it is time for a major release, the code is pushed to another dedicated server where the final QA is done.

The advantages of this development approach are already being realized: the isolation of each stream and the involvement of QA inside each one means that the code is only shared when ready - and no other stream is dependent on work outside of it in order to advance.

It's also much cleaner to always have one stream dedicated to maintenance. We use a round robin approach so each stream has a turn, and only one stream is working on maintenance fixes at a time.

There's Always a Challenge
Our big challenge now is no longer the speed of code propagation. It's how we can manage effective communication among streams. Development may be appropriately isolated, but clear and timely communication on big changes is critical. We're addressing this challenge by sharing information frequently through informal presentations, and each team has a team leader whose responsibility includes sharing information across teams. Their entire mornings are pretty much dedicated to coordination tasks while their afternoons are dedicated to development tasks.

Looking Ahead
We are already seeing excellent results from our agile stream approach. Our maintenance releases are coming regularly each month, and the implementation of development roadmap is better balanced among the four strategic Value Streams. Bonita BPM has had two versions released in 2013, with two more on the way for 2014. With the Fast-track stream, we have been able to quickly respond to customers' and users' innovative suggestions and business needs - with a flexibility that underscores and confirms the very concept of agile.

More Stories By Charles Souillard

Charles Souillard co-founded Bonitasoft in 2009 with Miguel Valdes Faura and Rodrigue Le Gall. As VP of Engineering and CTO, Charles leads the Bonitasoft product development organization. He was previously head of the Bonita core development team within Bull Information Systems. He has significant experience developing mission-critical applications with BPM and SOA technologies. He serves on a number of European Community projects. He holds a Master’s degree in Computer Science from Polytech de Grenoble.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Latest Stories
Sometimes I write a blog just to formulate and organize a point of view, and I think it’s time that I pull together the bounty of excellent information about Machine Learning. This is a topic with which business leaders must become comfortable, especially tomorrow’s business leaders (tip for my next semester University of San Francisco business students!). Machine learning is a key capability that will help organizations drive optimization and monetization opportunities, and there have been some...
"Storpool does only block-level storage so we do one thing extremely well. The growth in data is what drives the move to software-defined technologies in general and software-defined storage," explained Boyan Ivanov, CEO and co-founder at StorPool, in this SYS-CON.tv interview at 16th Cloud Expo, held June 9-11, 2015, at the Javits Center in New York City.
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
ChatOps is an emerging topic that has led to the wide availability of integrations between group chat and various other tools/platforms. Currently, HipChat is an extremely powerful collaboration platform due to the various ChatOps integrations that are available. However, DevOps automation can involve orchestration and complex workflows. In his session at @DevOpsSummit at 20th Cloud Expo, Himanshu Chhetri, CTO at Addteq, will cover practical examples and use cases such as self-provisioning infra...
As DevOps methodologies expand their reach across the enterprise, organizations face the daunting challenge of adapting related cloud strategies to ensure optimal alignment, from managing complexity to ensuring proper governance. How can culture, automation, legacy apps and even budget be reexamined to enable this ongoing shift within the modern software factory? In her Day 2 Keynote at @DevOpsSummit at 21st Cloud Expo, Aruna Ravichandran, VP, DevOps Solutions Marketing, CA Technologies, was jo...
As Marc Andreessen says software is eating the world. Everything is rapidly moving toward being software-defined – from our phones and cars through our washing machines to the datacenter. However, there are larger challenges when implementing software defined on a larger scale - when building software defined infrastructure. In his session at 16th Cloud Expo, Boyan Ivanov, CEO of StorPool, provided some practical insights on what, how and why when implementing "software-defined" in the datacent...
Blockchain. A day doesn’t seem to go by without seeing articles and discussions about the technology. According to PwC executive Seamus Cushley, approximately $1.4B has been invested in blockchain just last year. In Gartner’s recent hype cycle for emerging technologies, blockchain is approaching the peak. It is considered by Gartner as one of the ‘Key platform-enabling technologies to track.’ While there is a lot of ‘hype vs reality’ discussions going on, there is no arguing that blockchain is b...
Blockchain is a shared, secure record of exchange that establishes trust, accountability and transparency across business networks. Supported by the Linux Foundation's open source, open-standards based Hyperledger Project, Blockchain has the potential to improve regulatory compliance, reduce cost as well as advance trade. Are you curious about how Blockchain is built for business? In her session at 21st Cloud Expo, René Bostic, Technical VP of the IBM Cloud Unit in North America, discussed the b...
You know you need the cloud, but you’re hesitant to simply dump everything at Amazon since you know that not all workloads are suitable for cloud. You know that you want the kind of ease of use and scalability that you get with public cloud, but your applications are architected in a way that makes the public cloud a non-starter. You’re looking at private cloud solutions based on hyperconverged infrastructure, but you’re concerned with the limits inherent in those technologies.
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, answered these questions and demonstrated techniques for implementing advanced scheduling. For example, using spot instances and co...
The cloud era has reached the stage where it is no longer a question of whether a company should migrate, but when. Enterprises have embraced the outsourcing of where their various applications are stored and who manages them, saving significant investment along the way. Plus, the cloud has become a defining competitive edge. Companies that fail to successfully adapt risk failure. The media, of course, continues to extol the virtues of the cloud, including how easy it is to get there. Migrating...
The use of containers by developers -- and now increasingly IT operators -- has grown from infatuation to deep and abiding love. But as with any long-term affair, the honeymoon soon leads to needing to live well together ... and maybe even getting some relationship help along the way. And so it goes with container orchestration and automation solutions, which are rapidly emerging as the means to maintain the bliss between rapid container adoption and broad container use among multiple cloud host...
Imagine if you will, a retail floor so densely packed with sensors that they can pick up the movements of insects scurrying across a store aisle. Or a component of a piece of factory equipment so well-instrumented that its digital twin provides resolution down to the micrometer.
The need for greater agility and scalability necessitated the digital transformation in the form of following equation: monolithic to microservices to serverless architecture (FaaS). To keep up with the cut-throat competition, the organisations need to update their technology stack to make software development their differentiating factor. Thus microservices architecture emerged as a potential method to provide development teams with greater flexibility and other advantages, such as the abili...
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settle...