Wiki
This website is a wiki. If you like and use our processes, techniques and tools, please add your experience and best practices. Just register and share.


Contents


User


Smart


Community

















Introduction

Lately I have executed, together with a very clever lead developer, a project for the a hospital in Zwolle (Netherlands). The project was to implement a Complication Registration application. The requirements were fitted in two documents and written down at a highlevel. My first job as a team lead / project manager was to create an estimation on the functionality. I red the documents and produced a Smart estimation. I explained this estimation to my supervisor. The total number of SUCP was 190. The upfront hours per smart use case point of 6.0 was based on my experience and the hybride circumstances the project would be executed in. This is, off-course the hard part, especially when you execute a project in a field and customer you do not have any experience with. Luckily the team of two (including me) was a very experienced development team as well on the technology as doing project the agile way. The only unknown area was the customers world of working, Hospitals. That's a different world than I aver could have imagined.

Project components

  • Technology. .NET 2.0 and 3.5
  • Codegeneration. LLBLgen Pro, a database driven code generator.
  • Modeling. Enterprise Architect for modeling SUC diagrams, domain models, archtectural models, flow models and data models.
  • Development Methodology. Within the development team we used Smart as out main methodolgy. Towards the customer a hybride form of agile techniques and their regular (waterfall kind of) approach was used.
  • Execution Elements. Iteration based execution, but without the acceptance part, because the customer was not yet ready for this, so delivering to our customer contact was accepted by the team and the customer as an accpetable way of finishing things.

Scope phase

During the scope it took me 5 days to read, estimate, create a Smart project proposal and have it accepted within 5 working days. This is rather quick, but it happened. I think that 5 days is a good estimation of time for creating a project proposal (also called a project plan in other organisations). I had about 5 SUC´s estimated with 10 complexitypoints. This indicates that you have to investigate the situation to get a better estimation later on. We planned to work on these unkown uc´s as soon as possible.

Project execution

We decided to executer the project in iteration of 3 weeks each. Somewhere during the last week of an iteration we planned a session with the end-user group to inform (talk and demos) them about our progress. The end-user group was positively supprised about the fact that they where involved this early during development of software. They were simply not used to that. During our last session one of the end-users explained that this was the first time they enjoyed the development of software because they had the feeling that their sound was heared early during the execution. It enabled the possiblities of incorperating their ideas during the exection of the project. On several insights this realy happened.



During each iteration we gathered our metrics on a day by day basis. We managed to aggregate all the metrics along the project and every iteration I put together an iteration report with what we had delivered, the concerns, our velocity and scope creep related things. Not every iteration was precisely executed with 6.0 hours per SUCP, but in the end our everage was 6.1 hours per SUCP. This a very good score according to the new Codegeneration engine LLBLgen Pro, the fact that project sponsors, stakeholders and everyone else around the project was not used to agile development techniques.


Conclusion
  • Initial estimation in SUCP: 190
  • Initial hours per SUCP: 6.0
  • Final SUCP implemented: 197
  • Final hours burnt: 1201
  • Final average hours per SUCP: 6.1


    Taking the above metrics, you see that, according to the original number of complexity point, 7 additional points where implemented. This indicates a scope creep, but the extra 61 hours spent to implement the extra functionality where accepted by the customer. The overall conclusion is that another project in a field like mentioned above with a team consisting of two highly experienced agile professionals can be executed succefully with a 6.1 hour per SUCP estimation. Take it to your advantage!

Wouter Goedvriend