The path from conception to deployment is not easy at all. Project managers, initially, had a scarcity of resources when it came to having their own toolkit for testing their product. They used to depend on PowerPoint decks, spreadsheets and general tools for analyzing product performance.
But this was not sufficient because these resources could not address their specific needs. This is why they needed more sophisticated tools, about which we will be discussing in detail, later in this article. These tools collaborate with each other or work independently to help deliver the best product.
What is the aim of releasing a product? To meet client goals and to help in business realization, right? Through correct product management techniques, it is possible for a company to align themselves with client goals and aspirations.
So what is Product Management?
It is a paradigm function that aims to drive a new product into the market with clever strategies. It should be aligned with customer demands in order to achieve market clarity. Product Management may be a fancy term now, but companies were doing it from a long time ago.
Even before this term was coined, companies used to assemble talented people to identify the market requirement or to address a pain point. Once proper brainstorming is done, a product will be released into the market after a few iterations and tweaks. A product strategy would be introduced whereby the company’s business goals would be realized.
A product management strategy would address the following aspects:
- How prepared is your product to meet the different requirements of your target segment?
- What steps you need to follow to make a punch release?
- What about the pricing and licensing details of the product?
- How are you going to position the product in the market?
Pillars of Product Management
Here are seven main steps that would ensure you have a good product development and release.
1. Idea Generation
Every big thing happens with a germ of an idea. Similarly, before each product is released into the market, you need to have an idea of the product. This idea is then whetted and grown through several brainstorming and discussion phases.
The viability of the product would be tested through a SWOT analysis. SWOT means analyzing the Strength, Weakness, Opportunities and Threats concerning various possibilities. While analyzing SWOT, consider the current market trends as well.
2. Idea Selection
You have a plethora of ideas, many of them really good. As it is not possible to go forward with all the ideas, the next would be to screen them all and go with the ones that would seem best under the circumstances. Considering the market potential, affordability and the ROI are important aspects.
A product roadmap is the next important step in product management. It is like a visual document that would contain all the details of your product, the direction it is moving and what you expect to get from it in the end. Roadmap will contain your product strategy and how your product would come out in general.
This is of course, the product development stage where a prototype of the product would be created and passed on to the technical and marketing department for their approval. Based on the prototype, the marketing team would devise a strategy that would be ready to go by the time the product is ready for release.
Agile methodologies and coding are followed here. It is also a fact that developers now deviate from the traditional project management methodologies to adopt agile practices where the focus is on different aspects of the program, in different iterations.
They also introduce the art of coding to their development work to ensure it is easy to read, understand, modify, maintain and enhance.
5. Testing/Quality Analysis
Once the product is developed according to the prototype, it needs to go through stringent testing and Quality Analysis programs. Testing will also involve the actual product as compared to the prototype. This process is very important to refine the different elements of the product right to the stage where you need to position it for marketing.
Just prior to the launch phase, the people behind the product work in close alliance with the engineers, developers, marketing team and customer support team to ensure the product meets specifications. And once the coding is perfect and there are no more bugs or errors, the product would be ready for launch in the market.
7. Customer Feedback
The entire product development stage faces fruition only when you receive customer feedback. Customer feedback might bring attention to any shortcomings that you’ve missed during the product development stage. Thus it is a valid step for validating the quality of your product in the market.
Best Atlassian Collaboration Tools
For the success of product management in enterprises, you need to utilize certain tools for better build and visibility. With a tool, you can create a roadmap of the app that you plan for release and present it to your stakeholders. These tools would help you create milestones that aid in decision making and achieve business goals.
The tools can also help you prioritise the different features of your app, collaborate with different teams and reach milestones faster than planned.
Enterprises have begun to work with Atlassian tools and agile methodology to achieve their business goals. In this article, we will be explaining about 6 of the most important Atlassian collaboration tools that help in better product development and management.
1. JIRA – for Agile
JIRA is the #1 Atlassian project management tool for agile teams. Make use of Portfolio for JIRA to avoid unexpected surprises and to chart a roadmap that would keep you in the know-how of what’s what. This makes it transparent.
JIRA can support any type of Agile methodology be it Scrum, Kanban or any methodology of your choice. With JIRA, you can plan, issue track and release your software as planned and with the best results.
JIRA comes in three packages:
- With the base software
- Includes JIRA Core and JIRA Agile
- JIRA service desk
Here are the main features of JIRA:
Sprint Planning Tools
With JIRA, developers can estimate stories, adjust the sprint scope, adjust velocity and do a lot more. Sprint, in product development, is the Scrum term for iteration. Scrum teams need to ensure that the project moves as planned and they do this by setting a time period for the completion of a particular part of the project.
Through the Scrum approach, you assemble all the requirements of the project and then use them to define the project. JIRA offers some best sprint planning features like version management – for tracking versions and progress, easy backlog grooming – for re-prioritizing user stories, bugs, etc. and story points – for maintaining accuracy in future sprints.
Daily Scrums or Standups
Once the project starts, you plan the necessary sprints, then divide them once again with a set of requirements for each. To ensure there are regular inspections and project reviews, daily scrum meetings are held. JIRA helps you to review the previous day’s work followed by setting targets on what needs to be completed on a particular day.
Tracking and Managing Sprints
Each time a sprint is completed, you review it to check whether anything needs to be done to improve in the next sprint. Thus in each sprint, you have a functional part of the project that would be thoroughly tested before moving into the next.
JIRA features like Sprint permissions, Custom issue types, Workflows and Release hub gives you a clear idea of the progress of the work done in each sprint so that your team can effectively identify any bottlenecks in the tasks assigned.
At the end of sprints, you can hold a retrospect meeting to go through the product once again to gauge its performance. If necessary, changes and adaptations will be planned and made. This can be done with JIRA retrospective scrum reports like Burndown chart, Velocity chart, Cumulative flow diagram, among a few.
Other features of JIRA include:
- Scrum Boards – Scrum boards gives you a overall view of the activities done within each sprint.
- Out-of-the-box reports – You can rely on the real time insight of team performance over each sprint
- Roadmap planning – A very useful feature when you need to plan and forecast a real-time roadmap
- Custom Filters – With the help of JIRA Query Language (JQL), you can immediately capture all the critical issues
- 1000+ addons – Helps you to put in addons like Portfolio for Jira, Zephyr, and so on
- Customizable workflows – You can customize the workflow anyway you want it
Another distinctive feature of JIRA is that it can be easily integrated with tools like Confluence, Bitbucket, HipChat,etc. using a rich set of APIs.
Pricing for JIRA is dependant on how many people you have on your team. It would be $10 per month for 10 users going up to $1500 for 2000 users.
2. Confluence – for Documentation
Confluence is a team collaboration software used for documentation, written in Java. Atlassian markets it; hence it works seamlessly with other Atlassian products like JIRA, Bamboo, FishEye, etc. Confluence offers commendable transparency and it’s flexible too; so all the team members can work in an organized manner.
Whether it’s creating, publishing or even accessing company information, the team can do all this work in a single platform, making it easy for projects to move without a hitch. With its team documentation feature, you can easily capture and store all the work done by your team, so everyone stays on the same page at any point of time.
The main features of Confluence are:
It can Create Anything – With Confluence, you have the power to create anything be it meeting notes, project plans, product requirements. You can even add multimedia and dynamic content.
Instant Feedback in Context – The feedback on the work can be given on the work itself, complete with inline comments, eliminating the need for email or chat.
Integration in a Single place – There is space for everyone in the team, however big or small the project is. It helps in keeping the knowledge and information in one place, which can be searched and found at will.
Work while You Move– It helps you to work from anywhere; for example, when you are travelling, you get updates about your team’s work. Also teams spread across the globe will have no problems sharing their work with you. This is achieved through Confluence Cloud app.
Disaster Recovery – As disaster recovery strategy is a key benefit of Confluence, it plays an important role in business continuity. The entire file system will be fully replicated.
Efficient Document Management – Confluence makes it easier to make documents, centralise all of the contents and plan for iterations
Can be Connected with JIRA – This helps in better transparency, thereby aiding in connection with customers.
Besides these features, Confluence can be easily synchronised between desktop and mobile – you can easily navigate your saved data from desktop to your smartphone and vice-versa without the fear of losing any of your work data.
Pricing for Confluence will depend on whether your team is hosted in the cloud or on your server (self-hosted).
For cloud teams – Free for 7 days; rate will be $10-$100 per month. For self-hosted teams – Free for 30 days; rate will be $10-$200,000 (size of the team)
3. Crucible – for Code Reviews
Crucible is a web-based collaborative code review tool that helps you monitor and detect major defects and improve codes. It is lightweight – meaning it has less syntax and can be easily implemented by distributed teams to get quick code reviews, complete with inline comments and threaded conversations.
With Crucible, you can be assured of high quality codes because flaws are immediately detected. It gives you reports and reviews of the code status, enabling you to have an idea of the changes to be made.
Take a look at the main features:
Code Review Tool – Reviewing the code with this tool would help catch some major errors in the code structure. This would trigger discussion among the team members at the end of which changes could be made.
Clear Inline Discussions – You can get right into the code with inline comments, mentions and threaded discussions if you want to communicate with your team members.
Well-Organized Activity Streams – With the help of the Activity streams feature, you know what is happening in your project at any given point of time, complete with comments and all.
Simple Audit and Compliance – You can use Crucible to trace the history of a particular code review which you accessed or skipped earlier.
Integration with Jira, Github and Bitbucket – With the integration with JIRA, Github and Bitbucket, you can handle and resolve code issues in a single time-saving interface. This allows you to improve your development workflow through email notifications, side-by-side diffs, smart commits – both pre and post commits, Source and Review Tabs.
You can use Crucible’s native repository access and connect to Git repository, and a Git hosted in Bitbucket Server makes it much easier. To interact with Git repository, you need to execute the Git command separately.
Small teams can make a one-time payment for unto 5 users. Free usage for 30 days. For larger teams, you can choose to make the one-time payment for $1000 for up to 10 users. Crucible is also available with a 30-day free usage.
4. FishEye – for Version Control
FishEye is an Atlassian owned advanced revision control browser and search engine. It allows you to compare, visualize, track and search for code changes – all in a single platform. The main advantage of FishEye is that it gives a visualized form of all the code changes that’s made in the repository.
Used mainly for open source projects, the term ‘revision control’ in FishEye also means version control. When large amounts of information are present, and you need to make changes to a few of them, then you can make the revisions and each change would be given a number.
Some of its superb features include:
Diff Tool – FishEye comes with a Diff Tool that gives you a side by side comparison and understanding of the code changes
Perfect Activity streams – Real time activity streams in FishEye gives you an idea of what’s happening in your project. Gives overview of commits, JIRA software issues and Crucible review activities.
Accurate Code Search – With FishEye, you can make code searches easy with just file names, usernames, wild cards and so on.
Tracking Code Activity across any SCM – FishEye makes it easier for you to browse, index and search from different source code management systems like SVN, Git, Mercurial, CVS and Perforce.
Integrates with Jira, Bitbucket – Once your FishEye is set up, it allows you to configure JIRA automatically. The integration would give you a quick and guided path to software development process. The integration with Bitbucket, and adding the repositories are quick and can be done with a single click. This makes indexing, browsing and searching easy.
Usage alongside Crucible – Using Subversion, Git, Mercurial, CVS or Perforce would help you to integrate Crucible and FishEye for extracting information and managing code reviews.
With a one time payment of $10, up to 5 users can use FishEye. This is more suitable for small teams. For larger teams, a one-time payment of $1000 would be sufficient for unlimited users.
5. Bitbucket – for Collaborative Revision Control
Bitbucket acts as Git solution for professional teams. Its main functions are coding, managing and collaborating with the team. And it doesn’t merely collaborate; it can do this at a large scale. Written in Python using Django, Bitbucket enhances the functions of revision control systems like Git and Mercurial.
Here are some of its main features:
Effective Code Collaboration – Bitbucket enables code collaboration using using pull requests. This helps in more efficient code reviews.
Massive Scaling – Integrated with Bitbucket Data Center for a fast performance
Flexible Deployment Models – Flexibility is one of the greatest features of Bitbucket, irrespective of the size of the team or its location. You can manage in the cloud, Bitbucket Server & Data Center.
Branch Permissions –Helps in eliminating errors by controlling the actions. You need to get granular permission at each level.
Inline discussions – The team can hold discussions right in the source code.
Diff Views and 3rd Party Integrations – Integrates beautifully with Bamboo for continuous integration, HipChat for team chat and with other systems through Bitbucket web hooks.
Integrates with other Atlassian Products – Bitbucket works with other Atlassian products to help build high quality, performing software.
Bitbucket Pipelines helps you to build, test and deploy from Bitbucket. The good news is that you don’t need to integrate this tool specially to build accounts or agents. You can easily connect the repository with your Continuous Integration tool.
Additionally it makes the entire development workflow seamless, right from code to the deployment stage. All you need to do is select the repository, activate the pipelines and that’s it. Add Bitbucket-pipelines.yml file to the root of your repository to activate Bitbucket Pipelines. Now you can see the build statuses whenever and wherever you need it.
Git Large File Storage by Bitbucket is actually a Git extension and developed by Atlassian, that lets you handle large files with ease. The download is done during the checkout and not during cloning or fetching. Git LFS does the downloading differently by replacing the large files with tiny pointer files and stores the files in a local Git LFS cache. These are then handled automatically during normal usage.
When new commits are pushed, the files from the local server are transferred to the remote Git LFS store attached with your Git repository. And when you checkout, commits with Git LFS pointers would either be replaced with files from your local Git LFS cache or taken from a remote store. The advantage with Git LFS is that you don’t need to change the Git workflow at checkouts.
Bitbucket Data Center
BitBucket Data Center is the upgraded version of Bitbucket server whenever required, Atlassian’s Bitbucket being the Git code management solution for enterprise teams. It is extremely useful as a non-premises Git repository management solution for larger enterprises, providing high availability and infrastructure flexibility. Bitbucket Data Center uses a cluster of Bitbucket Server nodes for the following functions:
Clustering – where you can run your Bitbucket instance on a cluster of multiple nodes, offering scalability with no downtime, high performance and availability.
Smart Mirroring – providing local mirror nodes in different geographical locations enable quick and trouble-free clones and fetches.
6. Bamboo – for Continuous Integration
Bamboo allows you to focus on coding while it does all the Continuous Integration faithfully. It performs a number of functions like creating multi-stage build plans, setting triggers for builds and assigning agents for all crucial builds and deployments. It does all the testing and deployment in a single workflow.
You can do Continuous Integration testing automatically and quickly with Bamboo. Catching bugs with Bamboo is much easier because you can make use of both parallel automated tests and agile development.
One of the clear-cut feature of Bamboo is that it integrates smoothly with a host of softwares. It connects with repositories like Git, Subversion, Perforce, etc., supports build tools like Ant and Maven, testing tools like Selenium, PHPUnit and JUnit besides importing data from Jenkins.
Here’s a snapshot of its other features:
Rich Tech Stack – Use Bamboo with any language and technology, especially with AWS CodeDeploy, Amazon S3 and Docker. You have the freedom to make free add-ons, choose from a growing variety of available tasks for both build and deployment.
Excellent for Deployment – Bamboo makes it very easy for deployment projects and environments.
Dedicated Agents – This helps in running hot fixes and critical builds. You no longer have to wait in the queue for fixing the critical bugs even with free build agents.
Wide Visibility – For the release managers, there is a great visibility on what’s going live. The Ops teams can expect what will happen during deployment and what they will be responsible for.
Integration with other Atlassian Products – When Bamboo integrates with Bitbucket, FishEye, HipChat and JIRA, there is amazing traceability, right from the development stage to the final delivery stage. Additionally, visibility is enabled for pull requests, deployments, builds and more.
Running Parallel Tests – Run batches of tests in parallel with more than 100 remote test builds, and gives feedback on a timely basis.
Proper Quarantine – Distinguish between the red and green builds, while keeping the green builds with a single click quarantine.
Effective Branch Detection – No suffering of code quality here. New branches like Mercurial, and SVN repos are detected, while CI theme automatically there.
For smaller teams, the pay is at $10, up to 10 jobs. For larger team, the pay is $800, for unlimited jobs.
The tools that we have mentioned above prove that project management tools are a varied category, and each tool contains a cocktail of responsibilities that can be mixed and matched. You can adjust the features to suit user requirements, but it is also important to track their reactions first.
With these Atlassian products, you can easily take your product development to the next level. The best thing about these tools is that they integrate with one another to deliver the best results, enabling your team to deliver the best through agile means.
Interested in kickstarting your new product development with Atlassian team collaboration tools? We will help you.