Virgo Development Process Management
October 25, 2024

Why use Agile and Scrum?

Virgo Development ensures transparency in their Kanban workflow by leveraging several key principles and practices inherent to the Kanban method:

Agile Processes

Virgo Development employs Agile methodologies, an iterative approach to software creation that allows for rapid response to customer needs. This incremental process emphasizes quick delivery of functional software, collaboration, and efficient adaptation to changes. Initially designed for software teams, Agile principles are now being adopted across various industries to enhance organizational agility and productivity.

Visualizing Workflow

Virgo Development uses Kanban boards to visually represent tasks and their statuses, allowing team members to see the entire workflow at a glance, including pending, in-progress, and completed tasks. This transparency helps identify bottlenecks and inefficiencies, ensuring everyone is aware of the project’s current state and can collaborate effectively to address issues.

Limiting Work in Progress (WIP)

By setting limits on the number of tasks in progress, Virgo Development prevents team members from becoming overwhelmed and ensures a smooth workflow. This practice helps maintain focus on completing tasks before starting new ones, reducing multitasking and improving overall productivity and quality.

Continuous Improvement

Virgo Development fosters continuous improvement by regularly reviewing Kanban metrics and holding retrospectives to reflect on processes and identify enhancement areas. By implementing incremental changes based on these insights, the team optimizes workflows and drives ongoing innovation and efficiency.

Enhanced Collaboration

Kanban boards promote collaboration by offering a shared visual representation of work, encouraging effective communication among team members and clients. This visual approach helps identify dependencies and maintain alignment, ensuring everyone works cohesively toward shared project objectives.

Real-Time Updates and Accessibility

Virgo Development utilizes digital Kanban boards for real-time updates and accessibility. Integrated with other project management tools, these boards visualize, manage, and execute tasks efficiently. This comprehensive platform enhances task management, team collaboration, transparency, and productivity.

Scrum Project Management

Virgo Development uses Scrum, an agile project management approach that organizes work into fixed-duration sprints. Teams select tasks from a product backlog, set sprint goals, and deliver working software regularly. This method facilitates frequent stakeholder feedback and adapts to changes easily. Scrum’s focus on iterative development and continuous improvement allows Virgo Development to maintain flexibility while consistently delivering value to clients.

Sprint Review / Standup (scheduled for 15 minutes)

  1. What did I work on in the last sprint?
    • Demonstration of completed work:
    • Feedback collection:
    • Identification of improvements:
  2. What am I working on in the next sprint?
    • New Request (add to Backlog / Estimate Time)
    • Backlog Activity / Priority
      1. Discuss team capacity and what can be achieved in the allotted time in the next sprint?
      2. Assign tasks and defining ‘done’ on each work item
  3. What issues are blocking me?
    • Define ownership of blocker

Kanban Project Tracking (Trello)

Virgo Development utilizes Kanban, a lean workflow management system focused on continuous value delivery. This approach visualizes work, limits work-in-progress, and optimizes flow to minimize lead times. By prioritizing visual representation and process improvement, Virgo Development streamlines workflows and encourages team collaboration.

Kanban Management

  1. Backlog
    • Staging and prioritized tasks before moving to the In Process stage.
    • Each cards includes incremental tasks for feature completion
      • Color coded (phase, task owner, category, etc…)
      • User stories: a concise feature description from the user’s perspective
      • Estimate Time (reflect time in the name of the card, example: “5 hrs”)
  2. Blocked
    • Progress cannot be made without eliminating the blocker
  3. Ready for Development
    1. Illustrates who is working on the task
    2. Captures notes and collaborates
  4. Ready for Review
    • QA Process
      1. Project Lead tests
      2. Client tests and approves
  5. Complete / Reviewed
    1. Record of activity
    2. Ready for staging

Deployment and Continuous Integration

Deployment and Continuous Integration (CI) are key practices in modern software development that streamline code delivery. Deployment releases new or updated software to staging and production environments, while CI frequently merges code changes from multiple developers into a shared repository. CI includes automated building and testing to quickly identify issues. These practices enable faster, more reliable software delivery, improve quality, and form the foundation of DevOps workflows.

