Software projects are in a boom moment; any person working in a tech role has experienced this feeling of having selected the correct path. Not just because there is a high demand in this kind of job openings but because of the diversity of projects you can get involved in and the emerging wave of tools that you can take advantage of to keep improving and learning.
More than ever, we are involved in a changing world, which is reflected in software projects. Then, we as team members need to be agile and keep shifting/evolving faster. But how to keep up in a fast-paced environment and survive to tell the story?
From a Quality Assurance Analyst and Project Manager perspective, here are some tips that have worked for me so far:
1. Take advantage of the existing frameworks
We all have heard about SCRUM, LEAN, Kanban. Even if you are working specifically on one of these frameworks, always keep using the best of each one: the visibility and transparency that provides a Kanban board, the ability to identify and minimize the waste of time from LEAN, and the flexibility and continuous feedback of SCRUM, you could also use a Fishbone diagram to identify issues causes. The list goes on!
Transparency is one of the SCRUM pillars that I consider incredibly relevant. It helps us to avoid suffering from micromanagement and misunderstandings. Make visible what you are working on and the status (use tasks, for instance, most of the boards allow you to create tasks under a User History/Card). So, any team member will be aware of the amount of work the team is carrying on and what each team member is doing. It helps to identify redundant and time-consuming activities as well. So, it looks like an opportunity for LEAN principles to identify the causes and improve/avoid wasting time.
In a fast-paced environment, it is easy to miscommunicate. Everything happening simultaneously, and many people trying to collaborate to make a better product could be overwhelming sometimes. Just breathe, get organized, do it quickly; find a way to iterate in the feedback, and make sure the whole team is 100% focused on what is happening with the product, events, deadlines, etc. That will make it easier to react smoothly to the constant changes.
4. Ask Questions and anticipate
Asking questions on a project has always been essential; I mean, someone has to ask the questions, right? Why don’t you?. It will lead to a better understanding for you and the whole team. When you anticipate the right questions, it clarifies the requirements, the insights needed, and the lacks.
Create a culture of clearing up doubts by asking questions. It is always better and time-saving to ask questions at the correct time, preferably at the beginning.
On a final note…
Everything in the tech world will keep changing, whether you are working on a huge product or in a bunch of small products. You are already involved, and this will not stop, so we better keep learning from the books and, more importantly, from experience. Always keep in mind the lessons learned, checklists, or any other helper that comes in handy for you and your team. It is a work in progress for me, and I guess for each one of us. So keep going! 💪🏽
Thank you for reading, and do not forget to share and subscribe to our newsletter below. If you have any questions about our processes, we are here for you. Contact us!
“A black box that does magic tricks 🦄” . Maybe that’s the idea that many of us have about machine learning, especially if we have never had an approach to artificial intelligence. But the reality is that artificial intelligence is becoming more and more relevant in almost every branch of engineering and development, including the web.
But not everything has to be rocket science, right? So let’s take a look at some scenarios where machine learning could take our web applications to the next level 😉
Let’s analyze the data!
This is one of the machine learning applications that comes to mind most quickly: taking the large amount of data we collect and using specialized algorithms to discover patterns or inconsistencies. This analysis of the information can be used to make changes almost in real-time.
It’s time to understand user behavior! 👀
Your web application can use machine learning to accurately understand user behavior. For example, an e-commerce website can apply ML algorithms to monitor and understand a user’s affinity with a product or category. It could even predict expected user actions based on search history and interaction within the results page. Better results and more accurate recommendations can mean more sales and more time the user spends on the website.
Did you know that by using machine learning you could optimize your response times? That’s what the page forecasting model is all about: predicting the next page the user will visit using historical data from Google Analytics. Through this prediction, you can apply techniques to navigate faster.
Where is my 21st-century user experience? ⏳🔊🖖
Web technologies in the 21st century have already evolved to an impressive level. There are already several APIs based on artificial intelligence within browsers* that enable alternative and adaptive experiences.
One example of these technologies is the Web Speech API:
You can create applications that are voice-driven or that integrate voice recognition into forms or search boxes as Google or YouTube do.
The Google search box has integrated speech recognition provided by the browser.
Please note that several of these technologies are not fully supported by browsers. For example, Safari supports Speech Synthesis but does not support Speech Recognition.
But wait… audio isn’t everything. The camera can also be used to play/experiment with the user using ml5.js: “machine learning for the web in your web browser”. Through ml5.js we can use a variety of models. For example, PoseNet or Handpose, for real-time pose estimation (let’s play using our body!). The Coding Train has an introductory video that I recommend: ml5.js Pose Estimation with PoseNet.
Handpose in action ✊✋
Artificial intelligence is an exponentially growing trend. Every day we see it more and more in web development. Let’s take advantage of machine learning to make our application an unforgettable experience. Happy hacking!
Thank you for reading and do not forget to share and subscribe to our newsletter below. If you have any questions about our processes, we are here for you. Contact us!
“Why is project management important?”, this is an interesting question that clients sometimes raise. They’ll ask: “Can’t we just give instructions to the team and manage it ourselves? It’ll be cheaper.”
Project management is often thought to be an unnecessary addition to the budget, and yes it might be perceived as expensive. However, running projects without good project management is a false economy.
But can you afford to not have a project manager?
In my point of view, it is very simplistic to say that project managers are the guardians of the triple constraints (Scope, time and cost). It’s well known that software companies are highly likely to implement agile methodologies to manage their projects, one of the most popularly used frameworks is Scrum. According to Ken Schwaber, commonly known as “The father of Scrum” you must start your project by following the process rules to successfully deliver value.
Scrum = 3 Roles + 4 Artifacts + 5 meetings.
There are three main roles: Development Team, Product Owner and Scrum Master. The Development Team refers to a small group of people that do the work. The Product Owner refers to the individual responsible for obtaining funding, defining initial requirements, managing priorities and project goals. According to the PMI Organisation, the Scrum Master has the closest proximity to a Project Manager. This individual is responsible for the Scrum process and serves as a facilitator for the team, making sure meetings take place on a daily basis, ensuring documentation is up to date and being there for the team at all times. If you’d like your project to go into the right direction you must ensure you’ve gotten these three roles covered up.
Artifacts are documents that facilitate information management. According to Scrum agilist there are 4 documents that should be used on a daily basis to successfully drive the team and deliver value. These are: Product Backlog (Prioritisation of the work), Product Vision (Project goals), Scrum board (Organisation of the work) and Burndown chart (Work Velocity).
Forbes magazine highlights the importance of having the project documentation readily available and organised in one place. Everyone should have a clear understanding of where to go and how to find information. Based on my personal experience from working on Fortune 500 companies to start-ups, good project management requires investing time and effort on documenting (Regardless of the project background, goals and the methodology of choice).
About 75-90 percent of a project manager’s time is spent formally or informally communicating, according to PMI’s Guide to the Project Management Body of Knowledge (aka, PMBOK). No surprise then, how much communication is linked to project success. Scrum methodology uses at least 5 structured meetings and encourages casual touch points on a daily and weekly basis. Bear in mind that a project manager ensures the scrum process takes place, and needs to be there for the team at all times. The development team is focused on doing the work; without a PM, what’s holding the team and your vision together?
Does my remote team need a remote Project Manager?
“While clear communication is always necessary when managing a team, it is especially the case when working remotely”, states the Chief Strategy Officer for Cicayda in his Forbes article. On the other hand, Mark Robinson, Co-Founder of Krimble Applications states “In order to successfully manage a remote team is specifically critical to give access to up-to-date and relevant information and encourage them to use their judgment to make appropriate decisions”. John Carter, Founder TCGen Inc. states on TechBeacon: “Team members must not only have a single version of the truth, but also know that it is the most current version. Make one individual responsible for the document and allow only that person to edit it. He also adds “The most important aspect of staying agile in virtual teams is to keep the roles of the Scrum Master (SM) and Product Owner (PO)”.
Great project management means much more than keeping the triple constraints in check, delivering on time, budget and scope. It unites you and your team, creates a vision for a successful project and gets everyone on the same page. When projects are managed properly, there is a positive impact that reverberates beyond results. According to experts, the need for a project manager only accentuates when working with a remote team. I would add to the previous statement that it is especially important now. We are not just managing the regular WFH challenges, but we are dealing with a world health crisis. This has definitely an effect on individuals and it is now especially important to be there for the team. It’s key to sense the team spirit and identify any ups and downs that may undermine their performance and somehow impact the project’s goals.
5 Reasons why your remote team needs a PM
- A great project manager is a team facilitator. It’s key to sense the team spirit and identify any ups and downs that may undermine performance and impact the project goals.
- Great project management means much more than delivering on time, budget, and scope. It unites clients and teams, creates a vision for a successful project and gets everyone on the same page of what’s needed to stay on track for success.
- According to Ken Schwaber commonly known as “The father of Scrum”, you must start your project by following the process rules to successfully deliver value. A dedicated project manager supporting the team adhering to these process rules will increase the project success rate.
- According to experts, the need for a project manager only accentuates when working with a remote team. When projects are managed properly, there’s a positive impact that reverberates beyond the delivery of results.
- You could manage the team yourself if you are ready to invest the time and effort required, plus have a good understanding of the methodology used. Good project management will have a crucial impact on project success.
So coming back to the question, you ask: “Can’t we just give instructions to the team and manage them ourselves? It’ll be cheaper.” Yes, you could manage the team yourself, if you are ready to invest the time and effort required. On top of that, it is a must that you have a good understanding of the methodology used. The team needs a Project Manager, whether you are ready to take the role or prefer to hire an expert, as project management will have a crucial impact on project success.
Thanks for reading, hope you liked this article. Please feel free to share and don’t forget to subscribe to our newsletter below!