The lead developer, or software architect, plays an important role in any Smart project.
 Silvain: "I am concerned with the quality of our solutions. Being on time and on budget is the target of the project manager" |
Target
The lead developer guards the quality of the software delivered.
This target makes up for a broad range of tasks for the lead developer, as there are many ways aspects to the quality of the software. These include maintainability, stability, performance, easy of use, and having a solid software architecture.
Tasks
Tasks for the lead developer include:
- Software architecture. Setting up the software architecture for the project, and make sure that this software architecture is actually implemented. Moreover, in Smart projects software architecture is an evolving deliverables, in the sense that by realizing more and more smart use cases, better technical choices on software architecture become apparent. It is very hard to distinguish the final software architecture at the start of any project. The lead developer needs to be aware of this fluid aspect of his or her job, and continuously decides on what new solutions for architectural issue are worthwhile, that is, if the refactoring involved in already realized use cases weighs up against the advantages of having a better software architecture.
- Coaching. The lead developer also coaches the other developers in the team.
- Handover. The handover process is concerned with the transformation of any input to the project into smart use cases.
===Competences===
He or she creates enthusiasm in the team, advises on the use of technology, the layers in the architecture, and decides in case of technical disputes. He or she is knowledgeable on a broad scope of techniques and technology, for instance in a Sharepoint project the lead developer knows the wat around InfoPath, SharePoint, .Net, C#, software architecture, design patterns, UML.