
/المدونة
نشارككم أحدث ابتكارات التقنية، أسرار تجربة المستخدم، وأدوات الميديا الرقمية.
اكتشف عالم التقنية والابتكار مع مقالاتنا المتجددة.


2026-09-01
Team & Leadership

Eng. Mohamed EmadSoftware Engineer | Frontend Developer
Building a Product Is a Team Sport: How Work Actually Moves Through Omnexa
Most articles about teamwork talk about values. This one talks about workflow how a real request travels from a customer complaint to a released feature at Omnexa, who touches it on the way, where it usually breaks, and what we learned about keeping people and product moving in the same direction.
A Product Doesn't Start With a Ticket. It Starts With a Complaint.
- Almost nothing we build starts in a project management tool. It starts as a sentence a customer telling sales "this takes me too long", a support message that keeps repeating, or someone on the team saying "why do we still do this manually?"
- The first thing we do is not estimate it. The first thing we do is write down the problem in one clear sentence, in the words of the person who has it.
- If we can't write that sentence, we are not ready to build anything yet. We are still guessing.
- So the opening question in a kickoff is never "how long will this take?" It is "who is struggling, and how do we know?"
- That single habit has saved us from building features that looked impressive in a demo and were never used again.
One Page Before One Line of Code
- Before any sprint, the feature gets one page. Not a document nobody reads one page.
- It answers four things: what problem we are solving, who it is for, what "done" looks like, and what we are deliberately not doing this round.
- The "not doing" part is the most valuable section on the page. It is where scope creep goes to die.
- The page is written with the team, not handed down to it. Developers, design, and whoever raised the request all leave fingerprints on it.
- The test is simple: anyone on the team should be able to explain the feature in thirty seconds without opening the page again.
Design and Engineering Argue Early On Purpose
- We put design and engineering in the same conversation while the design is still ugly, not after it is "final".
- The cheapest place to change a product is a conversation. The most expensive place is production.
- Developers ask the uncomfortable questions early: what happens on a slow connection, what happens when the list is empty, what happens when this Arabic title is four times longer than the English one.
- Designers push back with their own uncomfortable questions: is this shortcut worth what it costs the user, and are we saving a day of work to lose a week of confusion?
- Disagreement at this stage is not friction. It is the work.
We Slice the Work So Progress Stays Visible
- Big features hide problems. A task that stays "in progress" for two weeks is not progress, it is unmeasured risk.
- So we slice features into pieces that produce something you can actually open and click, even if it is unfinished.
- Our definition of done includes the unglamorous states: loading, empty, error, no permission, RTL layout. The happy path is the easy half.
- Small slices make everything else cheaper review is faster, testing is focused, and rolling back one piece doesn't take the whole release down with it.
- Visible progress also does something for the team that no status meeting can do: it makes the work feel real.
Give Context First, Tasks Second
- There is a real difference between telling a developer "build this endpoint" and telling them "sales needs to create a unit in under a minute, and this data will end up in front of the customer."
- The first version gets you exactly what you asked for. The second version gets you the twenty small decisions you never thought to ask about.
- People who understand the goal stop waiting for a manager to approve every small choice. That is what ownership actually looks like day to day.
- We assign an owner per feature, not just a person per task. The owner follows it from brief to release and speaks for it in every discussion.
- And ownership includes the right to say "I think this approach is wrong, here is a better one." If that sentence isn't safe to say, you don't have owners. You have executors.
When Something Breaks, Speed of Information Beats Blame
- Every product has bad days. A deploy goes wrong, an integration changes without warning, a client finds the one flow nobody tested.
- In those moments the most valuable thing in the company is not talent. It is how fast accurate information reaches the people who can act on it.
- I would rather hear "we have a problem, here is what happened, here is what we need" than have a calm, quiet team that is hiding a fire.
- We separate the fix from the lesson. First we stabilise, then we sit down and the review asks what in our process allowed it, not who to point at.
- A team that gets punished for raising problems early will simply raise them late, when they are far more expensive.
Review and QA: Being Wrong Early Is Cheap
- Code review in our team is not a gate someone stands at. It is two people agreeing to maintain the same thing next year.
- We would rather review a small pull request quickly than a huge one perfectly. Perfect review of a 2,000-line change is a myth everyone politely participates in.
- QA doesn't start from scratch either. The acceptance criteria come straight out of the one-page brief, so testing checks the promise we made, not just the code we wrote.
- We test the ugly paths on purpose: expired sessions, slow networks, empty results, long text, wrong permissions, double clicks.
- Every bug caught before release is a bug that never becomes a support ticket, a frustrated client, and an emergency in someone's evening.
Release Is a Checkpoint, Not a Finish Line
- Shipping is where we start learning, not where we stop working. The first 48 hours after a release tell us more than the previous two weeks of planning.
- We watch three things: errors, where users drop off, and what support suddenly starts hearing.
- When the risk is high, we release to a small group first, keep a flag on it, and agree on the rollback plan before anyone deploys anything.
- A feature is not done when it is live. It is done when someone uses it without needing to ask how it works.
- And when the numbers say we were wrong, changing our mind quickly is not a failure of planning. It is the point of releasing early.
Protecting the Team From Everything That Is "Urgent"
- During any product cycle, new requests never stop arriving. A client needs something. Sales sees an opportunity. Someone has a genuinely good idea at the worst possible moment.
- If everything is urgent, nothing is prioritised and the team burns out while feeling like they never finished anything.
- New requests go onto a list first, not into the current sprint. The list is reviewed openly, and everyone can see where their request sits and why.
- "Not now" is a complete answer when it comes with two things: the reason, and when it will be looked at again.
- Half of good project management is adding the right work. The other half the half people rarely thank you for is removing the wrong work before it reaches the team.
Two Feedback Loops: One for the Product, One for the People
- The product loop is the obvious one: usage data, support tickets, sales conversations, and what customers do rather than what they say.
- The people loop is the one teams quietly skip: short one-to-ones, an honest retro, and a real permission to say "this process is not working for us."
- Feedback has to travel upward too. If a team member cannot tell me that a decision was wrong, I will keep making it.
- Healthy teams are not teams that always agree. They are teams that can disagree without turning it into conflict and most of our best decisions came out of exactly those conversations.
- The same loop applies to wins. A hard bug solved, a painful flow fixed, a difficult client handled say it out loud, say what the person actually did, and say it while people still remember it.
What Building Products With a Team Actually Taught Me
- After enough projects, deadlines, and rough releases, I don't believe there is one perfect way to manage a team. Every team, product, and company stage asks for something slightly different.
- But a few things never change. People need clarity about where they are going, trust that they can decide things themselves, and support that doesn't turn into dependency.
- Process is only useful when it serves people. The moment a process exists to protect a manager instead of helping a team, it starts costing more than it saves.
- The workflow I described is not a rulebook. It is just the shape our trust took after a few years of getting things wrong together.
- The technology matters. The planning matters. The strategy matters. But the team is what turns all of it into something a customer can actually use and that is why building a product will always be a team sport.