Staging Environment:

A staging environment is a pre-production testing ground that closely mirrors the live environment. It allows developers and QA teams to conduct final tests, identify issues, and validate new features before deployment. This environment enables thorough integration testing, performance evaluation, and user acceptance testing under simulated real-world conditions. By using a staging environment, teams can catch and address problems that may not have been apparent earlier, reducing the risk of issues in the live production environment.

Quality Control Process in Staging Environment:

  1. Software Publication to Staging:
    • Software is pushed to the staging environment.
    • Related Kanban cards are moved to “Ready for Review” status.
  2. Craftsperson/Engineer Testing:
    • The responsible craftsperson or engineer conducts thorough testing and quality assurance in the staging environment.
    • This includes functional testing, performance testing, and user experience evaluation.
  3. Issue Identification and Resolution:
    • Any issues identified during testing are documented and addressed.
    • Fixes are implemented and re-tested in the staging environment.
  4. Client Review and Approval:
    • The client is notified that the software is ready for their final quality check.
    • Client tests the software in the staging environment.
    • Client is responsible for final approval before production release.
  5. Completion and Kanban Update:
    • Upon approval, the client either:
      1. Moves the Kanban card to “Complete” status, or
      2. Notifies Virgo Development that the software release is reviewed and complete.
  6. Preparation for Production:
    • Once client approval is received, the software is prepared for production deployment.

This process ensures multiple layers of quality control, clear communication between the development team and the client, and a final checkpoint before the software goes live in the production environment.

Production Environment:

The production environment is the final stage where fully tested applications are deployed for end-user access. It’s the live, public-facing version of the software. Pushing a site live involves moving vetted code from staging to production servers, ensuring proper setup of all components. This process requires careful coordination to minimize downtime and maintain data integrity. The production environment demands robust security, scalability, and monitoring systems to handle user traffic and quickly address post-launch issues.

Post Production Bugs:

Determining the cause of a post-production bug and assigning responsibility for repair

  1. Client identifies a bug and notifies Virgo Development via email.
  2. A craftsperson (engineer, developer, designer, etc.) investigates to determine the cause of the bug.
  3. The craftsperson analyzes the bug and its origin:
    • If it’s a genuine bug caused by Virgo Development’s work, we proceed with the repair at no additional cost.
    • If it’s not actually a bug or was caused by factors outside of Virgo Development’s work (e.g., client actions, third-party integrations), we charge the client for the triage time.
  4. Based on the analysis, responsibility for repair is assigned:
    • Virgo Development team if it’s our bug
    • Client or third-party if it’s not our responsibility
  5. The client is informed of the findings and any associated costs.
  6. Repair work is carried out by the responsible party.
  7. This process ensures clear communication, fair allocation of resources, and appropriate billing for bug investigation and resolution.

Virgo Development defines a bug as:

  1. A deliverable that has been published to the Production Environment that does not look or behave as specified by the client.
  2. A deliverable, published to the Production Environment, that does not meet quality standards.
  3. A deliverable, published to the Production Environment, that is missing a feature outlined in the Kanban, Agile Process.
  • The deliverable must be specified during the Agile/Scrum Process.
  • If a client requests an alteration to a deliverable in production, it is a billable item.
  • We set a reasonable time limit (90 days) with our clients to report bugs that have been published to the production environment. Once that time has expired, we will no longer resolve bugs for free.

Disputes

Virgo Development acknowledges an element of risk for both the client and the craftsperson in the execution of the policies outlined above. Virgo Development will work with the client and craftsperson to resolve any disputes in a fair, reasonable way.

Moreover, as a rule, Virgo Development accepts the risks and costs to resolve those cases where a client and craftsperson continue to disagree with regard to

  • Whether or not a bug exists and the nature of the scope of the bug
  • Whether or not a complete deliverable was made
  • In these cases where we side with the client, Virgo Development will pay the craftsperson or some other craftsperson to resolve the issue.
  • In those cases where we side with the craftsperson, we will pay them to remedy the situation, as needed.