Skip to content

🤖 AI-powered Scrum automation toolkit with Slack/Trello integration, risk prediction, and task prioritization. Features ML models and Streamlit dashboard.

License

Notifications You must be signed in to change notification settings

LankeSathwik7/AI-Scrum-Master

Repository files navigation

🤖 Scrum AI Assistant

An AI-powered Scrum automation toolkit for managing Agile workflows, featuring Slack integration, Trello synchronization, risk prediction, and task prioritization.

📋 Overview

This system provides a collection of tools to help Agile teams streamline their Scrum processes:

  • 🤖 AI Scrum Master Bot: Facilitates daily standups, tracks blockers, and creates tickets
  • 📊 Trello Integration: Creates cards from blockers, archives old cards, and syncs project data
  • 🧠 Sentiment Analysis: Analyzes retrospective feedback to identify team sentiment
  • 📈 Prediction Framework: Forecasts project risks and recommends actions
  • 📑 Task Prioritization: Auto-prioritizes work items based on configurable rules
  • 📱 Interactive Dashboard: Streamlit-based visualization of team metrics and insights

🏗️ Architecture

├── LICENSE
├── README.md
├── bots
│   ├── __init__.py
│   ├── retrospective.py
│   ├── slack_bot.py
│   ├── slack_standup_bot.py
│   └── trello_integration.py
├── core
│   ├── __init__.py
│   ├── config.py
│   ├── database.py
│   ├── logger.py
│   ├── security.py
│   └── utils.py
├── models
│   ├── __init__.py
│   ├── risk_predictor.py
│   └── task_prioritizer.py
├── report_generator.py
├── requirements.txt
├── scrum_ai.log
├── slack_bot.log
├── sprints.db
├── standup_bot.log
├── tests
│   ├── __init__.py
│   ├── test_dashboard.py
│   └── test_data.py
└── ui
    ├── __init__.py
    ├── assets
    │   └── __init__.py
    └── dashboard.py

✨ Features

💬 Slack Bot Integration

  • Automated daily standup reminders and facilitation
  • Detects blockers in team messages
  • Creates Trello cards for identified blockers
  • Supports Socket Mode for secure communication

📋 Trello Integration

  • Fetches board data for analysis
  • Creates cards for blockers detected in Slack
  • Archives old cards automatically
  • Manages board organization

📊 Retrospective Analysis

  • Sentiment analysis of team retrospective discussions
  • Uses RoBERTa model for advanced NLP processing
  • Detects positive, negative, and neutral sentiment
  • Provides quantitative data on team morale

🔮 Risk Prediction

  • Uses Prophet forecasting model to predict sprint completion
  • Identifies high-risk periods during sprints
  • Suggests mitigation strategies based on risk level
  • Provides visualizations of risk factors

📝 Task Prioritization

  • ML-based prioritization of backlog items
  • Considers due dates, dependencies, and team capacity
  • Auto-adjusts as new information becomes available
  • Provides explainable priority scores

📲 Interactive Dashboard

  • Real-time visualization of team metrics
  • Blocker tracking and highlighting
  • Sentiment analysis results
  • Sprint burndown with risk prediction
  • Team capacity planning

🗄️ Database Management

  • SQLite database with migration support
  • Tracks predictions, tasks, team capacity and retrospectives
  • Version control for schema changes
  • Safe transaction handling

🚀 Deployment Pipeline

  • GitHub Actions workflow for CI/CD
  • Daily automated runs on schedule
  • Caches dependencies for faster execution
  • Automatic deployment to Streamlit

⚙️ Configuration

The application uses environment variables for configuration. Create a .env file with:

# Slack Configuration
SLACK_BOT_TOKEN=xoxb-...
SLACK_SIGNING_SECRET=...
SLACK_APP_TOKEN=xapp-...
SLACK_TEAM_CHANNEL=general
SLACK_RETRO_CHANNEL=retrospective

# Trello Configuration
TRELLO_API_KEY=...
TRELLO_TOKEN=...
TRELLO_BOARD_ID=...
TRELLO_LIST_ID=...
TRELLO_ARCHIVE_LIST=...

# Application Settings
RISK_THRESHOLD=10
POSITIVE_THRESHOLD=0.25
CRITICAL_THRESHOLD=0.15

🛠️ Installation

  1. Clone the repository

    git clone https://github.com/LankeSathwik7/AI-Scrum-Master.git
    cd AI-Scrum-Master
  2. Install dependencies

    pip install -r requirements.txt
  3. Set up environment variables in .env

    cp .env.example .env
    # Edit .env with your configuration
  4. Initialize the database

    python core/database.py
  5. Run a bot

    python bots/slack_bot.py
  6. Launch the dashboard

    streamlit run ui/dashboard.py

💻 Technical Requirements

  • Python 3.10+
  • Required packages (from requirements.txt):
    • slack-bolt==1.18.0
    • spacy==3.7.2
    • python-dotenv==1.0.0
    • requests==2.31.0
    • scikit-learn==1.3.2
    • streamlit==1.28.0
    • plotly==5.18.0
    • pandas==2.0.3
    • streamlit-autorefresh==1.0.1
    • slack-sdk==3.23.0
    • transformers[torch]==4.36.2
    • prophet==1.1.5
    • accelerate==0.27.2
    • tabulate==0.9.0
    • flask-limiter
    • python-dotenv-vault
    • huggingface_hub[hf_xet]
    • python-dateutil

🔄 Pipeline Workflow

The GitHub Actions workflow runs daily and:

  1. Sets up Python environment
  2. Caches dependencies
  3. Runs database migrations
  4. Executes risk prediction model
  5. Prioritizes tasks
  6. Runs tests
  7. Deploys to Streamlit dashboard

Note: GitHub Actions have been disabled in this repository. The workflow file (.github/workflows/main.yml) is retained for reference only.

🔒 Security Features

  • Rate limiting for API endpoints
  • Environment variable encryption support
  • OAuth integration for Trello
  • Proper error handling and logging
  • Input validation and sanitization

🧪 Development

Running Tests

pytest tests/

Adding New Features

  1. Create a feature branch

    git checkout -b feature/your-feature-name
  2. Implement your changes

  3. Add tests for your feature

  4. Run tests to ensure everything passes

  5. Create a pull request

❓ Troubleshooting

Common Issues

  • Slack API connection errors: Verify your token permissions and ensure Socket Mode is enabled
  • Database migration failures: Check the SQLite file permissions
  • Prediction model errors: Ensure you have enough historical data for accurate predictions
  • Dashboard rendering issues: Verify Streamlit version compatibility

Logs

Log files are stored in the project root:

  • scrum_ai.log - Main application logs
  • slack_bot.log - Slack bot interaction logs
  • standup_bot.log - Standup facilitation logs

🔮 Future Enhancements

  • Integration with GitHub/GitLab for code metrics
  • Enhanced ML models for better risk prediction
  • Mobile companion app
  • Meeting summarization features
  • Team performance analytics

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

👥 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

🙏 Acknowledgements

  • Special thanks to the open-source community for the amazing libraries that make this possible

About

🤖 AI-powered Scrum automation toolkit with Slack/Trello integration, risk prediction, and task prioritization. Features ML models and Streamlit dashboard.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy