viernes, 19 de julio de 2013

Software Development in eHealth

Our experience in e-Health software development

When working in the software industry, we would always like to improve the efficiency of our developments. To do that, we try to reduce the development time us much as possible while sticking into the assigned budget but also maintaining the required quality and user satisfaction.

In e-Health projects, there are many stakeholders involved: doctors, hospital managers, patients, etc. Everyone with different needs and opinions about which is supposed to be the scope of the project, what are the most important features, and which is the better way to address a certain situation. In addition, the requirements defined at the beginning of the project are never static. They are in constant change and evolution, adding complexity to time and cost estimations and increasing the risk of project failure (understanding failure as a low quality software, a delayed delivery or a budget overrun).

In the eHealth & eInclusion unit of i2Cat Foundation we learned from all this problems and started the transition from traditional waterfall-based to an Agile SCRUM-based software development. We studied our specific problems and needs to tailor a specific strategy for the software development group. This strategy is focused on three main points:

1 – Adopt Agile Development practices and use support tools
2 – Continuously communicate with stakeholders about the development progress
3 – Develop modular and configurable software platforms

By following this strategy and improving it over time, the benefits we encountered so far are:

· Time estimations have improved, reducing the delayed delivery risk.
· Better adaptability to requirements changes.
· More frequent delivery of prototypes, keeping the stakeholders updated and more involved in the project progress.
· Improved communication between the development group and the rest of stakeholders. Always updated information for project and product managers.
· Control the development progress precisely allowing taking measures when the progress is not on track.
· Reduce development time by effectively reusing software modules and components.
· Improve the software quality without running out of time or budget.

Adopting an effective development methodology is important to improve the efficiency, but the key to success is to learn from the past, adapt to your particular field and team, and constantly evolve to improve. There is no strict rule that fits all development teams, create your own strategy and be flexible to adapt it and change it over the time

No hay comentarios:

Publicar un comentario