Don’t take requirements on Face Value
Often your requirements can overstep outlining the business need and into murky waters of business users defining technical solutions; which are rarely the way we would choose to do it, or in some cases even technically feasible.
“Has the world gone mad; or is it me?” – Ben Howard
As professionals it’s our obligation to probe these requirements until we’re left with something that makes sense that all parties are happy with. It’s always worth asking why, sometimes a requirement can disappear altogether as a result.
This isn’t doing yourself out of work, it’s enabling you to do the “right” work, this is mutually beneficial; we’re paid not only to write software but to provide a service, probing will prove your understanding of the business and ultimately build trust.
Make sure you understand how the component you are writing fits in with the architecture as a whole. As the Development Lead you’ll be expected to be capable of participating in conversation with all areas of your team and all levels of the business, from those with a vested interest in a particular piece of functionality, all the way up to those who aren’t interested in the minutiae, just the fact that the system works.
If you don’t understand how your software fits in with the wider Organisation you won’t be able to fulfil this. Again, if you can prove your understanding you’ll gain trust, but it’ll also enable you to more conclusively understand requirements if you understand for example what impact your validation (or lack of!) may have on downstream systems.
Are we there yet?
You’ll inevitably be asked (“probably” by Project Managers, and “probably” numerous times) whether you’ve finished a Task, it’s nice to have an answer to hand about not only your own work, but that of the team. Having a visible board to track progress on is really part of the Agile process, having one of these can ease the pressure, (but that doesn’t mean you won’t be asked!).
Not only is it good to have an answer to questions, but if you have an idea of whether your team is likely to finish all of the tasks on your current sprint then it will allow you to raise the alarm early, or re-prioritise workload within the team.