Software Outsourcing Hacks (4/7) - Scoping for the Unknown
Srivatsan Aravamudan Nemili / May 30, 2017
Welcome to another post on the software outsourcing hack series. Please click here to read the earlier posts (One, Two & Three) on this series.
We all get it Software Development is a challenge. Outsourcing Software Development is even a bigger challenge. Many opine software outsourcing is good approach to the solving the challenges of software development. However everyone would agree that successful software development outsourcing is no cake walk.
Let’s get this straight, there is no Universal method to solving this puzzle and handle all software development projects.
Each project is different in its type and size and can be managed based on three important aspects.
1. Scope: What are we trying to achieve at the end of the day using the application.
2. Process: What is the process through which the deliverables are implemented.
3. Stakeholders: Who is responsible for which. Customers, Managers, staff, admins and the vendors.
These aspects can be further broken down into 7 questions which can be summed up as follows:
1. Who: Customers, Employees, Suppliers, Competitors, Government and other stake holders.
2. What: Scope, Strategy (Corporate, Business, Marketing etc.)
3. Where: Facilitation, Location, Market, Department.
4. When: Project Management Plan, Deadline, Timeline, Sequence.
5. Why: Rationales, Logics, Leadership, Culture, Change Management.
6. How: Processes, Operating Plan, Coding, Testing, Metrics.
7. How Much: Budgeting, Investment Plan, Costing.
These questions provide the structure to the approach when dealing with outsourcing projects. However, the answers need to be tweaked based on a project. Failing to understand these factors and their relation to each other increases the chances of failure dramatically.
Project characteristics or type determines the amount of details you can define in the scope, and thus the way you manage the scope – Process and the interaction between the Stakeholders.
Project types is a combination of Technology, Market and Complexity. Each of these factors influence the other factors in the combo. Complexity can range from easy, (for example an existing well documented application being upgraded to different technology or platform) to difficult extreme (for example a new technology based application with high risk).
Pic Courtesy : bitwizards.com
Software Development Outsourcing can be an interesting experience when the customer understands these terms and work with an experienced vendor. An experienced vendor i.e. the software consultant would nudge the customer to think in terms of scope, process even at the very first meeting. This should also give the customers an indication on the ability of the vendor to manage the project. You might also want to have a look this post regarding choosing the right software consultant for your project. Thanks for stopping by and have a fantastic day!
Business Analyst - Snr Software Consultant.