Three main challenges that usually go unnoticed in larger software projects could be listed as below:
Correct understanding of Project Scope
Optimized coordination among various teams working on the project
Everyone who has worked on a software project would agree that once you get more into day to day firefighting in managing a derailed project, the overall broader and wider view of project gets blurred and hence goes of out of focus. Though you feel that the efforts being put in the project will get it back on track but in reality it gets farther away from the tracks and hence increases gap exponentially rather than bringing it back on track. Team sizing and project scheduling depends on accurate project costing. Oversized team does not ensure accurate adherence of project timelines. Rather if by mistake you have taken more than required number of members in teams, logically it should result into earlier closures of project milestones. It does not.
Project costing also depends on correct understanding of project scope. If scope is not understood well, it might result into a weird project scope that further results into wrongly sized teams and project timelines. Even if you have bene able to understand project scope well and get it documented & vetted by relevant stakeholders, it does not guarantee still that you will be able to form right sized teams and build your project schedules with equal correctness right from the beginning. Usually the learning comes along with the project progress.
I will talk about Optimization in team coordination in our next post…