Hivel
Hivel
Hivel
  • πŸ‘‹Welcome to Hivel
  • πŸš€Using Hivel
    • ⭐Cockpit Pro
      • ⬇️How to download reports
      • 🀝Meetings Breakdown
    • πŸƒβ€β™€οΈActivity
    • ⛑️Work Item Breakdown
    • βž•Hivel Quadrant
    • πŸ’°Investment
      • Issue Age
      • How to set up Products & Allocation tabs in the Investment Screen?
      • How to add Custom fields for Product and Allocation Label in Jira
    • πŸ’ŽPerformance Appraisal
    • 🎯Pull Request
      • Comments Categorization
      • Review Cycles
      • How to exclude outlier commits and PRs?
    • 🐞Quality (SonarQube)
    • ♨️Coding Hotspots
    • ⚽Goals
    • πŸ‘©β€πŸ«Process
    • πŸ–₯️Coding
      • Understanding Rework, New Work, and Maintenance
    • πŸ‘¨β€πŸŽ“Dev360
    • πŸ””Slack Alerts and Notifications
  • Copilot Adoption
  • πŸ“ŠMetrics & Definitions
    • πŸš…Speed
      • Deployment Frequency
      • Coding Time
      • Review Time
      • Merge Time
      • Cycle Time
      • Pickup time
    • πŸ’―Quality
      • Change Failure Rate
      • Maintenance
      • Rework
      • Mean Time to Restore (MTTR)
      • PRs merged without review
      • PR Reviewed
      • Flashy Reviews
      • PRs > 400 LoC
    • πŸ“ˆThroughput
      • New Work%
      • How are Active Days calculated
      • PRs Open, PRs Ready to Review or Merge
  • πŸ”—Integrations
    • List of all integrations
    • GitHub
      • How do I Signup using GitHub?
      • How to integrate GitHub with Classic Token?
      • How to create Github fine-grained token for Hivel Integration?
      • How to reauthorize Github with a service account?
      • GitHub-Alternate SignUp Method Instructions
      • How to re-initiate GitHub integration with Hivel
    • Gitlab
      • Gitlab Server
      • Gitlab Cloud
      • How to ensure Gitlab token has access to required groups/repositories
    • BitBucket
      • BitBucket Integration
      • Validation at a metric level for BitBucket
    • Jira
      • How to integrate Jira Cloud with Hivel
      • How to Re-authorize Jira in Hivel?
        • Page
      • How to Integrate Jira with OAuth 2.0
      • How to Re-authorize Jira with OAuth 2.0
      • How to integrate Jira Server with Hivel
    • Azure DevOps
    • Google Calendar
      • How to integrate Google Calendar in Hivel
    • Microsoft Outlook
    • Slack
    • SonarQube
    • Okta
    • Jenkins
    • Jenkins Freestyle Integration with Ansible and Hivel Webhook
  • On-Prem Setup
    • On-Prem Installation Guide
    • Jira On-Prem
    • Gitlab On-Prem
    • SonarQube On-Prem
    • Application Setup Guide: User Sign-up and Integration
    • Creating a Bitbucket App Password
    • On-Prem Outlook Integration
  • Github Copilot Integration
  • βš’οΈSetup
    • Sign Up
      • How to sign up to Hivel?
    • Users
      • How to invite more users to use Hivel?
      • How to add or update an user's email id?
      • How to merge users?
      • How to update the name of a user?
      • Can I see the data of a user or repo that I don’t have access to on my SCM tool?
      • How to archive users?
    • Teams
      • How to create teams?
      • How to delete a team?
      • How to modify a team?
      • How to create sub-teams?
    • Role-Based Access Control (RBAC)
    • βš™οΈConfigurations Explained
      • 🌴Branch Configurations
      • 🐞Hotfix Configurations
        • Track hotfixes via patch version pattern
      • Other Configurations
  • ⏭️Upcoming Features and Enhancements
  • Release Notes
    • Release Notes
      • Release Notes - October 2024
      • Release Notes - November 2024
      • Release Notes - December 2024
      • Release Notes - January 2025
      • Release Notes - February 2025
      • Release Notes - March 2025
      • Release Notes - April 2025
  • πŸ”API Documentation
    • 🏁Tracking Releases and Incidents with Hivel
    • Deployment API
    • Create Incident API
  • 🌟Insights and Best Practices
    • Developer's Guide to Hivel
    • πŸŽ–οΈBest Practices for Software Development Efficiency
    • 🧹Jira Best Practices
    • Tips and tricks to improve performance
      • How to improve Speed
        • What to do if my Cycle Time is high?
        • What to do if my Coding Time is high?
        • What to do if my Review Time is high?
        • What to do if my Merge Time is high?
      • How to improve Quality
        • What to do if my Rework is high?
        • What happens if there are too many Flashy Reviews and how to prevent them?
        • How to address and prevent unreviewed PRs
        • Strategies to Reduce Mean Time to Restore (MTTR)
        • Best Practices for Team Ownership in Code Review
        • How to identify root cases of high change failure rates?
        • Building a feedback loop for continuous code improvement
      • How to improve planning and throughput
        • Leveraging data for more effective sprint planning
        • What metrics can I use to prevent developer burnout?
      • How to track, manage, and reduce technical debt?
      • What are the impacts of context switching on developer productivity and how to reduce it?
      • How to build a data-driven culture of Engineering?
      • How to balance speed and quality?
  • FAQs
    • Why can't I remove a user from a team?
    • How to change a team owner?
    • How do we account for weekends in the metrics?
    • Are draft PRs considered for calculation of coding/cycle time?
    • Why do some metrics like PRs reviewed or merged have more than 100%?
    • How to mark leaves & absences?
    • Where can I see average PR sizes?
    • How do I link Pull Requests to Issues
    • Why is count of PRs reviewed or merged is different across screens?
    • Why is data of some members are not visible?
    • Why is there an abnormal spike in Cycle Time?
    • Why some of the repositories are not imported or synced?
    • How to get a report of monthwise developer activity metrics?
    • How can I see the progress against my goals?
    • How to see all the metrics by sprints or releases?
    • Why are commits done today are not reflecting immediately
    • Why Product and Allocation's previous data is not reflecting?
    • Why cannot I see cycle time against developers even though they have commits?
    • Why do some Jira issues show as spillover in Hivel even though they were completed in Jira?
    • Why is pickup time not included in cycle time?
    • How can I add a template in dashboards for my org to follow?
    • Can I get a detailed report of all the activity done by developer per day?
    • How do I exclude a PR from rework/maintenance/new work calculation?
    • Why don't I see delivery accuracy for Kanban boards?
    • Why do I see "NA" in the percentage change of a metric?
    • Why do I see "No existing user found" message while login
    • Why am I not able to select more than 6 months at a time?
    • Why does the filters change when I move to dashboards but in other screen it remains same?
    • How to validate the data on Hivel?
    • How to measure impact of Copilots using Hivel?
    • Easing into Kanban: How to set your team up for success
