Fast tracking into new projects through note-taking

In this blog post you will learn techniques that will allow you to fast track into new projects by using organised notes both on paper and in digital format. This will help you become an independent and productive team member so you can contribute early on to the project’s performance.

When you work as a software consultant or as a freelancer in software development, you might have to switch projects. You can familiarise yourself in advance with the technologies or the process methodology the other team uses. However, the project environment will be different, and will have its own stakeholders, ways of documenting stories, abbreviations, etc. Usually, you need to get used to those changes over time, which will slow you down at the beginning. In this transition time, you depend on other team members and your decisions have to be thought out carefully until you become familiar with the project. Clearly, it is desirable to keep the transition time as short as possible so new team members become productive in the project and can contribute to the project’s performance. A way of achieving this is by taking notes in a structured way. For example, writing down repetitive procedures helps you be independent faster from other team members. To that end, it is important to take notes when joining another project in order to become an efficient team member as fast as possible.

Taking notes on paper

Storing notes electronically is the standard way to go. However, having a laptop always on hand or typing on a phone is not always an option. Thus, a combination of old fashioned paper notebook and laptop is the best combination.

Before you start, you need a paper notebook that is not too thick and has a convenient size, an A5 format for instance. It should be a hardcover notebook so it does not bend in situations when no table is available. It should also have pages that you can easily tear out. The idea is that you can throw away your paper notes after you have transferred them onto a digital medium. In addition to your notebook, a simple pen or pencil will suffice.

Methods to organise notes on paper

Remember, your goal is to collect information in different settings, such as meeting rooms, and temporarily store it on paper so you can later transfer them to your computer.

In order to organise your notes, use the outlining method [Oxf17]. You start with a header and list all details as bullet points, working down the page, that you slightly indent to the right, using sub bullet points and further indentation when needed. Do not use full sentences since they contain unnecessary filler words. Filter information that is important for you and concentrate on keywords. If possible, summarise flows and use arrows to create connections. Also practice listening while you write. This might be hard at the beginning but keep practising. The usage of drawings and abbreviations will improve your note taking. If actionables are included in your notes, you could write TODO or a big exclamation mark next to them. If an actionable is time critical, you can draw a clock next to it. While taking notes, do not forget to keep eye contact with the speaker from time to time. In some situations, Mind Maps or sketches might suit your purpose better.

Mind Map

There are various ways of bringing information to paper. A Mind Map helps you investigate an already basically known area in a detailed manner. You can use the structure of the Mind Map to raise questions for nodes that have only a few children. [Rob15]

Example of a Mind Map

With your basic knowledge about a topic, you can already create the first branches of the Mind Map. After discussing it with your peers or conducting some research, your Mind Map becomes more detailed by evolving further child branches.

Mind Map

Rich Picture

A Rich Picture is an unstructured illustration of drawn elements which can relate to one another with arrows or lines. You can use it for unidentified areas of knowledge. Start drawing it by opening a discussion or asking questions to stakeholders. [Rob15]

Example of a Rich Picture

This Rich Pictures describes the entities that are connected with a fictional shopping list app. All entities are connected by arrows. This gives you an overview of the surrounding objects of your project’s product.

Rich Picture

Scenario

Similar to the outlining method, a Scenario is made of steps but is used to describe a business usecase. At first, you create a Scenario for a usecase that leads to a successful outcome based on your criteria. Then you can extend it with Exceptions and Alternate Flows. Exceptions represent steps possible in your current Scenario but do not lead to the user’s goal. Alternate Flows are paths that deviate from the normal Scenario but still lead to the user’s goal. [Loh13][Rob15]

Example of a scenario

This Scenario describes how we add a food item to a fictional app’s shopping list. The Exception leads to an unsuccessful outcome when the user has no internet connection. The Alternative Flow describes how the user can add a food item via their favourites.

Name: Add food item to shopping list
Actors: House Manager

Success Scenario
 1. Open App
 2. Select category of food
 3. Select food item
 4. Add to shopping list

