dedicated vs project-based teams in software dev

14
Dedicated vs Project-Based Teams Successful Software Development Outsourcing

Upload: michael-dunham

Post on 15-Apr-2017

296 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Dedicated VS Project-Based Teams In Software Dev

Dedicated vs Project-Based Teams

Successful Software

Development Outsourcing

Page 2: Dedicated VS Project-Based Teams In Software Dev

• 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

Page 3: Dedicated VS Project-Based Teams In Software Dev

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.

Page 4: Dedicated VS Project-Based Teams In Software Dev

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.

Page 5: Dedicated VS Project-Based Teams In Software Dev

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.

Page 6: Dedicated VS Project-Based Teams In Software Dev

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

Page 7: Dedicated VS Project-Based Teams In Software Dev

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.

Page 8: Dedicated VS Project-Based Teams In Software Dev

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

Page 9: Dedicated VS Project-Based Teams In Software Dev

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.

Page 10: Dedicated VS Project-Based Teams In Software Dev

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.

Page 11: Dedicated VS Project-Based Teams In Software Dev

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.

Page 12: Dedicated VS Project-Based Teams In Software Dev

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.

Page 13: Dedicated VS Project-Based Teams In Software Dev

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.

Page 14: Dedicated VS Project-Based Teams In Software Dev

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.