I don’t want to set the world on fire
But sometimes I do. My latest experience in software development raised me up and knocked me down in less than 6 months. I won’t tell you the whole story, but I will sum it up in 7 thoughts.
Thought #1 - know your enemies
or make a good job and identify all stakeholders by yourself. Do not wait that someone will come and tell you who is who. Spend more time finding all about who means what to the project and who means nothing to save your time in future.
Thought #2 - do not agree if you are not
and if you did what I said you will easily decide do you need to convince your opponent or you can ignore his or her antagonism. It’s worth to explain your arguments and reach best decision without compromises between you and valuable stakeholder and it worth nothing to debate with someone who not in charge on the project.
Thought #3 - build effective processes
even if they go in contradiction with ordinary course of business in the company. Reach out C-staff and tell them why you made these changes, smart ones will learn lessons and improve policies.
Thought #4 - use user stories
they will say there are no user stories, they will try to convince you that these needs written in table can be named “requirements” and do not understand what NFR means, but what you all can agree on is user story.
Thought #5 - be agile in fact
not just in words. It means that release scope can change based on needs, functionality should be easily added or removed and more importantly - your code should handle that! BDD is a great way to accomplish that - red scenarios first, fully test covered functional requirements in the end, don’t forget to make your design good also.
Thought #6 - make it open
source, meeting, decisions. Create email groups and invite to plannings and demos, write all your discussions in place available to every stakeholder, of course make you source code available under some license. This way you will receive feedback as soon as possible, no one will have an ability to blame you in keeping secrets, every person will have an ability to contribute and if you have CONTRIBUTING.md
or Getting Started
you will receive contributions in a good quality.
Thought #7 - be in charge
taking responsibility. If you see that no one else can held this - make it yours. The world is build that way so people mostly fail to make things right, but if you can do that, request to be accountable and do not forget to have an authority in the kit.