Exception
 2.a The user has no internet connection.
 The app shows an error message.
 The use case ends.

Alternate Flow
 2.b The user adds a food item from it's
 favourites to the shopping list.

Data Dictionary

A Data Dictionary describes objects and the elements they consist of through formal definitions. You can apply it to real world or technical objects. It is helpful when you need to know the exact structure of an element. [Rob15]

Example of a Data Dictionary

This example describes a notification for food that needs be bought. It has a title and a message. It can have the option fridge or freezer. The price is optional. It also contains a list of food items that the user needs to buy.

Shopping Notification
= title
+ message
+ [fridge | freezer]
+ (price)
+ {food items}

Organising your daily tasks

Your notebook is there to help you! Many distractions will come up during the day that may push you off track. At the end of your workday, your mind is still connected with the context of your work. It is therefore beneficial before going home to take some minutes to note down the tasks you are going to do tomorrow. When you start work in the morning, you can use these notes to organise your day so you focus on the important tasks instead of wasting time figuring out what to do. Also, you can adjust your day’s goal following your Daily Scrum meeting. I personally prefer to start with identifying problems that occurred, checking stakeholders’ requests, and getting up-to-date with the task tracking board. While I do this, I decide what needs to be noted down. It is vital that you apply the 2-minute-rule. Everything that needs less than two minutes to get done must be done there and then.

Eisenhower-Matrix

The Eisenhower-Matrix can help you define what should be written in your notebook. As it is easy to understand, urgent tasks need to be done asap. Do note that the distinction of Important or Not Important is a significant factor for your current project. It helps you differentiate what is inside and outside the scope of your responsibility.

Eisenhower-Matrix for note-taking

Delineation of your tasks

If you need to structure your notes in greater detail, you can apply the categorisation method described in the book Can I Have Your Attention?. It allows you to delineate your tasks so you can identify the day’s tasks. You can group your tasks into five categories. [Mck17]

DynamiteDynamite-Mini

Dynamite is your goal of the week. If you work within a Scrum framework, it could be your Sprint Goal. [Mck17]

DiamondsDiamond-MIni

Diamonds come from dynamite. They are tasks that take less than a day of work. You should tackle them at your peek performance time of the day, usually in the morning. [Mck17]

DollarsDollar-Mini

Dollars take only a little time to process and not much of your concentration. They do not bring a lot of value when you tackle them separately. However, when you tackle them in bunches, they can make you more productive by putting you into a flow state. You should work on them when you take a break from your diamonds. [Mck17]

DirtDirt-Mini

There are always tasks you cannot do on the very same day or tasks that would reduce your productivity. These tasks are called dirt. It is important to understand that it is, like a Scrum Backlog, a list of to-dos that you consider working on in the future. The next day, they may change status and become diamonds, for instance. [Mck17]

DimesDime-Mini

Dimes are tasks that might not provide a lot of immediate value. They are fun or interesting to you rather than important for your project. It could be a task that improves your professional skills and provides a break from your regular workload. [Mck17]

Switching tasks

In order to stay in your flow, you should reduce the amount of switching tasks. You can set an amount of time, preferable in the morning, when you will focus on one task and ignore interruptions like emails or instant messages. But sometimes it is not possible, depending on your role or the situation within the project. In some cases, you have to shift your focus and your attention onto something different. This can reduce your concentration and ability to make right decisions. Dividing your task into sub-tasks can help you better refocus after interruptions because you can track the stage where you left off more easily.

Further, you can improve your awareness of context switching (read more in 12 Essential Skills for Software Architects). It helps you increase your awareness of how you need to view topics in different situations. If you do not understand an issue immediately, ask the person to start again and to give you more background information. [Hen11]

Additionally, your notebook can help you switch tasks. If you have started your day with a list of planned activities, you can easily switch your focus back to your priorities after being interrupted. Depending on the complexity, duration, and types of interruptions of your task, it can be beneficial to track the completion status of this very task. You can then look up where you left off in your notebook and continue seamlessly on. As a result, you can refocus better and faster when switching tasks, even when you resume the task the next day.

