1/ When you start doing project development, you find yourself with tight deadlines, a lot of tradeoffs in quality, and money spend.
You start feeling that you might be doing something wrongly. You feel that you're not delivering business value
Thread 🧵
2/ You learn about Agile, and why deliver working software as soon as possible. You adopt Scrum, but with a project mindset. So, it's a fake Scrum. It's more like a 2 weeks waterfall.
Yet you adopt a very important ceremony important, the Retrospective.
3/ Based on Retrospectives, you start questioning yourself how are you working. Why can we deliver value to the customer? Why aren't we customer-focused?
You start looking for alternatives.
PRODUCT! PRODUCT-MINDSET!
Just burn the Project Management! 🔥
4/ Product approach is the best. Everything makes sense now!
Customer-Centric. Agile. Empowered Teams.
We're Product Teams! No longer doing projects.
5/ After some time doing Product you start experimenting that you are not able to accomplish some things because they aren't strictly related to Product
6/
- How are we gonna improve our Deployment Infrastructure?
- How are we gonna approach this shared effort among several teams that require shared effort?
- How are we gonna <thing non-strictly related to product delivery>?
7/At this moment you realize the importance of _Project_ Management.
Project Management helps those things that have a Start and an End, instead of being continuously evolving for an End Client.
8/ I reflected about when to apply _Project_ and when _Product_, and how they co-live on all the Development Life-Cycle.
As Engineer, you need to have a good product understanding, but having project skills is way more relevant than I thought.
9/ We reached a moment that we all are learning about how to do _Product_ but assuming that we all already masters _Project_. Far from reality
We still need to learn a lot of Management approaches and how they help in different ways to impact our customers
• • •
Missing some Tweet in this thread? You can try to
force a refresh
1/ We have been debating with some colleagues about the importance of learning about our decisions within the organization, and how the fast rotation of talent that's happening lately is affecting the decision-making outcomes quality.
2/ Here we had the supposition that the feedback cycle between a decision is made and understanding the consequences are long enough. We always thrive for fast feedback loops, yet we acknowledge that that's not always possible.
3/ It's not the same doing TDD within a unit test - feedback cycle of seconds-minutes vs a business decision and go-to-market strategy that can take months.
We are talking about the latter. Where those business learnings are most valuable for the organization
We have been practicing #NoEstimates for 8 months. Here are some learnings 👇
We started in a legacy code in which the people that created that service left the company some months ago and we needed to deliver some critical features
No business knowledge, no technical knowledge, a mess ahead
Business: Will you be on time?
Me: No clue yet, give me 2 weeks
Should we go for all the work for 2 weeks, analyze the Job to be Done and come back with an estimation?
We had a very tight deadline, 1month and a half to deliver