Business Insights

Part 1 – Why I feel lost after joining legacy software projects and how I make it easier for others to join

Before starting the Visual School project, I worked as a hired software developer for multiple enterprises. Project after project, I saw again and again the same communication issues ruining all of them. I faced a broken chain of communication and a lack of vision and discipline on how to approach this problem. Beyond frustrating me to extreme levels, it also led me to search for a solution.

In this 3-part series I will explain in great detail our recipe for clear-cut & easy communication in any organization of any size. First part focuses on how to setup a rock-solid foundation by properly managing documentation.

On the bright side, I have to thank these repeated communication issues for motivating me to found Qualia Vison and to start the Visual School project. With our learning platform we aim to fix a lot of the issues encountered by coders at work or when studying online.

This will be a 3 part series that will explain in full detail how we deal with these problems at Visual School. I tried my best to write a short piece, but the complexity and scale of the communication problem requires some patience. So, I’ll kindly ask you: Bare with me, it will pay off!

Small teams, large teams, even solo developers can benefit from a little discipline!

At the time of writing this piece we are a team of 14 people, some working from our office, some working remote, including me, coordinating the entire gig from abroad. Due to the nature of our distributed team I a systemic solution was needed.

I have to admit, it took me some effort to get buy-in even from my own team. Considering that most the crew is quite young and inexperienced, it took some effort. My advice: be patient and persistent! And you will make and impact in your organization. It takes a lot of discipline until these guidelines become truly effective. And most importantly, you need to get the upper management levels on board as well.

Primary Objectives

Our development process is designed and maintained with 5 primary objectives in mind. I will detail how we these goals are met within all our projects. Hopefully by the end of this lecture you will have gained some new ideas.

  • Efficiency & Timely Delivery
  • Adherence to Customer Expectations
  • Constant Feedback & Reality Checks
  • Testing against Real World Conditions
  • Educating and Spreading the Knowledge

It all Starts with Effective Management

Qualia Vision and hence, the Visual School project was established with a tight budget and an ambitious goal. We started building our own innovative online learning platform. We began work as a small group of freelancers. During our incubation phase, we dealt with a limited budget within a distributed team. Without careful examination of resources and strict planning we would be out of the game by now. In simple words, it’s in our DNA to be effective. And we want to teach you the same method.

Agile and Strict Deadlines

Our management approach is shaped by industry best practices and hard-earned experience from previous enterprise projects. From the very beginning, Qualia Vision has adopted a strict release schedule and a rigorous working style. We focus on planning ahead and fulfilling deadlines with very little slippage. We are adepts of the Agile methodology and we made a few tweaks of our own.

Management & Development Pitfalls

I’d like to review some of the problems that we have encountered along the time. For all of these we have worked hard to put safeguards in place.

  • Lacking clear specifications and awareness of business goals
  • Failing to understand the scope of work or the dependencies between departments
  • Bleeding cash over features with little to no return on investment
  • Poor communication within the team or with our stakeholders
  • Status updates are not given on time or at all
  • Managers are not fully committed to supervising the epics stream and the backlog
  • Documentation is conceived as an after-thought or it is completely skipped
  • Git repositories are not groomed and maintained properly
  • The release procedure is not happening on time and on spec for each release
  • Not enough time is dedicated for training the team
  • Technical debt is way beyond the limit

Improved Operational Efficiency

We created for ourselves an organizational culture shaped by lessons learned in previous painful projects. We have seen our fair share of epic failures and terrible management. To combat these common issues that plague most IT projects we have several key measures in place. I’m going to present each one of them in detail.

  • Division of large projects in multiple teams
  • Strict rules for documents management and sharing
  • Dedicated procedures and workflows including for onboarding
  • Constant monitoring of activities and reporting
  • Division of projects in modules
  • Planning several releases ahead
  • Planning work in epics restricted to releases
  • Strong documentation at every step
  • Workshops for review and improvement

Division of Projects

Since Visual School is our main project, we are going to showcase it heavily in demonstrating how the development process works. Our projects usually end up being either small scale or large scale. For small scale projects that require just several months of work, we keep it simple: 1 team, 1 board, 1 repo. Done! Time to go home! Well, not so fast! 😊

Multiple Teams per Large Scale Project

In 2 years of work a lot of things happen. We had to create a setup that can sustain our growing team and multiple departments. First of all, we use Microsoft Teams for communication in real time. This allows us to create teams per each key business area.

Document Management & Sharing

In all these teams we have divided our file sharing scheme such way that everybody can figure out on his/her own where to find the documents. This is one of the crucial aspects of our organization. We never have issues with lost documents, dead computers, or people not being able to find document from colleagues when needed.

As you can see, teams are synced with OneDrive. Now, don’t read me wrong, you can do the same with whatever apps you want, free or paid. All it matters is to have a matching structure. Each pair of teams and channels should be reflected in your cloud storage solution. Using this approach, we make it far easier for the entire team to gain awareness where to find certain files.

Teams are Divided in Topics

Now let’s review the details of our daily activity. All the teams are divided in sub-topics. Depending on the case you might see several layouts used. We have planned a different blog post that describes all of them in detail. For the moment I will simply post a few of them just to give you an idea how to do it. Of course, depending on your workflows, some other channels might work better.

Maximum Clarity in Communication

In order to compete effectively on an extremely demanding market, startups need highly experienced software developers that can build an MVP in just a few weeks. This is close to impossible without having clear communication pathways. And it is close to impossible when working with new team members that are lacking critical knowhow.

We’ve put special effort in spreading the knowledge through the entire company. Whenever we are having a conversation, this conversation can run in full context with full awareness. In our teams we have two major means of communications: announcements & live chat.