Transferring notes to a digital format

Your paper notes are manageable in small numbers but, when their number grows, they become hard to refactor and tedious to search through. You need to create a habit to check your notes regularly for tasks that you need to create in the task management software or data you need to add to your digital note repository. After every meeting, take some time to transfer your notes from paper to a digital format before they accumulate and become unmanageable.

Also consider using your smartphone for diagrams, whiteboards, etc. Of course, you need to get permissions to take photographs at your workplace and you must comply with your company policy. A cloud photo storage provider, if allowed, can make it easy for you to transfer your photos to your work computer.

Digital notes

For the digital way of storing notes, there are many different alternatives like Microsoft OneNote, Evernote, or your project’s wiki. The chosen tool should support most of the following criteria. It should:

  • Be searchable
  • Be Cloud enabled
  • Be structurable
  • Be shareable
  • Be taggable
  • Support drawings
  • Support images
    • Import pictures from smartphone
  • Support hyperlinks
  • Allow for linking content
  • Allow for privacy control

As for the structure of software projects notes, I recommend the following:

  • Glossary
  • User Stories
  • Architecture
  • Login Credentials
  • Infrastructure
  • Workflows
  • Stakeholders
  • Vision
  • Team Experience
  • Ideas

Glossary

A glossary helps understand abbreviations and technical terms. Common words could have a special meaning in your new team. In projects, these can be part of the standard vocabulary of everyday meetings. Usually, a project has a glossary as part of its wiki. If you do not have access to it at the beginning, it can be helpful to maintain your own glossary. You should consider updating your own glossary’s entries to the project glossary’s as soon as access is granted.

User Stories

In order to better understand the cases of your application, you can note them as user stories. There are different ways to identify and describe a software’s user stories. You can talk to stakeholders, try out the software application your team works on or read the wiki. Also you can take a look in the task tracking board for tasks that are done to see which functionality is already implemented in the application. When you enter user stories in your note repository, make sure you tag them with abbreviations from your glossary, so your knowledge-base is connected. However, it depends on the complexity of your application and you might not need to include User Stories for your current project.

Architecture

In order to get an overview of the software’s structure, a diagram of the architecture with its components can help. It will provide you with information about how components are connected and which interfaces of the software exist. If the software uses specific frameworks, it will, of course, be of much help to read related books and tutorials. Like the User Stories, make sure to tag your notes with abbreviations from the glossary.

Login Credentials

Depending on the project infrastructure, your login credentials may be easy to maintain or unmanageable. For security reasons, it is important that you use different passwords for different applications. In order to manage them, you need to encrypt and store them in a password manager application like KeePass.

Infrastructure

You should seek information as quickly as possible on how to access important services such as the wiki or ticket management system etc. Further, you need to know which tools can be used for specific services, how you can monitor the service, as well as the location of these tools. Also try to quickly identify individuals that can provide you with access to the infrastructure for a swift start.

Workflows

Here we define workflows as tasks that can occur more than once. This can be, for example, the creation of a JIRA bug or what to do when the build server is down. You should also include the steps towards setting up a Continuous Integration job or other tasks that you might repeat in the future. Writing down the steps can help dive into the project faster as an independent member and remove impediments in the project without having to wait until other team members are available. If those steps could help other colleagues, post them on the wiki to improve the team’s performance.

Stakeholders

It is beneficial to get to know the different stakeholders of a project so the responsibilities and contacts are clear. A stakeholder list should be created with the following details:

  • Name
  • Email
  • Role
  • Area of knowledge
  • Time and location availability
  • Interest & Influence
  • Intentions

Stakeholder Matrix

A stakeholder matrix helps determine how to interact with the stakeholders of the project and to prioritise their demands. If demands of less important stakeholders would benefit the project more than the ones of high priority stakeholders, the stakeholder matrix serves to identify the people that need to be convinced for the good of the project.

