During August, I will cover each of the project lifecycle phases and look at some of the software that is available to assist developers. First, let’s start with something that spans the entire lifecycle and helps orchestrate the team’s activities throughout its duration – collaboration.
Bringing the team together
The project lifecycle describes the four phases which provide an orderly structure for IT projects and help ensure successful delivery. As business velocity and agility increases, so too must the response of IT project teams. Over the past few decades, we’ve seen the emergence of Agile and other methodologies that aim to shorten the project lifecycle. Tools that provide greater efficiency and support collaboration are central to this. There has also been a shift towards CI/CD whereby projects drip feed incremental and more immediate benefits into the system.
Microsoft Azure DevOps provides dev teams with the tools they need for collaboration on CI/CD projects. These cover planning and progress workflows (Boards), CI/CD (Pipelines), coding collaboration (Repos), testing (Test Plans) and package management (Artifacts).
Boards allows you to plan, track and discuss project ideas, tasks and progress. You can use built-in scrum boards and planning tools to run sprints, stand-ups and planning meetings. Analytics tools and dashboards provide insight into the health and status of the project. If you’re already using GitHub, you can connect your repos to Azure Boards using the Boards Integration tool. Workflows are provided out of the box and there’s also a customisable engine which will allow you to build workflows that suit the team’s needs.
Pipelines are the conduit for CI/CD. These work with any language, platform and cloud. You can connect to GitHub or any other Git provider and deploy continuously to any cloud including Azure, AWS and GCP. Cloud-hosted pipelines are provided for Linux, macOS and Windows. These allow you to build web, desktop and mobile applications which can be deployed to any cloud or on‑premises.
Azure Pipelines support Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android and iOS apps. Furthermore, these can be run in parallel on Linux, macOS and Windows. You can build and push images to container registries such as Docker Hub and Azure Container Registry. Also, Kubernetes, VMs, Azure Functions (serverless), Azure Web Apps or any cloud. You can adopt stages, gates and approvals for your deployment strategy and deploy from other CI systems such as Jenkins. There’s support for YAML, test integration and release gates too.
These are closely linked with Pipelines to trigger builds, tests and deployments with every completed pull request. It isn’t necessary to abandon your favourite tools either. You can continue to use Git and TFVC repos on Azure Repos with your favourite editor and IDE. Productivity tools include a semantic code search that understands classes and variables. Policies can be used for code reviewer sign-off and passing tests before pull requests can be merged. These can also be customised. The pipeline can be extended from the marketplace or you can build your own extensions using web hooks and REST APIs.
Azure Test Plans
Test Plans supports both manual and exploratory testing tools across desktop or web apps. Planned manual testing allows you to execute and track scripted tests with actionable defects and end-to-end traceability. Exploratory testing, on the other hand, allows you to design and execute tests simultaneously using exploratory test sessions.
Artifacts is a fully integrated package management tool that allows you to create and share Maven, npm, NuGet and Python package feeds from public and private sources. Complex builds are simplified by storing the packages together which makes it easier to share code. This eliminates the need to store binaries in Git. Instead you can store them using Universal Packages. It’s very likely you’ll be using public source packages such as those from npmjs and nuget.org. These can be kept safe in your feed where only you can delete them.
Find out more
Check out the developer page to discover how Grey Matter can support you throughout the whole project lifecycle with a wide range of software tools and services. For team collaboration, these include on-premises Azure DevOps Server, cloud-based Azure DevOps Services, GitHub and services to help migrate legacy TFS code and projects to Azure DevOps.
On 25 August, we are hosting a webinar about how we can help you migrate from TFS to Azure DevOps. Sign up here.
Read the ‘Tools for the Lifecycle’ blog series: