SlideShare a Scribd company logo
1 of 4
Download to read offline
How to Effectively Hire and Manage a Virtual Team of Software Developers

Are you planning on managing a team of virtual software developers, or are you already managing a
team of virtual developers? I ask because if you are already managing a virtual workforce, then you’ve
honed in on a key competitive advantage. In my 15+ years of creating software in various roles from
developer to VP to business owner, I have always sought better, faster and more efficient ways to
develop quality applications. Today, you have a whopping competitive advantage right in front of your
face: the ability to find and hire talent from around the world, and with incredible ease.

There are two key advantages to working with a virtual workforce. First and foremost, you remove the
shackles of geo-location restraints. Instead of confining your search for that perfect PHP or .NET
developer within 50 radius miles of your office, you open your search to an entire planet. Software
development is a discipline of many, many specialties. Often, your project requires a good half-dozen
specialized skills, like database, user design, SaaS, etc. Opening your search to the whole world
increases your odds of finding the right talent, and very often talent with multiple skills that match your
needs perfectly.

That brings us to the second advantage of working with a virtual workforce: cost. Chances are very good
that the talent you source will be located in a country whose cost of living is less than the United States;
hence you pay less for equivalent talent. But there‘s more to this story. As you open the geo-boundaries
of your search, you increase the odds of finding developers adept in multiple disciplines. That means you
may find a database guru who’s also great at UI design… two for the price of one!

Sounds great, huh? So here’s comes the dark cloud. According to a study by the Aberdeen Group, about
50% - 90% of all software development projects executed by virtual teams fail. That’s staggering. That
means only 10% - 50% of software development projects executed by virtual teams succeed. Learning
and improving from very early failures, my career success rate of starting and delivering software projects
utilizing virtual teams is 95%; way above the mean success rate. It’s the primary reason why my software
development services company has grown so rapidly. How do I do it? How do I consistently beat the
odds? I beat the odds with a methodical process. That’s what the rest of this paper discusses. And the
good news is, the process can be taught.

Finding and Hiring your Virtual Developers
So where do you find these virtual developers? There are online marketplaces that match talent with
projects, usually posted by entrepreneurs and small to medium sized businesses.. The 2 largest are
Elance, with over 2,000,000 freelancers, and oDesk. There are many more as the market for virtual talent
is growing exponentially (hey, it’s a competitive advantage!). This site lists the top 50 to choose from:
http://jobmob.co.il/blog/freelance-marketplaces. I personally have had some great experiences with both
Elance and oDesk. The key is in knowing how to post your project and how to hire the talent.

When posting a project on a freelance market site, many posters focus on the features they want and the
programming language required. While these are certainly important attributes of a project to address,
they miss the target of what the project is all about, namely the goals of the project. For example, let me
share a real-world project that my services company developed for a client. The posting read, in short and
paraphrased, “Developer wanted to create an iOS iPhone app and Java Android app that can send SMS
messages”. Well on the surface, I could certainly provide this type of app for the client. But when we dug
deeper, we discovered the client was looking for a messaging system for taxi drivers. So we
recommended a server based solution and an implementation platform that shaved about 6 weeks off the
estimated time of their project and saved them and nearly $30k. The lesson here is to communicate the
goals of your project versus the features you want.
Once you find developers that really understand what you want to build, give them a test. I’m not talking
about some run-of-the mill multiple-choice test; I’m talking about a real-world programming assignment. I
typically create tests that closely match the project. The tests I create are open-ended programming
assignments. This allows me to evaluate a few criteria at once. First, what kind of ambition does the
developer have? How much time and effort did they apply towards the test? Some developers will refuse
to even take a test. Second, how well do they communicate with you? Do they ask questions or do they
fill in the blanks on their own? There are pros and cons to both, of course. Finally, can they code? Are
they a good programmer or just a hacker?

The art of posting a project and interviewing a developer takes time. This is an extremely important step.
Do not assume developers are commodities. These are the people who will build your dream so choose
wisely. I suggest hiring a consultant to assist the first few times, until you are comfortable with the
process.

Planning your Project
Would you build a house without a blueprint? Would you drive around in a new town without a map? I
certainly hope you answered ‘no’ to both. Yet, so many entrepreneurs and developers code without a
plan. “We wing it”, “We’re lean”, “It just writes itself”, and the list of excuses go on and on. Budget
overrun, buggy code and worst of all, an app that does not meet business goals, are the usual
consequences for not planning. But in my 15+ years of doing this, I can tell you that a good plan is
essential.

(Quick tangent: You’re plan will change. Your plan will probably change a lot from the first revision. This is
called a “pivot” in software development terms. It’s a perfectly natural course of development that leads to
ultimate success. But you cannot pivot to success if you do not already have a clear idea of where you
are going.)

Planning starts with you, and then passes to the developers. The first step is to visually and textually
describe your app in detail. The best way to visually describe your app is to create “wire-frames”. Wire-
frames are a sketched version of each screen in your app and how each screen connects to other
screens. It is the user experience (UX) and workflow of your app. For example, a wire-frame for a login
screen may show the text fields where a user enters their username and password, as well as a login
button. There are many great tools to create wire-frames. Two really good ones are
http://www.balsamiq.com/ and https://moqups.com/#!/.

The best way to textually describe your product is with “use cases”. Use cases are plain text that
accompanies wire-frames. They describe what each control, button, link, combo-box, etc. do on a screen.
Use cases describe the permutations a user can experience when interacting with a screen. For example,
referring to the login wireframe, a use case may describe what happens when a user presses ‘login’. For
instance, what screen is the user taken to next when he presses ‘login’? Or what happens when a user
enters an invalid username or password. The various user experiences are described in use cases.

(On a side note, it’s a good idea to run your wire-frames and use cases by a few third party eyes. If it
makes sense to them, you’re on the right track. If they have constructive feedback, that’s even better!)

Now that the wire-frames and use cases are ready, it’s time to plan the project. This is typically performed
by a minimum of a senior level developer, and optimally with a project manager to help with scoping.
Project planning is a process of slicing the project in segments, or “sprints” as they are sometimes
referred to in software development. A project is comprised of several sprints, and each sprint is
comprised of granular tasks assigned to various members of the team. For example, Sprint One may be
the Database Sprint, which has 10 tasks assigned to several developers that will build the database.

A typical sprint will run anywhere from 1-3 weeks. Properly planning the correct number of sprints in a
project and in the correct order will lay the entire foundation of the project’s execution and delivery. It’s
vital that you ensure that the necessary time is spent on this phase, which usually runs about 1-2 weeks,
depending on the size of your project. It is time very well spent, and I personally would never do a project
without this phase. With the sprints in place, you now have a timeline for your project. The tasks assigned
ensure everyone knows their marching order. This creates a sense of accountability within the team to
perform to the mandate laid out in the sprints. Now it’s time to execute.

Building your Dream
Managing a virtual team of developers is an art built upon a process. The art form is something you will
enhance and perfect over time based on your own management style and flair. Naturally, I cannot teach
the art of management, that’s your own unique approach, but I can teach a proven process to manage
virtual developers. This is a process that I have perfected over many years of successfully managing
virtual employees from the United States, Latin America, India, the Middle East and the Ukraine. It’s a
process that, if followed with strict adherence, will greatly improved your chances of success when
managing a team of virtual employees, whether they are developers, testers, or any other discipline.

First, start each day with a 15-minute meeting. In the software development world, these meetings are
called “daily scrums” or “stand-ups”. The purpose of these meetings is communication and accountability.
Each person in the scrum quickly states what they accomplished yesterday, what their goals are for the
day, and cite any impediments to their goals. These daily scrums should run 15 minutes. It is an overview
meeting to get the entire team synched for the day. Any sideline conversations should be conducted after
the daily scrum with the interested parties. Keep the daily scrum short and focused.

Who should attend the daily scrum? Most development teams confine the daily scrums to key developers.
I, on the other hand, involve the entire team. I involve developers as well as testers, designers and project
managers. My rationale is that if everyone in the team knows what everyone else is working on, then a
true synergetic atmosphere is built. If QA knows what’s coming down the pike from a developer, they can
be better prepared. If a designer listens in on a new feature discussion, they may lend valuable UX insight
early on in the development process. In my experience, the quality of a product is directly related to the
more involved and intertwined the various members of a team are.

Now that the team is synched and producing, it’s important that the team continues communicating
throughout the day. If the team were all sitting together in a brick and mortar office, this would naturally
happen as the project manager makes her rounds, or the developers chat by the water cooler, at lunch or
elsewhere. But this is less natural for a virtual team so a process is needed. I have found that regular
status updates facilitate communication thought out the day. A status update is an email sent to the entire
team that states a few key attributes to the team:

    1. What are you working on now?
    2. What is your progress?
    3. Are there any issues?

These status update emails should be sent 3-5 times per day, or as tasks, progress or statuses change.
They should also include availability. In other words, team members must inform other team members
what time they will be online until, or what time they will be returning back to work.
A steady stream of status updates keeps the team talking in a manner that simulates the office
experience. It takes a bit of getting used to, but once employed as a habit, communication and
collaboration skyrocket as the team members become accountable to each other. Now to wrap the work
day up.

A daily reflection on the day’s activities and a mental preparedness for the next day is a practice I
personally employ to stay sharp. Once again, this happens almost automatically in the office as
developers wrap up their day and cite to their manager and each other what they’ll be working on the next
day. It’s not so natural in the world of virtual employees so once again a process is employed. A daily
progress report sent from each team member to his or her immediate supervisor sets the stage for a
productive next day. The daily progress report should be a simple form, which answers 3 questions:

    1. What did I accomplish today?
    2. What I will accomplish tomorrow.
    3. Any impediments to my goals.

Similar to the morning scrum, this daily progress report is a tight and efficient way to wrap up a day’s
work. Team members can mentally prepare their next day’s activities, as well as team leads, superiors
and managers. The daily progress report may be the single most important way to create a synergy of
communication and accountability.

The trinity of (1) the daily morning scrums, (2) 3-5x status updates throughout the day, and (3) the daily
progress reports at the end of a work day form the foundation for a process of communication that will
yield amazing results. As you can see, it forms a sense of group accountability, where the team is all
working together synergistically. Your own personal flair will shape the process, but the basics should
remain intact.

The benefits of employing a virtual team provide a necessary competitive advantage in today’s world of
software development. It enables you to find the perfect talent at the perfect price. But managing a virtual
team is a process different than managing an onsite team. Managed properly with a proven process that
produces positive results will reap the rewards of a virtual team. Take the care to find and hire the right
talent. Expend the time and effort to plan your project. Exercise the diligence to see the trinity of
processes of virtual team management is followed each day. These are your keys to successfully
manage a virtual team and unlock their potential.



Questions or comments? Visit our website at http://www.spotlightppm.com and contact us.

More Related Content

Recently uploaded

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 

