How to use statistics to overcome challenges when moving to microservices

April 30, 2020
#Analytics#How To#Confluence#Bitbucket
10 min

Agile software development has been dominant in software engineering for years. Its methods have helped teams manage work and perform efficiently while delivering high-quality results. Microservice architecture is one of the approaches that implements the Agile practices:

Microservice architecture is a style of structuring large complex products as a collection of individual services that can be developed and maintained independently, making the software more flexible and increasing its scalability.

While microservices may seem as a silver bullet upfront, nothing comes easy. The migration can result in deployment challenges as well as make global testing and debugging more difficult. Apart from purely technical side effects, it requires a cultural shift in organizations and strong project management.

In this article we focus on the challenges related to the management of microservices and describe the ways to overcome them using aggregated data and statistics:

We’ll teach you how to turn your Confluence instance into a full-fledged BI tool and how to:

  • identify dependencies between teams 
  • see if there is a lack of collaboration between members
  • find pilot teams to implement new processes in
  • check if you are actually moving away from the monolith.

Imagine now that you have a hostel marketplace application where people can find and book a stay. Recently you’ve decided to migrate to microservices, so now the whole application is split into independent services, each having its own repository, and you need to organize your teams and the processes the right way.

Resolve dependencies and build the teams

When done correctly, microservices work so that you can build, test and deploy them without affecting each other. To achieve that you need to recognize and then eliminate dependencies between the teams.

For that purpose you can build the following graph and see the distribution of contributors on the project level:

The graph shows the number of commits made by users, so you can identify service owners, see the interactions between the members of different teams, and spot deviations in terms of who does what, e.g. if there is somebody from the team A working on the team B’s service. The latter can result in delays in the development process and an increase of idle time caused by lags in communication between the developers.

The same graph can also indicate the anti-patterns in teams’ culture. Being a member of an independent team can help developers work more effectively. But some teams just lack the concept of collaboration. So instead of having the work distributed among the developers, it happens that only the so-called “service owner” ends up working on his microservice. In addition to a drop in the morale of the developer, this may affect the quality of the code as there is nobody to review it.

You can use this graph to find services led by one person and then make informed decisions to improve the team culture.

Experiment without risk

The variable development processes and independence are clear benefits of microservices architecture. Teams don’t have to align with the others and that allows you to test and implement new processes without paralyzing the workflow even if something goes wrong. This way you can try to introduce new practices to improve the quality of your software, such as unit testing, code review, pair programming, you name it.

To start the implementation of the new processes it’s important to find the teams that have been operating efficiently and are currently active. The number of commits and pull requests can be used as an indicator of the active state.

The two following graphs will help you to find pilot teams to hold experiments:

The graphs show the activity of the teams by month for the last quarter, indicating the number of commits and pull requests respectively. Now you can compare the results and find the teams that have a lot of commits and none or few pull requests — those will be your perfect candidates.

See the monolith breaking

Moving from the monolithic systems takes a lot of effort so it’s important to keep track of where you are in this journey. Apart from staying motivated as you see the changes (or not yet), you need to make data-driven decisions to improve the processes and lend support to your teams.

To get the full picture you may use the graph that shows the changes in the codebase:

It displays the number of lines of code deleted and added around the project. Using this information you can see the breaking of the monolith: if the number of lines of code deleted is increasing steadily for the monolithic repo while more and more lines of code are being added to the new microservices repos, then you are going the right way.

Make the data work for you

While migration to microservices may seem costlier in terms of the amount of work for managers, that is the investment that will pay you back with faster development processes, increased scalability and adaptability. And we hope to make your way easier here. 

The tips described in this article will help you gain more visibility into the current state of the processes and unleash the potential of your teams. Using the Awesome Graphs for Bitbucket app as a data provider and the Table Filter and Charts for Confluence app to aggregate and visualize the data, you will get the functionality that is on par with dedicated BI software platforms.

Want to know how to build the graphs and charts from the article? Read our step-by-step guides and try yourself!

Atlassian Remote Summit 2020: New experience for all of us

April 10, 2020
#News
6 min

At times like these, when our well-being is essential and should come above everything else, companies all over the world had no chance but to cancel or postpone their conferences. Atlassian decided to organize the first Atlassian Remote Summit to help users from different countries meet Atlassian experts online and learn about important Atlassian news and achievements.

Just imagine that almost 29k people registered to stay connected with Atlassian!

All sessions were on-demand, so if you had no chance to be online, you can still watch them using this link: https://atlassian.swoogo.com/summit20_live_stream/on_demand

In this blog post, you will find information about the most exciting announcements made during April 1-2.

Day 1 – Atlassian keynote: Unleashing the potential of all teams

