Pages

Sunday, 1 November 2020

Problem of Requirements

This is the phase which involves gathering information about the customer's needs and defining, in the clearest possible terms, the problem that the product is expected to solve.

This analysis includes understanding the customer's business context and constraints, the functions the product must perform, the performance levels it must adhere to, and the external systems it must be compatible with. 

1.Customers don't (really) know what they want 

To solve this problem, you should:

Ensure that you spend sufficient time at the start of the project on understanding the objectives, deliverables and scope of the project.

Make visible any assumptions that the customer is using, and critically evaluate both the likely end-user benefits and risks of the project.

Attempt to write a concrete vision statement for the project, which encompasses both the specific functions or user benefits it provides and the overall business problem it is expected to solve.

Get your customer to read, think about and sign off on the completed software requirements specification, to align expectations and ensure that both parties have a clear understanding of the deliverable.

2. Requirements change during the course of the project 

To solve this problem, you should:

Have a clearly defined process for receiving, analyzing and incorporating change requests, and make your customer aware of his/her entry point into this process.

Set milestones for each development phase beyond which certain changes are not permissible — for example, disallowing major changes once a module reaches 75 percent completion.

Ensure that change requests (and approvals) are clearly communicated to all stakeholders, together with their rationale, and that the master project plan is updated accordingly.

3. Customers have unreasonable timelines 

To solve this problem, you should:

Convert the software requirements specification into a project plan, detailing tasks and resources needed at each stage and modeling best-case, middle-case and worst-case scenarios.

Ensure that the project plan takes account of available resource constraints and keeps sufficient time for testing and quality inspection.

Enter into a conversation about deadlines with your customer, using the figures in your draft plan as supporting evidence for your statements. Assuming that your plan is reasonable, it's quite likely that the ensuing negotiation will be both productive and result in a favourable outcome for both parties.

4. Communication gaps exist between customers, engineers and project managers 

To solve this problem, you should:

Take notes at every meeting and disseminate these throughout the project team.

Be consistent in your use of words. Make yourself a glossary of the terms that you're going to use right at the start, ensure all stakeholders have a copy, and stick to them consistently.

5. The development team doesn't understand the politics of the customer's organization 

To solve this problem, you should:

Review your existing network and identify both the information you need and who is likely to have it.

Cultivate allies, build relationships and think systematically about your social capital in the organization.

Persuade opponents within your customer's organization by framing issues in a way that is relevant to their own experience.

Use initial points of access/leverage to move your agenda forward.


No comments:

Post a Comment