Recently uploaded (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 

Featured

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

How to manage a virtual team of developers

  • 1. How to Effectively Hire and Manage a Virtual Team of Software Developers Are you planning on managing a team of virtual software developers, or are you already managing a team of virtual developers? I ask because if you are already managing a virtual workforce, then you’ve honed in on a key competitive advantage. In my 15+ years of creating software in various roles from developer to VP to business owner, I have always sought better, faster and more efficient ways to develop quality applications. Today, you have a whopping competitive advantage right in front of your face: the ability to find and hire talent from around the world, and with incredible ease. There are two key advantages to working with a virtual workforce. First and foremost, you remove the shackles of geo-location restraints. Instead of confining your search for that perfect PHP or .NET developer within 50 radius miles of your office, you open your search to an entire planet. Software development is a discipline of many, many specialties. Often, your project requires a good half-dozen specialized skills, like database, user design, SaaS, etc. Opening your search to the whole world increases your odds of finding the right talent, and very often talent with multiple skills that match your needs perfectly. That brings us to the second advantage of working with a virtual workforce: cost. Chances are very good that the talent you source will be located in a country whose cost of living is less than the United States; hence you pay less for equivalent talent. But there‘s more to this story. As you open the geo-boundaries of your search, you increase the odds of finding developers adept in multiple disciplines. That means you may find a database guru who’s also great at UI design… two for the price of one! Sounds great, huh? So here’s comes the dark cloud. According to a study by the Aberdeen Group, about 50% - 90% of all software development projects executed by virtual teams fail. That’s staggering. That means only 10% - 50% of software development projects executed by virtual teams succeed. Learning and improving from very early failures, my career success rate of starting and delivering software projects utilizing virtual teams is 95%; way above the mean success rate. It’s the primary reason why my software development services company has grown so rapidly. How do I do it? How do I consistently beat the odds? I beat the odds with a methodical process. That’s what the rest of this paper discusses. And the good news is, the process can be taught. Finding and Hiring your Virtual Developers So where do you find these virtual developers? There are online marketplaces that match talent with projects, usually posted by entrepreneurs and small to medium sized businesses.. The 2 largest are Elance, with over 2,000,000 freelancers, and oDesk. There are many more as the market for virtual talent is growing exponentially (hey, it’s a competitive advantage!). This site lists the top 50 to choose from: http://jobmob.co.il/blog/freelance-marketplaces. I personally have had some great experiences with both Elance and oDesk. The key is in knowing how to post your project and how to hire the talent. When posting a project on a freelance market site, many posters focus on the features they want and the programming language required. While these are certainly important attributes of a project to address, they miss the target of what the project is all about, namely the goals of the project. For example, let me share a real-world project that my services company developed for a client. The posting read, in short and paraphrased, “Developer wanted to create an iOS iPhone app and Java Android app that can send SMS messages”. Well on the surface, I could certainly provide this type of app for the client. But when we dug deeper, we discovered the client was looking for a messaging system for taxi drivers. So we recommended a server based solution and an implementation platform that shaved about 6 weeks off the estimated time of their project and saved them and nearly $30k. The lesson here is to communicate the goals of your project versus the features you want.
  • 2. Once you find developers that really understand what you want to build, give them a test. I’m not talking about some run-of-the mill multiple-choice test; I’m talking about a real-world programming assignment. I typically create tests that closely match the project. The tests I create are open-ended programming assignments. This allows me to evaluate a few criteria at once. First, what kind of ambition does the developer have? How much time and effort did they apply towards the test? Some developers will refuse to even take a test. Second, how well do they communicate with you? Do they ask questions or do they fill in the blanks on their own? There are pros and cons to both, of course. Finally, can they code? Are they a good programmer or just a hacker? The art of posting a project and interviewing a developer takes time. This is an extremely important step. Do not assume developers are commodities. These are the people who will build your dream so choose wisely. I suggest hiring a consultant to assist the first few times, until you are comfortable with the process. Planning your Project Would you build a house without a blueprint? Would you drive around in a new town without a map? I certainly hope you answered ‘no’ to both. Yet, so many entrepreneurs and developers code without a plan. “We wing it”, “We’re lean”, “It just writes itself”, and the list of excuses go on and on. Budget overrun, buggy code and worst of all, an app that does not meet business goals, are the usual consequences for not planning. But in my 15+ years of doing this, I can tell you that a good plan is essential. (Quick tangent: You’re plan will change. Your plan will probably change a lot from the first revision. This is called a “pivot” in software development terms. It’s a perfectly natural course of development that leads to ultimate success. But you cannot pivot to success if you do not already have a clear idea of where you are going.) Planning starts with you, and then passes to the developers. The first step is to visually and textually describe your app in detail. The best way to visually describe your app is to create “wire-frames”. Wire- frames are a sketched version of each screen in your app and how each screen connects to other screens. It is the user experience (UX) and workflow of your app. For example, a wire-frame for a login screen may show the text fields where a user enters their username and password, as well as a login button. There are many great tools to create wire-frames. Two really good ones are http://www.balsamiq.com/ and https://moqups.com/#!/. The best way to textually describe your product is with “use cases”. Use cases are plain text that accompanies wire-frames. They describe what each control, button, link, combo-box, etc. do on a screen. Use cases describe the permutations a user can experience when interacting with a screen. For example, referring to the login wireframe, a use case may describe what happens when a user presses ‘login’. For instance, what screen is the user taken to next when he presses ‘login’? Or what happens when a user enters an invalid username or password. The various user experiences are described in use cases. (On a side note, it’s a good idea to run your wire-frames and use cases by a few third party eyes. If it makes sense to them, you’re on the right track. If they have constructive feedback, that’s even better!) Now that the wire-frames and use cases are ready, it’s time to plan the project. This is typically performed by a minimum of a senior level developer, and optimally with a project manager to help with scoping. Project planning is a process of slicing the project in segments, or “sprints” as they are sometimes referred to in software development. A project is comprised of several sprints, and each sprint is
  • 3. comprised of granular tasks assigned to various members of the team. For example, Sprint One may be the Database Sprint, which has 10 tasks assigned to several developers that will build the database. A typical sprint will run anywhere from 1-3 weeks. Properly planning the correct number of sprints in a project and in the correct order will lay the entire foundation of the project’s execution and delivery. It’s vital that you ensure that the necessary time is spent on this phase, which usually runs about 1-2 weeks, depending on the size of your project. It is time very well spent, and I personally would never do a project without this phase. With the sprints in place, you now have a timeline for your project. The tasks assigned ensure everyone knows their marching order. This creates a sense of accountability within the team to perform to the mandate laid out in the sprints. Now it’s time to execute. Building your Dream Managing a virtual team of developers is an art built upon a process. The art form is something you will enhance and perfect over time based on your own management style and flair. Naturally, I cannot teach the art of management, that’s your own unique approach, but I can teach a proven process to manage virtual developers. This is a process that I have perfected over many years of successfully managing virtual employees from the United States, Latin America, India, the Middle East and the Ukraine. It’s a process that, if followed with strict adherence, will greatly improved your chances of success when managing a team of virtual employees, whether they are developers, testers, or any other discipline. First, start each day with a 15-minute meeting. In the software development world, these meetings are called “daily scrums” or “stand-ups”. The purpose of these meetings is communication and accountability. Each person in the scrum quickly states what they accomplished yesterday, what their goals are for the day, and cite any impediments to their goals. These daily scrums should run 15 minutes. It is an overview meeting to get the entire team synched for the day. Any sideline conversations should be conducted after the daily scrum with the interested parties. Keep the daily scrum short and focused. Who should attend the daily scrum? Most development teams confine the daily scrums to key developers. I, on the other hand, involve the entire team. I involve developers as well as testers, designers and project managers. My rationale is that if everyone in the team knows what everyone else is working on, then a true synergetic atmosphere is built. If QA knows what’s coming down the pike from a developer, they can be better prepared. If a designer listens in on a new feature discussion, they may lend valuable UX insight early on in the development process. In my experience, the quality of a product is directly related to the more involved and intertwined the various members of a team are. Now that the team is synched and producing, it’s important that the team continues communicating throughout the day. If the team were all sitting together in a brick and mortar office, this would naturally happen as the project manager makes her rounds, or the developers chat by the water cooler, at lunch or elsewhere. But this is less natural for a virtual team so a process is needed. I have found that regular status updates facilitate communication thought out the day. A status update is an email sent to the entire team that states a few key attributes to the team: 1. What are you working on now? 2. What is your progress? 3. Are there any issues? These status update emails should be sent 3-5 times per day, or as tasks, progress or statuses change. They should also include availability. In other words, team members must inform other team members what time they will be online until, or what time they will be returning back to work.
  • 4. A steady stream of status updates keeps the team talking in a manner that simulates the office experience. It takes a bit of getting used to, but once employed as a habit, communication and collaboration skyrocket as the team members become accountable to each other. Now to wrap the work day up. A daily reflection on the day’s activities and a mental preparedness for the next day is a practice I personally employ to stay sharp. Once again, this happens almost automatically in the office as developers wrap up their day and cite to their manager and each other what they’ll be working on the next day. It’s not so natural in the world of virtual employees so once again a process is employed. A daily progress report sent from each team member to his or her immediate supervisor sets the stage for a productive next day. The daily progress report should be a simple form, which answers 3 questions: 1. What did I accomplish today? 2. What I will accomplish tomorrow. 3. Any impediments to my goals. Similar to the morning scrum, this daily progress report is a tight and efficient way to wrap up a day’s work. Team members can mentally prepare their next day’s activities, as well as team leads, superiors and managers. The daily progress report may be the single most important way to create a synergy of communication and accountability. The trinity of (1) the daily morning scrums, (2) 3-5x status updates throughout the day, and (3) the daily progress reports at the end of a work day form the foundation for a process of communication that will yield amazing results. As you can see, it forms a sense of group accountability, where the team is all working together synergistically. Your own personal flair will shape the process, but the basics should remain intact. The benefits of employing a virtual team provide a necessary competitive advantage in today’s world of software development. It enables you to find the perfect talent at the perfect price. But managing a virtual team is a process different than managing an onsite team. Managed properly with a proven process that produces positive results will reap the rewards of a virtual team. Take the care to find and hire the right talent. Expend the time and effort to plan your project. Exercise the diligence to see the trinity of processes of virtual team management is followed each day. These are your keys to successfully manage a virtual team and unlock their potential. Questions or comments? Visit our website at http://www.spotlightppm.com and contact us.