How to avoid scope creep in I.T projects
If you’ve ever worked on an IT project, you’ll already know that one of the most difficult parts of managing technical projects is avoiding ‘scope creep’. This post aims to demystify ‘scope creep’ and give you a better understanding of how to manage scope creep in IT projects.
If you’re unaware of what the term ‘Scope creep’ is then chances are that you’re very early on in your software development career.
You’ll often find that business managers, and higher up managers like to feel like they’re in charge of developers but the truth is they should have more respect for developers as they’re the workers who write the code that’s powering applications and business logic for the products they manage. Without you they wouldn’t have a job in the first place. With that in mind, it’s important that you stand your ground in making sure you make yourself comfortable with the project before jumping straight to writing code.
Identify stakeholders. If you’re a software developer, contractor, or project manager then the first thing you should do is sit in the shoes of the project stakeholders. If you’re having a hard time finding out who this is then ask yourself “who wants software built for them?” - is it a neighbour, a different department at a company, or maybe your parents.
Identify the complete product requirements. Listing absolutely every feature is a challenging, yet rewarding task. The more of an understanding you have of a requirement
Set project deliverables This is the most important rule of them all. Outline what you’re going to be creating for your client
Write a contract early on.
Use project management tools to track your progress. Tools such as Trello are perfect for outlining project requirements.
Prefix your git branch names with ‘dsc’ so you can easily identify which branches are ‘nice to have’ features
DSC = Development Scope Creep
Depending on your software development lifecycle, you may disagree of the above naming convention. Personally, it’s an approach I like taking as it allows me to give a lower priority focus on features that contain the DSC prefix. It also makes it easy to search for branches directly from a command line or git client.
Make your code modular in the first place. Writing code that is modular not only means you can use it in future projects, but making changes becomes a quicker process. If you’re wondering how you can write modular code then you probably need to read up on design patterns, Object Orientated Code, and reflection to getter a better idea of how to write software with a pluggable architecture.
By following the above guidance you should instantly start to become a more successful developer and make your job a lot easier than it once was.