Stakeholder Matrix

Stakeholders’ Intentions

The stakeholder matrix indicates who has to be considered at each specific level. Additionally, it is important to know what their goal is for the project. The test manager might have the goal to achieve a high test coverage. The product owner wants to get as many features as possible implemented while saving costs whenever possible.

Understanding their goal and combining it with the stakeholder matrix allows you to steer the project in the right direction.

Vision

The vision of the pre-established project team needs to be understood. A vision is the ideal end state of a project and defines a strategy that includes stakeholders for the purpose of achieving it. It consists of a compelling destination, a strategic roadmap and aligned partners. Upon completion, the project should reach a final outcome that is described by the compelling destination. The path to achieving this goal is described by a strategic roadmap. The roadmap contains strategies that help you make decisions that are aligned with the project’s vision. Your project partners provide funding for your project. Therefore, your roadmap and corresponding decisions have to be aligned with your partners’ so the project’s vision can come true. [Hen11]

Vision of a project

[Hen11]

Your project manager can provide information about the project’s vision. Also look for a roadmap in the project’s wiki. You can combine the roadmap with your stakeholders’ goals in order to assess how it can affect your project.

Team Experience

Before you joined your new team, they gained a lot of experience by developing the software and collaborating with the customer and other stakeholders. From this, knowledge of best practices has been determined. The team has a concept of how to steer the project and knows how to avoid already made mistakes. This is called team experience. Their expert knowledge goes from technical to relationships with stakeholders and workflows, the best way to collaborate as well as planning and estimating tasks, etc.

For example, a project could have tests that do not run in parallel. The team would know from their experience that parallelisation is impossible due to the specific framework that they use for their software. It would be counterproductive to invest time into making the tests run in parallel.

As another example, the development team could have ignored bug tickets from the testing team on purpose. Addressing this directly to the product owner without consulting the development team could create conflicts. The current team members would already know this and avoid this mistake.

Joining a project as a new member, it is important to keep pace with the team straight from the beginning and to acknowledge the experience of the team in order to avoid mistakes that pre-established team members are able to avoid. If you question the team’s methods, talk to them in order to understand the reasoning behind those methods. Once you have gathered enough information, you can make informed decisions that will not result in mistakes the team has already encountered. This is based on a principle of Lean Software Development to make critical decisions as late as possible based on as much information as possible.

Ideas

having_an_idea

You should keep a record of your ideas for improvements and store them in a list or rather in a Kanban board. By using a Kanban board, you can track the state of your ideas and check if the idea was already realised or rejected because it is not feasible.

evaluating_an_idea

Evaluate your ideas by identifying their return on investment. The idea should have a cost benefit for your project. If relevant, check whether the idea benefits the project in the long-term. Verify if your idea complies with the regulations of your company. Also check the alignment of your idea with the project’s vision, the support of your stakeholders and team members.

prioritising_an_idea

You should prioritise your ideas depending on whether and how much you can leverage them for your project in your current situation. Some ideas have an immediate positive effect and other ideas have a long-term effect on the project. Other ideas do not make sense on that particular day and should be put back into your backlog. However, you should keep in mind that an idea that benefits your project in the present has to be allocated enough resources in order to be realised.

finalising_the_idea

In order to bring your ideas into the project’s realisation, you could bring them up in Retrospective meetings, Backlog Planning, or just by conversing with your colleagues. By communicating your idea to your team, they can reshape it so it becomes solid. Their input acts as swarm intelligence and addresses factors that are outside your expertise or method of thinking.

Conclusion

When you join a new project, you have to deal with various types of information related to this specific project. You have to be able to extract the important bits and pieces by interacting with the team. You can bring ideas into the project to improve it. By doing this in an organised way with structured notes, you can quickly get to a point where you thrive and increase your performance. This guide is a framework for structured note-taking in various environments. You can take from it what will benefit you the most and apply it in your daily work life.

Types of information of a project

Guides

Literature