Dynamic Software Community of Practice through Three-layered Competence Model