Skip to content
All essays
CraftMarch 25, 202411 min

Running Effective Development Meetings

Make meetings valuable, efficient, and engaging for your development team

Ü
Ümit Uz
Mobile & Full Stack Developer

Meetings are necessary but often dreaded. When done poorly, they waste time and destroy productivity. When done well, they align teams, solve problems, and drive progress. This guide shows how to make meetings valuable and efficient.

The Meeting Problem

Developers often complain about meetings because:

  • They interrupt flow and deep work
  • They lack clear purpose and outcomes
  • They could have been async communication
  • They run too long with too many people
  • They lack follow-through on action items

But meetings aren't inherently bad—poorly run meetings are. Good meetings are valuable investments.

Meeting Principles

Purpose First

Every meeting must have a clear purpose:

  • Information sharing → Send a document instead
  • Decision making → Bring necessary info and decision makers
  • Problem solving → Prepare context beforehand
  • Relationship building → Make time for social interaction
  • Status updates → Use written updates instead

Default to Async

Always ask: Could this be async?

  • Write documentation instead of presenting
  • Record video walkthroughs instead of meetings
  • Use threaded discussions instead of calls
  • Share updates in writing
  • Review documents async before meeting

Respect Time

Time is your team's most precious resource:

  • Start and end on time
  • Invite only necessary people
  • Keep meetings as short as possible
  • Be prepared and focused
  • Follow up on action items

Essential Development Meetings

Daily Standup

The daily standup synchronizes the team and identifies blockers.

Purpose

  • Share what you worked on yesterday
  • Plan what you'll work on today
  • Identify blockers and dependencies
  • Keep meetings to 15 minutes max

Best Practices

typescript
interface Standup {
  date: Date;
  attendees: string[];
  updates: StandupUpdate[];
  blockers: Blocker[];
  duration: number; // minutes
}

interface StandupUpdate {
  who: string;
  yesterday: string;
  today: string;
  confidence: number; // 1-5 scale
  needsHelp: boolean;
}

interface Blocker {
  description: string;
  owner: string;
  priority: 'high' | 'medium' | 'low';
 ETA?: Date;
}
  • Stand in a circle (or virtual equivalent)
  • Keep updates brief and focused
  • Move problem-solving offline
  • Identify who can help with blockers
  • Skip standup if working independently that day

Anti-Patterns

  • Turning into status reporting for management
  • Discussing technical problems in detail
  • Running longer than 15 minutes
  • Missing team members regularly
  • Becoming a waste of time

Sprint Planning

Sprint planning sets the direction for the iteration.

Purpose

  • Select work for the sprint
  • Break down stories into tasks
  • Estimate capacity
  • Create sprint goal
  • Commit to deliverables

Best Practices

  • Prepare backlog items beforehand
  • Know team capacity
  • Break stories into small tasks
  • Estimate honestly
  • Create clear sprint goal
  • Timebox appropriately (2 hours per sprint week)

Sprint Review

The review demonstrates what was accomplished.

Purpose

  • Show working software
  • Gather feedback
  • Measure progress
  • Celebrate achievements
  • Inform next planning

Best Practices

  • Demo working software, not slides
  • Focus on outcomes, not outputs
  • Invite stakeholders
  • Keep it conversational
  • Document feedback

Sprint Retrospective

Retrospectives drive continuous improvement.

Purpose

  • Reflect on what went well
  • Identify what didn't go well
  • Plan improvements
  • Build team cohesion
  • Create actionable changes

Best Practices

typescript
interface Retrospective {
  sprintId: string;
  date: Date;
  format: string; // e.g., "Start-Stop-Continue"
  whatWentWell: string[];
  whatDidntGoWell: string[];
  actionItems: ActionItem[];
  participants: string[];
  mood: 'great' | 'good' | 'okay' | 'struggling';
}

interface ActionItem {
  id: string;
  task: string;
  owner: string;
  dueDate: Date;
  status: 'pending' | 'in-progress' | 'complete';
}
  • Create psychological safety
  • Use varied formats to keep engagement
  • Focus on systems, not people
  • Create action items with owners
  • Follow up on previous action items

1:1 Meetings

Regular 1:1s build relationships and support growth.

Purpose

  • Build rapport and trust
  • Discuss challenges and blockers
  • Provide feedback and coaching
  • Support career development
  • Check in on well-being

