Introducing a brand new article series that dives deep into the art of building an exceptional IT development team! Discover the secrets behind successful collaborations, finding the right talent, fostering creativity, and streamlining workflows. Whether you're a seasoned IT pro or just starting your journey, this series is packed with invaluable insights and expert advice.
Assembling the optimal IT development team is not the easiest task one can undertake, but in this article, I will attempt to provide some concrete tips and highlight what is important to consider. The first step I will address is defining what the project/team is intended to achieve.
Formulating business requirements into clear goals
One of the very first things to consider is to gather, prioritize, and formulate the business requirements and goals that must be met to address these needs. This is by no means a new phenomenon and has been around for a long time. However, it is in this area that many projects tend to fail.
Either the gathering has been inadequate, leading to the omission or misunderstanding of crucial requirements, or the prioritization has failed due to the multitude of perspectives to consider. It is difficult to satisfy everyone. Finally, there is the challenge of formulating measurable goals based on these needs.
Regarding the collection of business needs, there are several proven tools you can use. Here is a small selection of some of the most effective ones:
- Workshops and brainstorming sessions - Organize creative meetings with stakeholders from different parts of the organization, where everyone can easily contribute suggestions and have open discussions.
- Interviews with key individuals - Start by identifying key individuals within a specific area and then invite them for interviews or informal conversations. These conversations will reveal numerous significant and minor needs.
- Questionnaires/online surveys - Using questionnaires, you can have more control over what you are seeking for. For example, by focusing on a specific area or technology. With the variety of available free tools today, you can easily create efficient forms that are also intuitive and user-friendly.
- User stories - By writing down potential user stories, it becomes easier to adopt the users' perspective and consequently, articulate the user needs indirectly described in all the user stories created.
The next critical step is to prioritize among all the collected needs/requirements, and there are several effective methods that can serve as useful tools. Some of the most effective ones are:
- MoSCoW method - This method is used to categorize requirements into four different categories: Must have, Should have, Could have, and Won't have. It is particularly helpful when making a rough prioritization/categorization.
- Value matrix with accompanying diagrams - A matrix where you specify different characteristics of the requirements identified during the inventory and evaluate them relative to each other, using a scale such as 1 being the lowest and 10 being the highest. You can include factors like business value, risk, customer impact, cost, time consumption, skill requirements, etc. The matrix can then be transformed into informative diagrams that are easier to comprehend than numbers in tabular form.
- Risk/reward-analysis - This simplifies the value matrix further by considering only the degree of risk associated with the business value. This way, it becomes easier to categorize the various needs/requirements and perhaps focus most energy on those that offer the highest business value with the lowest risk.
Finally, it is time for goal formulation and the importance of directly linking them to the various needs and requirements prioritized in previous work steps. Although goal formulation may seem straightforward, many people struggle with it and discover too late that it becomes challenging to track the team's different deliverables.
This becomes especially important in modern agile development teams where work is constantly done in small iterative steps that are continuously aligned and connected to the goals.
Here are some concrete tips/methods for formulating effective goals:
- Use SMART (specific, measurable, assignable, realistic, time-related) - If you can meet all five criteria, it is likely a good goal that is easy to track. However, if any of these criteria are not met, there is a high risk that the goal formulation is ineffective and needs to be rewritten and clarified.
- Communicate, specify, and clarify the goals so that they are understood by all involved - A common dilemma in many projects is that even though the goals are well-defined, they are not sufficiently communicated to everyone who will work in the team or has an interest in what the team will achieve. And even if they are communicated, they may not be perceived as concrete enough by the recipients and, therefore, may not be considered as relevant.
What's next?
Now that we have successfully formulated our goals for the team, it is time to move on to the next step: staffing the team with the right resources, considering the competencies and qualities these individuals should have, and what is important to keep in mind.