Collaboration brings together expertise from various organizations and developer communities, contributing to more comprehensive and innovative solutions.
Effective task distribution and responsibility is crucial for collaboration in software development, which is especially challenging when working with multiple government partners, diverse developer communities, and multi-disciplinary teams of SMEs, Scrum Masters, data engineers and scientists, ML engineers, DevSecOps engineers, software developers, and analysts. However, it is paramount for successful mission outcomes.
Follow a playbook
At NT Concepts, we embrace innovation within proven frameworks to drive success. Our NT Playbook facilitates collaboration and orchestrates diverse teams by:
- Ensuring the right people, practices, and technology are integrated to seamlessly deliver value to our customers.
- Providing a common lexicon so that everyone speaks the same language.
- Breaking down team silos and integrating outliers.
- Creating a culture of innovation, communication, and transparency.
Our playbook accelerates customer value, innovation, and delivery by providing best practices for multi-disciplinary teams. The guide creates a shared understanding of mission objectives by facilitating the seamless integration of data, technology, science, and design.
We’ve pulled some of the best practices from our playbook for successful collaboration which can be tailored depending on team size and customer environment.
Build a framework
Our NEXTOps Framework creates a measurable workflow that drives collaboration, agility, security, development, and deployment. By integrating Agile Scrum teams, its operational environment supports the beginning-to-end orchestration of data, DevSecOps, and MLOps pipelines for seamless multi-team collaboration and solution delivery.
The framework underscores how all aspects of the solutions delivery should fit together—bringing transparency, repeatability, and shared clarity of purpose for diverse teams to analytic, engineering, and development projects.
Develop contributor guidelines
To facilitate seamless contributions from diverse development teams and provide a common lexicon, we use contributor guidelines, which outline a clear, structured process for internal and external contributors to follow on a per project basis.
Pulled from our Practice Area Library, the guidelines ensure that all team members follow the same standards and processes when working on a project and cover aspects such as environment setup, coding standards, pair programming, code reviews, testing procedures, and documentation requirements.
Maintain transparent communications
In addition to the face-to-face interactions facilitated by Scrum ceremonies (daily stand-ups, sprint planning, sprint reviews, and retrospectives), we use a variety of tools to standardize processes and foster daily communication, including Microsoft Teams, Jira, and Confluence. Teams use the tools that best fit their needs and/or customer environment, which can vary based on security classifications and networks.
We also have other touch points that occur less frequently, such as:
- Weekly/monthly tag-ups/status reports: We work with our customers to incorporate these updates into existing ceremonies, such as daily stand-ups or sprint reviews. If this is not possible, we provide the customer with access to tools such as a status dashboard.
- Technical Exchange Meetings (TEM): These may be informal or formal discussions in the form of backlog refinement or grooming, dependency mapping, release planning, etc.
- Milestone reviews/Performance briefings: These are product reviews and demos at defined stages of a project. For example, the customer receives a product demo at the end of sprints 2, 4, 6, and 8.
- Internal Project Reviews (IPR): An IPR is a two-way engagement to ensure that project managers and technical leads have what they need to be successful and deliver a quality product on time. IPRs offer a continuous improvement platform to share project insights, progress, and seek support and expertise as needed. It also ensures routine and direct engagement of practice area leads with project personnel to provide timely support and encourage the use of established standards and practices.
Choose the right tools, technologies, and practices
Embrace DevSecOps
DevSecOps is a key part of our agile culture. We integrate security and testing measures into every stage of development, which helps us mitigate risks early on and release software faster and more safely. DevSecOps also provides a shared language and vision for how to best approach development, and creates an environment and culture where development, security and operations teams work collaboratively during the systems development life cycle to frequently deliver features, fixes, and updates, in close alignment with business objectives.
Our curated suite of tools, packages, libraries, and versions ensure that our development, security, and operations processes are integrated and automated to create a standardized, secure environment that is compatible with software components from multiple sources.
- Terraform as infrastructure as code for version control, collaboration, and automated deployment.
- Visual Studio Code supports multiple programming languages and is highly extensible and customizable for teams.
- Docker ensures consistent deployment across environments.
- Kubernetes adeptly manages and scales applications.
- ArgoCD offers declarative, version-controlled deployments.
- Azure Pipelines and Google Cloud Build integrate with other services to improve our CI/CD processes.
- Jenkins, with its vast range of plugins and integrations, allows for pipeline adaptation to various technologies and workflows.
- SonarQube to automate security and quality scans, enabling early detection and remediation of potential vulnerabilities and issues. SonarQube provides continuous code quality inspection and automatic reviews with static code analysis to detect bugs, code smells, and security vulnerabilities.
By automating routine tasks, these tools drive efficiency and collaborative work.
Enforce code standards (aka Nobody likes a messy coder)
Standardization helps us maintain a clean, organized, and maintainable codebase. We follow a rigorous peer review process to ensure coding practices and code quality. This helps us identify errors, inconsistencies, and potential areas for improvement. Our teams employ pre-commit hooks and linters to enforce coding styles and standards. Such tools conduct automatic checks for style and formatting issues before committing changes, guaranteeing the codebase’s consistency and ease of maintenance. The employment of these checks fosters effective collaboration among developers from different organizations. Furthermore, it is a key factor in delivering the high-quality products that characterizes NT Concepts.
Establish code traceability
We track our progress and ensure that everyone is on the same page. Code traceability is crucial in collaborative software development projects, and we achieve this through version-controlled code repositories like Git. Our development teams diligently track all environment dependencies, changes, and revisions throughout the software development lifecycle, enabling developer and data teams from different organizations to collaborate effectively and efficiently on the same project.
Focus on the people
Building the right team for our customers involves more than finding uniquely skilled individuals. Instead, we focus our efforts on fostering relationships, cultivating mutual trust, and understanding the people dynamics that transform a diverse team of talented individuals into a cohesive, mission-focused entity.
To promote a culture grounded in trust, we prioritize empathy throughout our organizational structure. Empathy is crucial in dismantling communication barriers and ensuring everyone is prepared and eager to fill knowledge gaps or provide support.
Team building activities are our primary tool for breaking the ice between team members. Understanding your colleagues’ communication style makes it easier to unite and address the challenges as they arise. These relationships form the foundation of trust that enables everyone, from the project manager to the newest recruit, to come together and speak openly and candidly without fear or misgivings.
People are at the heart of our strategy. By focusing on them, we ensure that everyone is not just a part of the team, but part of a carefully cultivated environment that thrives on trust, empathy, and collaboration. We feel it’s our human-centric approach that fuels our ability to deliver quality services and solutions consistently and efficiently.
Lean into mentorship
In a collaborative environment, ineffective communication and misaligned expectations can be significant roadblocks. These challenges often stem from disparities in terminologies, development methodologies, and organizational culture leading to potential risks like project delays, technical debt, and lower product quality.
To navigate these challenges, we support each other’s growth and development to promote a deeper understanding of project requirements and objectives through mentoring, pair programming, communities of practice, agile workgroups, and book clubs. Mentorship helps to reduce ambiguity and ensure a consistent understanding of project goals. In essence, our role is to facilitate this exchange of knowledge and ensure uniform comprehension of project goals across diverse teams and stakeholders so that everyone is continuously learning and improving.
Emphasize agility and innovation
Central to NT Concepts’ operations is our ability to adapt to change and respond quickly to new challenges. We employ our Agile Scrum story pointing methodology, SumPoint℠, to ensure frictionless collaboration between our multi-disciplinary teams and stakeholders.
Unlike software development, which often entails well-defined and standardized tasks, data science activities are more exploratory, research-intensive, and less predictable, making traditional task estimation frustrating, and stalling overall team capacity and velocity.
Developed internally to meet the specific needs of data-intensive teams, SumPoint℠ addresses two shortcomings in traditional story pointing: a lack of scale and a failure to capture risk, complexity, and repetition for data scientists in the estimation process.
From a project management perspective, Sumpoint℠ aids in creating more accurate and nuanced task estimations, enables precise planning, enhances communication, and increases capacity utilization for a better product outcome.
From a people perspective, Sumpoint℠ significantly enhances team dynamics by reducing stress and burnout while boosting morale. It achieves this by providing a comprehensive understanding of task complexity and deadlines via guided templates and pertinent questions. Our methodology minimizes miscommunication, allowing teams to delve into tasks with clear objectives, which increases project execution efficiency, communication, and trust.
Our approach is data-driven, which resonates with developers and data scientists in a way traditional story pointing may not.
Final Thoughts
This in-depth exploration of our collaborative practices is intended to highlight our unique approach to managing people, processes, and technology in dynamic mission environments. We combine people-focused strategies, novel methodologies, and state-of-the-art technology to support innovative endeavors, moving away from outdated approaches.
Central to our approach is a deep appreciation for the role our team members play in navigating the challenges of mission support. Paired with that is a commitment to continuous improvement, exemplified by our proven in-house enhancements to Agile Scrum story pointing methodology, SumPoint℠.
Our goal is to empower everyone on a multi-disciplinary team, from project managers to developers to data scientists, to perform their work accurately and confidently while also focusing on systemic improvements to reduce burnout and improve morale. This holistic approach consistently enables us to not only deliver quality mission-critical solutions, but also to continuously evolve our collaborative practices to adapt to any mission, challenge, or change we may encounter.