I joined a new project this week. Me and a couple of engineers from my team are being asked to build a service to provide access to data sources, both in-house and external.
As the lack of this data is being felt some distance from our team's main product, we haven't been involved in conversations up to this point. A kick-off meeting was the first opportunity for us to meet the various stakeholders and hear them say in their own words what they're looking for.
This is usually an interesting phase in a project because there's lots of scope for ambiguity, conflicting vision, missing requirements and so on. But how to navigate it?
No two projects are the same so I don't have a standard approach. The things I did around the meeting are reasonably typical and include:
- I looked for project documentation on Confluence, read it, and tagged the pages.
- I looked for other Confluence pages on the same topics, and tagged them too.
- I looked in Jira for recent tickets on the same topics, and tagged them.
- I made a new Confluence page in the project space that collected all the labelled pages and tickets.
- I identified the pages that looked most recent, most relevant, and most detailed and extracted a summary of requirements and expressed needs from them.
- I read back a few weeks in the project Slack channel.
- I summarised some interesting background information into another page in the project space.
- I drew a sketch of my understanding of the existing and required architectures and passed it by the PO for the team who need access to the new data. She corrected a couple of misapprehensions.
- I searched online for the external data source and researched it at a high level. In particular I looked for information about terminology, schemas, and versioning.
- I searched online for services, APIs, etc that provide access to the external data.
- I paired with one of our developers to explore a couple of online services and a Dockerised service for different flavours of the external data.
- I asked the SME on the project a couple of questions.
- I organised and facilitated an SFDIPOT mindmap exercise with my teammates to externalise our questions, assumptions, thoughts on risk, and suggestions.
- In the kick-off meeting I questioned the need for the project (not just for the hell of it, but with justification based on what I knew) and recieved some useful data in return.
I now feel like I have a reasonable grasp of the envelope in which this project will sit and nascent models of different aspects of it.
There are still details I don't know, stuff I've got wrong, and many open questions but I can talk to the stakeholders about considerations around architecture, technology, user needs, data, and the rest with some confidence that there's a common vocabulary and understanding.
I have also shared knowledge with various people on the team in different ways: asynchronously through the pages I created to log my research, informally through quick discussion in Slack DM, and more deeply and interactively in the pairing and collaborative SFDIPOT.
I am confident that I've already added value in these few hours of effort and I know that what I've learned so far will help me to add more as we begin to squash the ambiguities, build something, question it, and repeat.
Image: https://flic.kr/p/dX6XLS
Comments
Post a Comment