4 ms·
In the past 4 years I have been working for the same company and my team delivered around 20 or so projects and didn’t miss a single deadline. Before that, in
by tucaz 7y ago
In the past 4 years I have been working for the same company and my team delivered around 20 or so projects and didn’t miss a single deadline.
Before that, in previous companies, the same thing happened. Lots of projects and no missed deadlines.
I believe it’s due to a simple thing: expectations.
Project expectations must not be around specific implementations or features, but around problems solved.
That gives the project team room to learn and adapt to changing conditions which is especially valuable when you are doing something for the first time.
For the customer, that is having his problem solved, it doesn’t matter if a button is white or blue or if it is actually a button. It matters that a specific problem gets solved when it needs solving.
Everything in addition to that is waste.
- HeroOfAges 7y agoYes, but don't you solve problems by implementing features?
- throwawaymsft 7y agoNot always. The best code is no code. Sometimes you can clarify requirements (and realize the request is redundant with existing capabilities), adapt workflows, combine existing features, etc. If someone has a request, the first instinct shouldn't be to write more code, it's to clarify what they are trying to accomplish. "How do I get the last 3 letters of a file? I need a feature for that." "Are you trying to get the file extension? We have that in the metadata."
- tucaz 7y agoYes you do, but there are thousands of ways you can skin a cat. Sometimes that automated something you thought was really important but super hard to do might not be as useful as one would think and the user requested it because he could. The trick is to have a flexible scope based on what problem you are trying to solve and not around a specific feature/solution.
- greenyoda 7y agoI have also created many problems by implementing features - usually by weighing down a system with extra complexity that turns out to be of very limited value to users. From this extra complexity are born future bugs. Some features are best left unimplemented.