Announcements

Announcements are issued whenever something of great importance happens and must be known or discussed by the entire team. Announcements are detailed and touch only major subjects. In this fashion, we can easily train new hires in the intricacies of our development history and current state of affairs. The entire log of announcements can be read by anyone who wants to get deeper awareness. It is important to stick only with important announcements. One per week is optimal.

Live Chats

We pay close attention to details and these details can be capture only in live conversations, texting or video calls. Anything works as long as it is focused on certain subject with full context of current state of progress. That’s why we have prepared different chats focused on different subjects. Well, yeah, we are 100% Romanian team so far. That’s why you see the chats in Romanian. 😊

Eager onboarding

We take this approach even to the next level. Once we know a certain candidate is suitable for our team and he is in the notice period we already run him through the onboarding process and keep him updated and “warm”. In some cases, we managed to get started and productive from day one. This is of mutual benefit. As an employee I do not have to stress out how to figure out what to do. And as an employer I am relieved of the burden of having to choose between ruining my own schedule or keeping somebody on hold. This kind of organizational detail is what makes us excel in all key metrics.

A Culture That Nurtures Growth

It’s all nice and fine when you understand the entire system and you have been working from day one with it. Now what happens when we bring in new talent? How can we make sure that our knowhow can be quickly and reliably transferred?

Onboarding Team

Since our startup budget still has a lot to grow, we have dedicated special effort into documenting and training new personnel. We simply cannot accept a situation where we have new colleagues wondering around trying to find a purpose for themselves, trying to figure out where stuff is and so on. It happened to me personally in countless projects to simply fight for basic information. We cannot expect our staff to work in these conditions.

All our new colleagues are automatically added to the Qualia Vision onboarding team. Here they can find all the support they need either in existing documentation or by asking questions on the group. We prefer to include also our stakeholders in these groups so that they can learn about our process and easily collaborate with us.

Procedures

A lot of effort was put in documenting all the necessary steps to get started no matter what activity you are involved with. As you can see all critical aspects of the onboarding process are covered. These are living documents and we update them whenever the workflows are updated. An announcement will be issued company-wide such that everybody can be informed.

Company Roadmap

Any major company milestones are announced in a special meeting and the notes of these meetings are preserved for long term storage. We use them as a means of informing new colleagues of our history and culture.

Training Workshops

Our work is loved by the community and widely appreciated. For this reason, we have concerned ourselves with sharing this knowhow with the external world, not just the internal organization. We run workshops at the regular interval of 3 weeks which coincides with our release cycle. This helps us maintain the developers and creatives alike in top shape and equally informed. We want to promote cross-domain information sharing such that people better understand how their work can greatly impact other departments.

One such example of workshop is the one we held recently about Cypress testing. We used this occasion to train the entire team on the benefits of using Cypress and how this makes us far better at developing top quality code.

You can watch it here: https://www.youtube.com/watch?v=MXpQw4WLvxg

A planned, informed approach

We believe in consistent professionalism and there is no better way to deliver such value than through consistent planning. This is where we excel, and we take pride in it. One of our outstanding achievements was to reach the launch date of the Visual School platform on time and without any major crysis. We managed to put together a 5 segments plan that was carefully composed and implemented.

I will explain step by step how we manage to pull this off. Just to keep things in balance I’ll admit that the younger marketing department faced some trouble in implementing the planning to the letter. On the development side we had great success, and this happened without breaking any marriages or pushing the team beyond capacity.

Identifying Actions with Relevant Impact on Business

This is done by maintaining a system of proposals, documenting them and scoring them within the entire team. Especially for a startup, this problem of choosing between moving targets can aggravate things and lead to never-ending delays.

In our platform team we maintain two major folders:

  • Proposals – Detailed documents explaining the functionalities and derived benefits
  • Roadmap – Features that have been selected for next quarter of development work

Platform                         Proposals                              Roadmap

Just to give you an idea of scale of work, these folders are only the within the ABC range. Multiple pages of folders are pending in line for evaluation and execution. We use hard earned knowledge, customer feedback and market data to assess what to place next in the priority queue.

Planning Releases

Once these proposals reach enough maturity, they are ingested in the releases planning cycle. Here they are refined and fully specced such that design work can start on them and by the time they reach the development team they have stable specifications and can be safely implement. Usually this cycle runs like a conveyor belt and it takes 2 to 6 months from initial idea to implemented functionality.

Division in modules

We have divided the tasks in our development efforts in several major module. All tickets are assigned to a specific module.

A few rules:

  • Modules are sliced on business use case and not on technology layers.
  • Each new project should define modules from the very beginning.
  • All modules should have a clear purpose and description.
  • Developers with long running experience are designated as leads on each module.

In the case of Visual School, we have quite a list of modules.

Public Beta Started

Thank you for reaching so far! I hope this article has made you eager for Part 2 and Part 3. We have so much more to share with you. If you truly like this content help us spreading it all over the web. It will help us gain traction and establish our early userbase. It will enable us to keep creating more top quality content.

Community Support is welcomed!

Our platform is still in early development stage. We have managed to create just a fraction from the entire feature set. You can review the entire feature set here https://blog.visual.school/features/.

Spread the news

If you believe this tool will make a great impact in your studying or professional life, help us on our upcoming Kickstarter. https://visual.school/kickstarter.html

  • Follow us on Social Media
  • Join our newsletter
  • Spread the word
  • Back us on Kickstarter
  • Hit us some backlinks from your online publication
  • Guest post for us or invite us for a guest post.

More updates coming soon

Leave a Reply

Your email address will not be published. Required fields are marked *