Recently I’ve met several people from a small software company. As lots of startups in my country, they used to start their business in the professional service area, but building on more and more similar successful projects, they have started to productize their software.
They are just in the beginning of adopting an Agile process, and talking to them revealed to me (in spite of being in a quite different area of the software industry and having a company 2000 times smaller than the one I work for) how similar challenges do these people have compared to what I’ve seen in the last 10 years:
- Struggling with upfront estimations often proving to be wildly wrong
- Learning that hundreds of pages of specifications are worth much less than frequent feedback from customers
- Priorities of features changing frequently, both needing to serve a long-term product roadmap and short notice requests
- Stakeholders having vastly incorrect assumptions about complexity of software engineering work
- Finding the right balance between perceived speed and real speed, like spending overhead effort on removing technical debt and doing test automation for continuous delivery (utilization vs lead time)