SymPy Dora Metrics: Strong Rework and Merge Times, Thriving Community

Rajni RetheshRajni Rethesh
5 min read

Having a trusted friend like a calculator to solve those complex mathematical problems is a boon. And when that friend is as versatile as SymPy, it takes the experience to a whole new level!

SymPy is a powerful Python library designed for symbolic mathematics, allowing you to perform algebraic manipulations, calculus, and even differential equations effortlessly.

Whether you're a student grappling with homework or a professional tackling advanced computations, SymPy is like having a super-smart buddy who never gets tired of crushing numbers and can even help you write the equations that make the calculations possible!

But is the SymPy repository as cool as its attributes?

Let’s find out…

We dug into Sympy repository’s productivity Dora Metrics using Middleware OSS and let’s see what we found. Before getting started, don’t forget to check the live demo of how Middleware OSS works.

Also, if you are keen to know more about Dora Metrics, hit the following link: What are Dora Metrics?

SymPy Engineering Workflow: Merge and Rework Time to Kill for

Sympy’s rework time for the month of July was just 0.47 hours - the lowest I came across while analyzing all the top open-source repositories.

Their merge time too was 9.63 hours in July but it was at its best in September at 1.06 hours.

To check their merge time efficiency, you can check the following pull requests:

  • #26770: Removed unnecessary int cast", merged within less than an hour.

  • #26796: Make trivial solutions satisfy assumptions", which was merged very swiftly due to prompt reviews.

Having said that, the third musketeer of the engineering cycle - first response time was a bit sluggish, compared to the rework and the merge times. It was 20.59 in July, 33.39 in August, and 28.66 in September. However, these numbers too were within the benchmark set by the 2023 State of the DevOps Report.

Likewise, with the exception in August, the lead time performed quite well, clocking in at 58.5 in July and 38.88 in September.

Their contributions in the past three months showed a rising graph which means a healthy engineering pipeline and a peaceful life for their maintainers.

For instance, in these past three months, there have been three major features pushed in the Sympy repository.

Also read: PyTorch Repository Dora Metrics: Faster Lead Time, Sluggish First Response Time

What’s their Magic?

Analyzing their repository, I realized that they have a robust CI/CD workflow as seen in checkconflict.yml, ci-sage.yml, runtests.yml, and more.

Thanks to their large number of reviewers, they conduct frequent and timely evaluations. It showcases the proactiveness and dedication of contributors in this repo.

Effective use of labels and categories to prioritize and streamline the review process enhances organization and clarity, ensuring that the most critical contributions receive attention first and facilitating a more efficient workflow for all reviewers involved.

Must read: Key Metrics for Measuring Engineering Team Success

Recommendations to Keep Up the Momentum in their Workflow

SymPy’s greatest strength lies in its robust community of 1,236 active members. This vibrant community not only fosters collaboration and knowledge sharing but also serves as a vital support network for users and contributors alike. With diverse expertise and backgrounds, these members contribute fresh perspectives and innovative solutions, enhancing the library’s development and adaptability. The community's collective effort accelerates problem-solving, drives feature requests, and encourages mentorship, ensuring that SymPy remains a dynamic and user-centric tool in the realm of symbolic mathematics.

To further leverage its strengths, SymPy should continue to expand its contributor base and utilize its automated CI/CD pipelines, as seen in files like checkconflict.yml, ci-sage.yml, and runtests.yml. These robust workflows can streamline development processes, enhance code quality, and free up contributors to focus on high-impact tasks. By harnessing this wealth of talent and implementing efficient automation, SymPy can continue to thrive and evolve, meeting the needs of both new and experienced users.

Also read: How to Leverage DORA Metrics to Optimize Your CI/CD Pipeline

SymPy Dora Metrics: Strong Rework and Merge Times

The SymPy repository presents itself as a well-managed project led by knowledgeable individuals. However, dedicating excessive time and effort to bug fixing can hinder their overall productivity and slow down progress. To address this, they should actively encourage more contributors to join the team, which would help expedite the rework and review process. By diversifying the pool of contributors, they can tap into fresh perspectives and skills, making the project more resilient.

Additionally, implementing automation for repetitive tasks can significantly streamline workflows. By automating routine processes such as testing, documentation, and code formatting, the team can focus more on high-impact development activities and innovation.

Emphasizing on collaboration, transparency, and efficiency will not only enhance the repository's productivity but also foster a more engaged community, ultimately leading to a more robust and feature-rich SymPy.

If you find these learnings interesting, we’d really encourage you to give a shot at Dora metrics using Middleware Open Source. You could follow this guide to analyze your team or write to our team at productivity@middlewarehq.com with your questions and we’ll be happy to generate a suggestion study for your repo — free!

Also, If you’re excited to explore these insights further and connect with fellow engineering leaders, come join us in The Middle Out Community and subscribe to the newsletter for exclusive case studies and more!

Did you Know?

SymPy was one of the first Python libraries dedicated to symbolic mathematics, launched in 2005. It has since become a staple in the Python scientific computing ecosystem.

Further Resources

Introduction to Contributing to SymPy Repo

SymPy Documentation Style Guide.

Middleware and Dora Metrics

Continuous Integration Guides

Dora Metrics Methodology

0
Subscribe to my newsletter

Read articles from Rajni Rethesh directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Rajni Rethesh
Rajni Rethesh

I'm a senior technical content writer with a knack for writing just about anything, but right now, I'm all about technical writing. I've been cranking out IT articles for the past decade, so I know my stuff. When I'm not geeking out over tech, you can catch me turning everyday folks into fictional characters or getting lost in a good book in my little fantasy bubble.