Powered by GitBook
On this page

Was this helpful?

  1. Insights and Best Practices

Best Practices for Software Development Efficiency

Streamlining your software development process isn't just about writing code; it's about creating a cohesive, efficient workflow. By adhering to these best practices, you'll not only enhance code quality and team collaboration but also achieve the most insightful visualizations on Hivel, ensuring your projects stay on track and transparent.

  1. Keep it Bite-Sized: Aim for code chunks under 400 lines. Smaller segments are your friendsβ€”they're easier to digest, test, and keep bug-free. Few companies go as low as 80 lines per PR.

  2. Kick Off with Commits: Create a separate branch for each feature development task. As soon as you have a logical conclusion, do a commit - commit early and often. Avoid bundling all changes into a single, large pull request at the end of development.

  3. Peer-Reviews: Implement a review branch configuration to ensure all PRs are reviewed by someone other than the author before merging. This process helps catch errors, improve code quality, and maintain consistency. Dedicate focused time to PR reviews, especially for larger changes, as thorough reviews are crucial for preventing production bugs and reducing technical debt. Aim for 100% PR review coverage, prioritizing quality over speed to maintain high code standards.

  4. Quality Over Speed: When reviewing PRs, take your time, especially with the larger ones. A thorough review today saves a headache (and a bug) tomorrow. Avoid flashy reviews (reviewing large chunks of code in few minutes).

  5. Track and Plan: Always use story points, assignees, and epics in your Jira tickets. It's not just paperwork; it's about making your work visible and planning effectively. No story points for tickets means reduced velocity for work being done, which is like getting no credit for your hard work.

  6. Connect the dots: Include the Jira ticket ID in your commits and Pull Requests. It creates a clear trail linking your code changes to specific tasks, making it easier to understand the context and purpose of modifications. This practice ensures all your work is properly documented and accounted for, enhancing traceability and project management.

  7. Merge over Squash: Use merge commits when integrating changes to maintain a clear history, preserving the context of individual modifications and making it easier to track the evolution of features over time.

  8. Embrace Testing: Write tests for your code, including unit, integration, and end-to-end tests. Testing ensures your code does what it's supposed to do and helps catch issues early. While it may sound like slowing down, it actually will speed up the overall process.

  9. Keep It Clean: When building new features, refactor surrounding code to improve readability and maintainability. Pay special attention to areas or repositories experiencing frequent rework, as these are prime candidates for refactoring. Regular refactoring keeps your codebase clean, reduces technical debt, and makes development more efficient in the long run.

  10. Document Wisely: Write clear, concise documentation for your code and features. Good documentation helps others understand your work and saves time when revisiting old code.

  11. Engage in Dialogue: Leaving comments on the PR is a good practice that encourages open discussion, provides clarity on decisions made, and creates a record of the thought process behind the code changes.

  12. Tag that hotfix! Implement a systematic approach to differentiate hotfix PRs from regular ones. We suggest using 'hotfix'-related keywords in branch names or adding specific labels to hotfix PRs for easy identification later on.

  13. Sprint Ready: Plan, Tag, and Launch! Before kicking off any sprint, aim to plan and tag most work to sprints. This gives developers clear visibility into upcoming tasks, allowing them to hit the ground running when the sprint starts.

  14. Distinguish production vs. non-production bugs: Establish a way to distinguish between production issues and in-sprint issues to improve prioritization and resolution. Common approaches include using a field to tag whether an issue is a production or in-sprint issue, or using separate issue types for each.

PreviousDeveloper's Guide to HivelNextJira Best Practices

Last updated 7 months ago

Was this helpful?

🌟
πŸŽ–οΈ