At DlhSoft, most of the time we work on custom software development projects in an agile, feature-based mode, but still using old-fashion fixed price estimations that customers need to pre-approve before actual work starts on each feature. We find this to be a very simple yet nice approach for both parties, provided that we are just careful with the original estimations.
Using Visual Studio Online (TFS based) this way of working plan seems to integrate well:
- The customers defines new features and assign them to DlhSoft if they want us to analyze the requests and eventually provide the associated development (optionally, under a specific DlhSoft branch). The customer sets the feature’s state to active when the analysis can start.
- In the analysis phase DlhSoft creates and maintains a hierarchy of user stories and tasks for active features (letting user story and task items’ state set to new). Both parties comment the requirements under the feature, user story, and task items, until everything get clarified.
- DlhSoft enters original estimation for further reference, and initializes and manages remaining work (in hours) for tasks under each user story, which in turn updates the total remaining work field values displayed on the parent user stories, both in the backlog and board views.
- To accept a user story estimation, the customer simply needs to change its state to active. DlhSoft will start working only on tasks under active user stories (and ensuring also that all child tasks of each activated user story have properly set estimations).
- Finally, DlhSoft provides the actual software development services associated to each task, closes tasks when their work is complete, and when all tasks under a user story are closed, we set the state of that user story to resolved. The customer can then test the software output, and close user stories as well. Eventually features get resolved and closed too, iteratively.