Software Development Team: Key Roles & Responsibilities

Personal note from QArea : https://qarea.com/blog/software-development-roles-and-responsibilities-in-outsourcing

– the discovery phase, initial phase, presale
– key roles
– team composition vary greatly
– 1. Product Manager
– 2. Developer
– 3. Manual QA Engineer

– Account Manager : main point of contact with vendor
> Analyze Request
> Docs in the inital phase:
1. Estimation doc: cost, timelines, T&C, details (payment options, collaboration model)
2. Proposal doc:
– tech & business approach
– outline of inputs & outputs expected from both client & vendor
> to get the rough idea, including potential risks & assumption, cost

– Business Analyst
> refine initail idea
> ensuring feasible, valuable, & meet stakeholder expectations
1. Business Requirement Spec:
– including detailed business use case
2. Functional spec (comprehensive list)
3. Non-functional spec:
– performance, security, maintainability
> stockholder collaboration: engage with all SH

– Software Architect : the use of technology
> usually to solve non-functional req.
> in small web dev: Senior Developer

– Delivery Manager
> overseeing the delivery process: ensure the needs are met in a timely fashion
> facilitate difficult discussions
> proactively address all the internal & external risks, issues, & dependencies w/ budget & people

– Domain Expert / Subject-Matter Expert
> true professional
> deep knowledge, broad skills, extensive experience in a particular industry/business area
> to save a lot of back and forth on refining requirement
> serve as consultants
> during user acceptance testing: verify the business & technical requirement
> usually lack technical expertise
–> can be considered a strong point
–> focus purely on business outcomes
–> provide deeper insight into the problem