dedicated vs project-based teams in software dev
TRANSCRIPT
Dedicated vs Project-Based Teams
Successful Software
Development Outsourcing
• Generally – there are two ways to assign resources to software development projects:– Discrete Project Mode
• Unique initiatives that have clearly defined objectives, time period, acceptance criteria, and outputs, outcomes and benefits
− Continuous Support Mode (Also known as continuous beta or continuous delivery)• Applies to applications or technical assets that are
constantly developed and improved• Includes applications or systems in competitive markets,
software and services to clients or supported departments that have ongoing enhancement needs throughout the product lifecycle
• This is not the DevOps definition of continuous delivery which includes a system of applications and operational procedures that can be used to support software development in either mode.
Resourcing for Software Development
Resourcing for Software Development
• Characteristics of discrete projects– Can be use either agile or waterfall project management systems,
but tend to be structured and limited in scope and goals– Teams are generally temporary, not assigned longer than the period
of the project and team members may come and go during a project, especially when the organization uses matrixed resources.
− Changes in scope, “Scope Creep,” are avoided to keep the team out of work negotiation and re-budgeting.
−Metrics concentrate on work done and remaining work against the time available for the project and time used.
Resourcing for Software Development
• Characteristics of continuous delivery– Small, long term terms (3-7 members generally) using
agile methodologies even if the organization as a whole is waterfall based.
– Changes in scope for a team are part of the normal task development that are prioritized and added to the backlog.
– Metrics are production-based, and measure work throughput with an emphasis on maintaining a constant, reliable productivity rather than a “burndown” of project tasks.
To Each A Purpose
• Each mode of resourcing for software development has a place and value. – There is nothing to say that a project that starts
out as discrete can’t switch to continuous after initial production release.
– An asset that is under continuous support and needs to be refactored or rewritten may switch to a discrete project to accomplish that specific goal and then back again after it is reached.
Advantages of Dedicated Teams• Stable, knowledgeable team that knows application internals,
technology stack, and dependencies deeply• Team develops tested, set procedures that within
organizational processes and can be relied on• Team has well understood technical skills and working habits.
− There is no initial project overhead for new feature requests or objects.
− Their task breakdowns and estimates are generally reliable and can be used for scheduling across other teams
Advantages of Dedicated Teams• Team members are fully assigned with no conflicts.
– Teams are small and tightly coordinated so they can take tasks from the backlog flexibly and are blocked by interdependencies less frequently.
• Over time, team can scale up or down depending on total work volume, but not specific areas of work. Less dependence on individuals and more on total production.
• Team has greater cohesion and needs less oversight, administration. – They have both responsibility for the assets they support and
visibility needed to deal with issues that could block production.
Disadvantages of Dedicated Teams• Team members may become stagnate and limited to the technologies they
directly support. Becomes difficult for them to see opportunities to adopt new approaches or accept change.
• Individuals can become bored with regularity of work. Personal and career advancement may impact team morale and interaction
• Team members may become too focused on their area and not understand larger, organizational issues
• Adding new members to a dedicated team requires special consideration to team dynamic and individual “fit.” A person with a skills fit may not meld well and damage team cohesion.
Sisyphus and his rock
Mitigation
• The disadvantages of dedicated teams must be understood and mitigated to be successful.
• Not recognizing the threats to team cohesion and individual satisfaction within a dedicated team will result in lower production and greater team turn over.
• These issues apply to any dedicated team, in-house or outsourced. – If the initiative is a good fit for continuous development the
advantages will outweigh the disadvantages if issues are properly mitigated.
Why Outsource a Dedicated Team?
• Existing, in-house teams are focused on existing applications and technology stacks. – Scaling them or training new resources and forming a
team is a long and difficult process that requires individuals to switch tasks and can lower productivity.
• A new team from services provider can start with a discrete project and transition to continuous with less disruption to existing teams.
Why Outsource a Dedicated Team?
• If outsourcing is already under consideration, using the outsourced team in dedicated mode makes them more autonomous and self-managing. – There will be an initial knowledge transfer but the overhead
will diminish as team cohesion and productivity advances. • The services vendor takes care of recruitment, testing,
personality and skills matching and team dynamics. – A qualified team is presented for interview and assessment
rather than resources that you need to assess individually and as a group.
Dedicated Team Services What to Look for?
• Providers with experience in similar situations with clear approaches to mitigate the problems of dedicated teams. They should take responsibility for them as a part of their partnership and contract.
• Plans for real-time communication and collaboration with product owners and client team that will ease initial ramp up and insure that production reaches a consistent, healthy level early. – Nearshore teams have a clear advantage here because
they are within a 2-3 hour window normal working hours.
Dedicated Team Services What to Look for?
• Vendor and client relationship should be able to operate at a partnership level with recognized goals, risks and value for each side. – Work with companies and teams that have cultural affinity and a regional
understanding of business culture to avoid having to reform your internal organization
• Experienced vendors approach dedicated teams as a long-term opportunity. − They focus less on operational
mechanics and more on your goals for the initiative and how they can help.
− If small details become the focus of negotiations, the overhead is likely to be too burdensome.
Dedicated Teams Can…• Be a significant advantage when the initiative is a good fit. • Have high productivity, stability and knowledge in their
domain. • Have issues if their disadvantages are not recognized and
mitigated properly. • Be outsourced with experienced vendors who understand
the opportunity and approach it as a business partnership with equal risks and rewards identified on both sides.
Scio Consulting is a experienced provider of outsourced, dedicated teams for software development initiatives. If you have more questions about how a dedicated team might work for your initiative, please contact us.