Atlassian co-founder and co-CEO Scott Farquhar, Kelly Drozd, Agile Delivery Manager at St. Jude Children’s Research Hospital, and other Atlassian leaders showed us new ways to bring remote working on a new level.

We will describe the main news from this keynote briefly.

General updates:

  • Every Atlassian product is now available for free for all teams with up to 10 users because so many organizations worldwide deal with remote working for the first time and need support in this challenging task.
  • Atlassian will support educators with a free subscription to Trello Business Class for a year.

Bitbucket:

  • To avoid switching between Jira and Bitbucket, Atlassian introduced Your work dashboard in Bitbucket, where you can get the essential information about your projects.

Jira Service Desk and Jira:

  • Jira Service Desk integration with CI/CD tools. Now Bitbucket pipelines, Jenkins, CircleCI, Octopus Deploy can automatically create a change request within JSD.
  • New incident bulk linking for OpsGenie and JSD.
  • New capabilities for roadmaps in Jira: hierarchy, progress bars, drag-and-drop dependency mapping, Confluence macros for sharing roadmaps.
  • Introduction of Jira Service Desk Templates (for such teams as HR, Legal and Facilities).
  • Trello’s Butler automation tool comes to Jira and Slack.

Confluence Cloud

  • A new fresh look of the home page.
  • Page analytics is now available at the standard tier.
  • Confluence Template Gallery that allows you to access so many useful templates. Check Risk assessment matrix template powered by StiltSoft (smile)
  • A new macro browser.
  • Inline comments are now available in the edit mode.

Day 2 – Atlassian keynote: Business transformation

Atlassian co-Founder and co-CEO Mike-Cannon Brookes, Intuit CEO Sasan Goodarzi, told the viewers all over the world about the role of Cloud in an organization’s transformation journey.

General updates:

  • Mike announced the dates of Atlassian Summit 2021 in Vegas: April 20-22.
  • Users can get smart notifications for Jira with email digest instead of multiple emails.
  • You can join the waitlist for Atlassian Forge that offers the new standard in app development for Cloud.
  • Atlassian introduced the Premium tier for Jira Service Desk.
  • Integration of Jira Align and Trello.
  • Atlassian Cloud Enterprise is coming soon. This enterprise plan supports unlimited users, sandbox, centralized user billing, release tracks, and more.
  • New Jira Cloud Migration Assistant will help users to move data from Jira Server to Jira Cloud.
  • Improved branch configurations for Bamboo: users can set build configurations per branch.

Improvements for Confluence and Jira Data Center:

StiltSoft Virtual Booth

Atlassian Summit was always an excellent opportunity for all Atlassian vendors to meet our customers and tell Atlassian users more about our products. This year, we did our best to stay connected. So we opened a virtual booth where everyone could book a demo to learn more about our apps.

We knew that Atlassian users were missing swag from us. For that reason, all attendees of the booth got a chance to win the $200 Amazon gift card.

Check out our page on the Atlassian Marketplace to see the apps we develop to boost Atlassian products!

How to Track Progress Over Training Courses in Confluence

April 7, 2020
#How To#Confluence#Learning Management
6 min

Here, in izi LMS team, we’re doing our best to create features our customers need the most when it comes to training courses in Confluence. Today we are pleased to present a new report in izi – LMS for Confluence that will be extremely valuable in the analysis of your organization’s learning process.

With Course Results Report, you’re able to generate reports based on courses you have in Confluence. It’s a macro that you can insert into any page and get a report for all or several courses, participants, and their progress. Course Results Report saves you time you could spend collecting data from each course individually.

View all courses’ results in one place

Earlier, an administrator could get a report for each separate course only. Now you can keep reports about all the courses on one page. To get a global report about all courses, all you have to do is to insert the Course Result Report macro to the page. As a result, you have a table that includes information about all courses and employees that were enrolled in them.

This report can save you time in several cases. For instance, when your Learning & Development team wants to track all courses and their participants in one place. Or when your management needs a global report on all courses taken by employees this year.

Enjoy a flexible report configuration

With the help of the macro, you can include only those courses and participants you need for your report. A report can be based on a user group and their courses. Also, you can create a report for one single participant and include all or several courses passed by this person. It is convenient, especially if your supervisor wants to know how learning goes for each of the employees in their team.

Share course results with your colleagues

A ready-made report can be shared just like any other Confluence content. Imagine how handy it can be when you need to share particular course results with a supervisor or team lead.

Refine your training courses in Confluence

Moreover, you can power up your reports with the help of the Table Filter and Charts for Confluence app. In a bundle with izi – LMS for Confluence this app takes your course analytics to a new level.

You can easily filter report results when you need to find all the participants who only started the course. It comes in handy when you have a lot of course participants. You can also use reports to build insightful graphs to rapidly get an overview of your colleagues’ progress.

track course progress in Confluence

