240 likes | 373 Views
Applied Software Project Management. Managing an Outsourced Project [ Modified version of Stellman and Greene’s Chapter 9 slides. Adapted for class use only in the CS 709B course at UNR. Slides updated by Rakhi Motwani and Hema Jayaprakash, 2009 ]. What is Outsourcing.
E N D
Applied Software Project Management Managing an Outsourced Project [Modified version of Stellman and Greene’s Chapter 9 slides. Adapted for class use only in the CS 709B course at UNR. Slides updated by Rakhi Motwani and Hema Jayaprakash, 2009] http://www.stellman-greene.com
What is Outsourcing • Sub-contracting a project to a third-party • May or may not involve some degree of offshoring • Offshoring is the transfer of an organizational function to another country, regardless of whether the work is outsourced or stays within the same corporation/company http://www.stellman-greene.com
Why Projects are Outsourced • Cost savings (and possibly investing increased profits in growing business opportunities) • Focus on core business • Reduce time to market (boost in productivity due to rapid implementation of new strategies and initiatives) • Access to a larger talent pool • Supplement limited in-house capacity http://www.stellman-greene.com
Why Outsourcing Fails? • No well-defined processes and governance structures in place • Poor project management • No metrics for measuring success • Most organizations are known to be unwilling to invest time at the outset to adequately plan and execute a project • Organizations also wrongly assume they have the internal capabilities to govern an offshore operation http://www.stellman-greene.com
Why Outsourcing Fails? • Gartner’s Report: • Unrealized cost savings • Loss of productivity • Poor commitment and communications • Cultural differences • Lack of offshore expertise and readiness • Most outsourced projects are: • Poorly planned, shoddily implemented & ineffectively managed http://www.stellman-greene.com
Considerations for Deciding to Outsource • Select the right projects to outsource • Select the right vendor • Availability of dedicated personnel for project & human resource management oversight • Offshoring • Manage time zone difference • Invest time for understanding the culture • Resolve work cultural differences • Have clear procedures for both knowledge and process transfer should the outsourcing arrangement not work out http://www.stellman-greene.com
Prevent Project Failure • Outsourcers should figure out their IT process maturity. Mature processes have: • Standardized methodologies • Established mechanisms for managing change • Detailed service-level agreements • Strong skills in project and portfolio management • Weakness in these areas can translate into poor results from outsourcing projects http://www.stellman-greene.com
Don’t be a hands-off client (Get involved) • Get involved in the day-to-day management of the individual team members and their tasks • Do not leave all of the decisions up to the vendor • Do not assume that it's the vendor's responsibility to fix every problem that comes up in a way • "I'm paying the bills, and the vendor will lose my business if they don't get this right, so they have to take care of everything!“ • No SRS document is complete. The vendor does not have enough information to build the software properly http://www.stellman-greene.com
Constantly communicate project goals • Adequately communicate your needs and goals to the vendor • Integrate the outsourced team with your organization to provide context • Keep the team members on track; make sure they understand your organization's needs, and that the tasks they are performing are in line with organization’s goals • Have daily discussions with the team • Spot check work from selected team members to make sure you are getting what you think you are asking for http://www.stellman-greene.com
Estimate the work • Make sure the project is estimated well • “The further away you get from a task, the easier it seems; the devil is usually in the details” • Unrealistic estimates cause projects to fail • Vendors tend to promise things they can't deliver • Meet with the vendor's project team and hold your own estimation sessions, once the project team is assembled http://www.stellman-greene.com
Management Issues • Actively manage the project • Set up a communications plan with the team lead at the vendor • Know all your team members • Collect the daily status of the project (nightly build reports, unit test results, track the lines of code produced on a daily or weekly basis, access the defect tracking system) http://www.stellman-greene.com
Senior Management (own) • Keep them in the loop • Senior managers may or may not have a realistic view of outsourced projects • Make sure your organization's managers understand what it is that you and your outsourced team are accomplishing, and how you are dealing with them on a day-to-day basis • You will need them to support you in case you make any controversial decisions, if you need further funding, or when you need their approval • Provide status reports to them, encourage them to visit with the vendor http://www.stellman-greene.com
The Vendor’s Management • Build a relationship with the vendor’s management • Know who to approach when things go wrong • Establish trust both ways • The vendor should understand your goals • Don’t allow the vendor’s escalation process to interfere with the project (this “escalation” process is usually positive for the vendor, but it might work against you) • Make sure the management at the vendor recognizes and rewards good work • Security and intellectual policies at the client side might need to be modified as well http://www.stellman-greene.com
The Project Team • Build a relationship with the team • A project manager doesn’t have the same kind of relationship with the team that he/she would with a team in his own organization • Understand the needs of each team member; the project manager is the team's only resource for gathering the information • Keep the team motivated • Gain credibility by making good decisions http://www.stellman-greene.com
Collaborate with the Vendor • Tools and techniques for the project phase should be modified • Plan and manage the project scope • The project starts either with • A scope and a budget, or • A scope and a deadline (as opposed to an in-house project, which starts with a scope and set of known resources, from which schedule, budget and due date are estimated) • Plan for knowledge transfer • Done through meetings, documentation, working off-site at the vendor, bringing consultants on-site • Vendor team on-site is less disruptive but has disadvantages http://www.stellman-greene.com
Plan and Manage the Project’s Scope • Going directly to meet the team helps communicate your needs effectively • Knowledge transfer should be covered in the scope and vision document • Include the vendor as project stakeholder • Recognize that success for the project manager and success for the vendor are often two different things http://www.stellman-greene.com
Do your own estimation • Learn about your resources and create a team • Follow one of the estimation methods for the in-house project • Renegotiate the contract or add more resources to meet the deadline • Better to know at the beginning at the project http://www.stellman-greene.com
Maintain your project schedule • Can’t understand the complexities with status meetings • Don’t depend on the vendor to maintain the project plan and project schedule • When a project manager is responsible for the project, he/she must keep track of its status • Know who is doing what and how far they have progressed http://www.stellman-greene.com
Hold reviews and inspections • Identify and fix defects • Inspections as milestones in the project schedule • Discussion groups, mailing lists, log messages from the version control system • No inspection meeting required • Deskcheck to spot check the work • Mentor the team from the vendor http://www.stellman-greene.com
Hold Reviews and Inspections http://www.stellman-greene.com
Design and Programming • Don’t delegate the entire design and programming of the project to the vendor • Establish design constraints early on • If possible, design the software in-house, or in collaboration with the vendor • Monitor the code base using code reviews and project automation http://www.stellman-greene.com
Software Quality • Take responsibility for the quality of the software • Quality is not just another deliverable that can be bought and paid for • Include testing in the scope document and if possible in the contract • Don’t make decisions that undercut the QA team • Ensure that adequate time and budget is allocated for test planning and execution http://www.stellman-greene.com
Don’t Blindly Trust the Vendor • Even though individual team members may have certifications or degrees, it doesn’t mean that they are competent • Just because the vendor’s organization is certified, that doesn’t guarantee that they know better than you do how to run your project • Don’t be intimidated by the vendor’s pedigree. If something on the project looks wrong, it probably is! http://www.stellman-greene.com
Building an Effective Vendor Management Organization http://www.stellman-greene.com