Best Practices

  • Weekly or bi-weekly rhythm
  • Employee-led agenda
  • Safe space for open discussion
  • Take notes and follow up
  • Cancel only for emergencies

Running Great Meetings

Before the Meeting

Preparation is key to effective meetings:

  1. 1Define Purpose: What is the meeting trying to achieve?
  2. 2Create Agenda: What will be discussed and in what order?
  3. 3Set Expectations: What should attendees prepare?
  4. 4Invite Right People: Who needs to be there?
  5. 5Share Materials: Distribute context in advance
typescript
interface MeetingAgenda {
  title: string;
  purpose: string;
  duration: number; // minutes
  attendees: string[];
  agenda: AgendaItem[];
  preparation: string[];
  outcomes: string[];
}

interface AgendaItem {
  topic: string;
  duration: number; // minutes
  owner: string;
  type: 'discuss' | 'decide' | 'inform' | 'brainstorm';
}

During the Meeting

Keep meetings focused and productive:

  1. 1Start on Time: Respect everyone's time
  2. 2Set Context: Remind attendees of purpose and goals
  3. 3Follow Agenda: Stick to the plan
  4. 4Manage Participation: Ensure everyone contributes
  5. 5Capture Decisions: Document key points and outcomes
  6. 6End on Time: Stop when scheduled, even if not finished

After the Meeting

Follow-through ensures meetings drive action:

  1. 1Send Notes: Share summary with attendees and stakeholders
  2. 2Document Decisions: Record what was decided and why
  3. 3Assign Action Items: Clear owners and due dates
  4. 4Update Systems: Create tasks, update documentation
  5. 5Track Progress: Follow up on action items

Meeting Anti-Patterns

The Status Meeting

Anti-pattern: Everyone takes turns reporting status.

Solution: Use async updates instead, reserve meeting time for discussion.

The Recap Meeting

Anti-pattern: Meeting that just recaps what happened in another meeting.

Solution: Send written notes and recording instead.

The Decision-Less Meeting

Anti-pattern: Meeting discusses a topic but defers the decision.

Solution: Ensure decision makers attend, decide in the meeting.

The Zombie Meeting

Anti-pattern: Meeting that continues even though purpose is gone.

Solution: Regularly audit and cancel recurring meetings.

The "This Could Have Been an Email" Meeting

Anti-pattern: One person presents information without discussion.

Solution: Record video or write document instead.

Remote Meetings

Remote meetings require extra intentionality.

Preparation

  • Test technology beforehand
  • Share agenda and materials early
  • Set up virtual whiteboards
  • Record for those who can't attend

During Meeting

  • Use video for better engagement
  • Have a facilitator
  • Check in frequently
  • Use chat for questions
  • Take breaks for longer meetings

Engagement

  • Ask for input by name
  • Use polls for quick decisions
  • Create space for everyone to speak
  • Check for understanding
  • Be inclusive of time zones

Measuring Meeting Effectiveness

Track metrics to improve meeting culture:

Quality Metrics

  • % of meetings with clear purpose
  • % of meetings with documented outcomes
  • Action item completion rate
  • Attendee satisfaction scores
  • Decision-making effectiveness

Efficiency Metrics

  • Meeting time per person per week
  • Average meeting size
  • Meeting attendance rate
  • Meeting start/end timeliness
  • Preparation completion rate

Outcome Metrics

  • Follow-through on decisions
  • Progress on action items
  • Team satisfaction with meetings
  • Productivity impact
  • Relationship building indicators

When to Cancel Meetings

Regularly audit and cancel meetings that:

  • No longer serve a clear purpose
  • Could be replaced with async communication
  • Consistently have low attendance
  • Run over time regularly
  • Have poor outcomes

Alternatives to Meetings

Consider these alternatives:

  • Documents: Share information in writing
  • Recordings: Video walkthroughs instead of live presentations
  • Async Discussions: Threaded conversations over meetings
  • Surveys: Gather input without meetings
  • Office Hours: Scheduled availability for questions

Conclusion

Great meetings are investments, not expenses. They build alignment, solve problems, and strengthen teams when done well.

Focus on purpose, preparation, and follow-through. Default to async but use meetings when real-time collaboration is valuable. Regularly assess and improve your meeting culture.

Remember: every meeting should either make a decision, solve a problem, or build relationships. If it's not doing one of those, don't have the meeting.

Enjoyed this essay? Share it.

Related essays

Next essay
Zustand State Management Guide