Track effectivity of learning with Top LMS app for Confluence

Try the new version of izi LMS to have a better understanding of the learning process in your organization. Course reports can help you enhance your education program and check course results on the fly.

Nelson Mandela once said, ‘Education is the most powerful weapon you can use to change the world.’ We can do nothing then agree because well-educated employees are a key to a prosperous and successful company. Create more educational material for your employees – izi – LMS for Confluence is there to help you.

How Broadband Forum Uses Talk and Confluence to Get Answers in Context

September 26, 2019
#Case Study#Collaboration
3 min

Broadband Forum, our Talk – Advanced Inline Comments for Confluence customer, delivers ultra-fast broadband services for home and business, access and converged 5G infrastructure, and Cloud with the help of the innovative use of NFV, SDN, Ultra-Fast access, and IoT.

Broadband Forum is a member organization. It aims to accelerate the adoption of their work to bring new, valuable services to their member companies and all stakeholders who use the developed work.

In the company, the Talk app is used by its technical participants, who are hundreds of users from more than 150 different companies. They develop technical standards for the global telecommunications industry.

Easy communication inside Confluence

The Talk – Advanced Inline Comments app helps the Broadband Forum participants communicate about logistics, administration of projects, and technical issues. Their Confluence users get to ask questions in Talk inline comments, which are added to the needed parts of the page content. It gives the insightful context for everyone involved in the conversation.

Automatic notifications about new discussions and replies sent to the watchers of a space assure that the right person jumps in and provides a timely answer or feedback. Talk Report allows Broadband Forum to track and easily find unresolved discussions that are pending for way too long. With the help of suggestions, the users can propose a change on a page without editing the content.

The team also appreciates that they can view, add, and resolve comments in the editor and set priority to discussions to signal others whether it waits or they expect a quick follow-up.

Challenges and benefits

The Talk – Advanced Inline Comments app made technical discussions much easier for Broadband Forum. The users can easily ask questions and rapidly get answers next to the discussed information on Confluence pages. Seeing all Talk comments of a space in one place, working with inline comments in the editor and giving priority to threads of comments take collaboration on technical issues to a new level.

How to Work with Sensitive Data in Confluence

September 4, 2019
#How To#Confluence#Case Study
6 min

Today we continue to browse the Atlassian Community and help its members to adjust Confluence to their needs. In our previous blog post, we answered several questions related to Confluence templates. This article will cover all the tricky cases that you can face while working with page restrictions in Confluence.

How to protect sensitive data from unauthorized access

Imagine that your company uses Confluence to create multiple documents. Some data (for example, shared passwords, salary account details, etc.) is confidential and shouldn’t be available to everybody.

You’ve heard that Confluence allows you to restrict certain users from viewing single pages. So, you are determined to hide your new page from everybody but your colleague Erin Lee.

How do page restrictions work?

Page restrictions allow you to prevent certain users or groups from viewing or editing pages. If you can’t view a page, than you won’t find it in the page tree. If you can’t edit a page, than you won’t see the “Edit” button.

View restrictions are inherited: a restriction applied to one page will cascade down to its child pages. You can always check the restrictions dialog to see if there are any inherited restrictions that might affect who can view your page.

Edit restrictions are not inherited and should be applied manually to every single page.

How to request access to a restricted page?

You can request permission to view a restricted page if somebody shares it with you or you go to the page directly via a URL. In Confluence versions up to 6.7, the last editor of the page will be notified about your request. If you are using newer Confluence versions, up to five users with the ability to grant access permissions will get this notification.

There are some cases when the request access message doesn’t appear:

  • The page has inherited view restrictions from a parent page.
  • You don’t have the permission to view this space.
  • Your Confluence instance doesn’t have a mail server set up, so your request can’t be sent any further.

What permissions do you need to apply page restrictions?

To add or remove page restrictions, you need to have both the Add pages and Restrictions permissions that can be assigned to you by the space administrator. If you have the Spaсe admin permission yourself, you can easily work with page restrictions.

Can you hide pages from administrators?

The short answer is “no”.

There are two categories of users that can view all the pages in your Confluence instance, regardless of space permissions or page restrictions:

  • the System administrator;
  • members of the default confluence-administrators group. Generally, your Confluence administrators belong to this group.

Note that space administrators can remove page restrictions and view the content of all pages in their space.

Time to practice

As you’ve learned the basics, let’s return to your task. Imagine that you need to develop a new secret project related to biscuits and their production. Only you and your colleague Erin Lee will have access to the corresponding page. Here it is – look how attractive your content is. The required information is structured and visualized with the help of different Confluence macros, so feel free to use them while creating your own real-life documents.

All you have to do is to set the required page restrictions.

Now only you and Erin can access the “Biscuits” page, but it will just disappear for your other colleagues.

Take our Quick Start with Confluence Training Course

If you want to boost your productivity in Confluence, create well-organized and attractive pages, cope with everyday issues and routine tasks more effectively, watch our free Quick Start with Confluence training course. Follow our tutorials and learn more about the most common real-life use cases.

Related posts

How to Easily Adjust Templates in Atlassian Confluence

August 15, 2019
#Case Study#How To#Confluence
9 min

In its 15 years of existence, Confluence has become one of the leading solutions for building knowledge bases and creating documentation together with your team. However, a lot of companies are still getting used to the new software after migration and a lot of organizations that use Atlassian products still hire new employees without Confluence experience.

Naturally, novice Confluence users have lots of questions about the new software:

  • How to create required documents and format their content?
  • How to protect sensitive data and share public information?
  • How to organize meetings and discuss projects?

You can use various Confluence features to achieve your goals and automate everyday routine tasks. But sometimes it is not obvious for novice Confluence users what tools to choose for this or that case. So, they reach out to more experienced colleagues or may post questions on the Atlassian Community. For example, we’ve recently found a lot of questions about Confluence templates there.

Atlassian community questions

A template is one of the most useful Confluence features that can significantly ease your working life. After reading this blog post, you will be able to use templates freely.

Use case: creating and managing release notes

Imagine that you work in a software company that uses Confluence on a regular basis. Your department has a real disaster with its release notes pages. Everybody creates them chaotically at different levels of the space page tree. Besides, your colleagues use their own page structures and decide what information to add themselves. Every page looks differently. The users also give various page titles and forget to add labels. So, it is rather difficult to find the required data.

Let’s use Confluence templates and deal with this mess together.

What is a template?

A template is a Confluence page with predefined content. There are two kinds of templates:

  • Global templates that are available in every space of your corporate Confluence site. These templates are defined by your Confluence administrator.
  • Space templates that are used in a specific space. Space templates are defined by space administrators.

Why do you need templates?

You can create new pages based on templates and save your time on content formatting. Just click the “Create from template” button and choose the required item. Let it be the standard “Meeting notes” template.

Jira templates

Now you can follow the instructional text and fill out the required fields of your document. Note that all instructional text disappears as you type in your own information. You also can’t see instructional text while viewing a page.

Meeting notes template

When you create a page from a standard built-in Confluence template for the first time in a space, a new shortcut and an index page will be created. Space shortcuts allow you to access your pages quickly and easily. The index page displays a list of pages based on this template and certain summarized information about them.

meeting notes in Confluence

Here is an example of the “Meeting notes” index page:

Meeting notes index page

Where can you find templates?

If you have the Space admin permission, go to the Space tools menu and find the Content tools → Templates. Here you can see all the space templates: built-in and customized (created by the space administrators).

Confluence space templates

What can you do with templates?

You can easily adjust Confluence templates for your needs:

  • Promote a template if you want your colleagues to pay attention to it and begin to use it constantly. All other templates will be hidden under the Show more linkIf someone uses the Show more link more than three times in a single space, the dialog will show you all the templates by default from then on.

Promoted template in Confluence

  • Edit an existing template to customize it: add and delete macros, variables, tables, labels, images, and instructional text. Work with your template like with any other Confluence page. The only difference is that you can’t upload images or attachments directly to your template, but you can find them on other pages. Having a special page as a resource library for these types of things is recommended.
  • Create new templates if you have any specific corporate documents that you want to use in Confluence.
  • Delete/disable a template if you don’t want it to be available in this space.

Note that you can use page templates only when you add a page. It is not possible to apply a template to an existing page.

Let’s resolve your case

Now that we are done with the theory, let’s return to your task.

Step 1. Design your own template

As there are no any built-in “Release notes” Confluence templates, you need to create your own new template. Feel free to use instructional text and don’t forget to add labels if you want to assign them automatically.

To add instructional text go to the Template menu of your toolbar and choose the corresponding item.

Create release notes template in Confluence

Step 2. Share your template with the team

Now you need to show your colleagues that the “Release notes” template exists. You can just promote it.

Promoted release notes template

Step 3. Get your page tree organized

Now you need to organize all your future release notes pages within the space. Create a new parent page for them and add the “Create from template” macro to it. Edit the macro body as it’s shown in the slide below: choose your new template and customize page titles. Now your colleagues can easily create release notes pages directly from this parent page. 

Create from template macro

Check the results

From now on the release notes pages will have the same structure, titles, labels, and parent page. Your space will be organized neatly, and it will be much easier to find relevant content.

Confluence templates

How to quickly learn all Confluence features?

If you want to know more about real-life challenges in Confluence, take our free Quick Start with Confluence training course.

Our motto is “one use case, one module”. You’ll learn everything you need for the case in the corresponding lesson and boost your productivity immediately.