02.03.08
Pourquoi Visual Studio Team System favorise la conduite du changement dans l’entreprise ?
Au sein des entreprises, il existe une multitude d’outils différents qui sont utilisés pour effectuer la même tâche. Les critères sont basés sur les prix, la formation à ces outils, l’intégration dans l’univers technologique dans lequel baignent le client et des choix historiques.
En effet, lorsqu’un client investit en argent, en temps, en recrutement, en formation et en communication, il lui est difficile de revenir en arrière du jour au lendemain.
Visual Studio Team System se propose d’offrir un « tout en un » permettant de gérer le cycle de vie d’un projet logiciel.
Les différentes briques de la solution sont déjà connues et utilisées plus ou moins selon l’entreprise.
Ces différents outils répondent aux besoins suivants :
- Suivre les tâches d’un projet en déclarant des areas, des scénarios, des work items, des bugs
- Gérer les sources avec un outil de gestion de versioning
- Gérer les tests unitaires et la couverture de code
- Gérer les builds nocturnes
- Manager le projet sur la base de métriques d’avancement du projet
- Etablir une fondation unique et solide (site SharePoint) pour faire communiquer tout les acteurs du projet du fonctionnel à l’administrateur système en passant par l’architecte et le développeur
La prise en main par une équipe fonctionnelle et technique passe par des étapes importantes à ne pas négliger :
- Former les acteurs du projet aux fonctionnalités de base sans les noyer dans une explication avancée du produit
- Etablir des normes d’utilisation de la plateforme et de nommage des différents artefacts
- Proposer un support disponible à l’utilisation de Team System pour ne pas être freiné par une mauvaise utilisation ou compréhension de l’outil
- Programmer et paramétrer les builds au plus tôt du projet
- Ne prendre en compte que les documents intégrés dans le portail Team System et les bugs déclarés (à partir par exemple de Team Plain qui permet d’utiliser Team System depuis un navigateur Internet)
On le voit bien, l’utilisation de Team System demande une discipline d’équipe qui devient profitable à tous les acteurs du projet. Cela demande par contre un changement de mentalité et une aspiration à améliorer les méthodologies classiques et les habitudes prises d’où l’importance d’être accompagné dans cette démarche.
Article de presse d'introduction sur les DSL
Pour information, j'ai écrit un article d'introduction aux DSL qui est paru dans le magazine Programmez de Mars 2008.
Vous pouvez lire l'introduction à ce lien.
A votre disposition pour des informations complémentaires et / ou pour accueillir vos retours.
28.02.08
Portail Visual Studio Gallery
Grâce à Jean-Marc Prieur de DslFactory, j'ai appris le lancement d'un nouveau site qui répertorie tous les produits gratuits ou commerciaux autour de Visual Studio.
On y retrouve les catégories suivantes :
- Build
- Coding
- Controls & Libraries
- Data
- Documentation
- Modeling
- Other
- Performance
- Programming Languages
- Reporting
- Security
- Setup & Deploy
- Source Control
- Team Development
- Testing
- Web
Utile lorsqu'on est amené à effectuer des comparatifs ou pour évaluer un produit.
Le site : http://visualstudiogallery.com/
17.02.08
Sortie de la release de GAT Février 2008
Pour rappel, GAT est un extension à Visual Studio qui permet d'élaborer des modèles dans le but d'automatiser la génération de code. C’est le successeur des « Entreprise Template Projects » (ETP) avec Visual Studio 2003. Le moteur pour écrire un modèle s’appelle T4.
Lors du déploiement de votre package « GAT », vous devez installer les Guidance Automation Extensions (GAX) pour permettre à Visual Studio d’utiliser vos fabriques GAT.
Les nouveautés de cette release :
- support de Visual Studio 2005 et / ou Visual Studio 2008
- si vous avez la version précédente de GAX, pas besoin de la désinstaller
- correction de différentes anomalies
Les liens :
- Guidance Automation Extensions - February 2008 Release
- Guidance Automation Toolkit for Visual Studio 2005 - February 2008 Release
- Guidance Automation Toolkit for Visual Studio 2008 - February 2008 Release
14.01.08
Extensibilité de l'Event Broker avec CAB
Pour ceux qui ont utilisé ou utilisent le framework CAB (Composite User Interface Application Block), l'un des premiers besoins qui se fait ressentir est de faire communiquer les différentes modules qu'on crée sans passer par un couplage fort.
Le design pattern Observateur (ou publish / subscribe) sur lequel repose la communication inter-modules est implémenté dans le mécanisme de l'Event Broker. Il permet donc de notifier à un module un événement vers d'autres modules sans pour autant les connaître.
L'un des défauts que j'ai rencontré est l'utilisation de la reflection dans ce mécanisme qui impacte la performance globale de l'application. Il est également obligatoire d’avoir la même signature et les mêmes types véhiculés du publieur à l’abonné ce qui demande une organisation sans faille entre les développeurs de différents modules.
On spécifie les noms des événements qu’on publie par des constantes ainsi que chez celui ou ceux qui y souscrivent. Aussi, il est intéressant de les centraliser pour éviter des erreurs de nommage des 2 côtés.
On arrive au final à un plat de spaghettis lorsqu’on a plusieurs modules qui s’appellent avec des interdépendances et des réactions en cascade à gérer.
La solution est d’utiliser une classe qui puisse agréger et permettre la gestion (routing et transformation) des événements des publieurs aux abonnés. Cela facilite également l’écriture des tests unitaires.
Jeremy D. Miller (sur son blog sur le site CodeBetter) nous expose sa solution avec l’utilisation de generics et l’implémentation du design pattern Event Aggregator (décrit ici sur le site de Martin Fowler). Il agit tel un Message Broker dans un hub et adresse la problématique de comment architecturer les messages.
Glenn Block (sur son blog du site CodeBetter) lui répond en expliquant le travail effectué actuellement pour la nouvelle version de CAB pour WPF dans l’amélioration du mécanisme de l’Event Broker.
Attendons de voir le résultat en sachant que CAB a été pensé et construit pour des applications Windows Forms alors que la gestion des événements en WPF est différente avec la notion des Routed Events.
18.12.07
Article sur les software factories
Ce message pour vous informer que dans la continuité du livre blanc paru au mois de Septembre 2007 sur les outils Microsoft pour industrialiser vos développements (http://www.adiba.fr/), un article sur le thème Software Factories vient de paraître dans le hors-série .NET du magazine Programmez du mois de Décembre 2007.
A votre disposition pour des informations complémentaires et / ou pour accueillir vos retours.
01.10.07
Magasine en ligne Visual Studio Extensibility
Pour ceux qui veulent préparer la prochaine journée de l'extensibilité Visual Studio organisée par DslFactory.org et Microsoft le mardi 16 octobre à Paris, vous pouvez consulter en ligne le volume 5 de Code Magazine qui consacre un numéro entier sur ce thème.
24.09.07
Spécialiser une software factory
Jezz Santos dans son blog nous donne son avis sur la verticalisation ou la focalisation métier dans le domaine de la fabrique logicielle type Microsoft.
Sa solution : etendre la software factory avec DSL/GAT et de nouveaux assets tout en masquant les artefacts non utilisés.
C'est aussi ma façon de faire. Et vous comment effectuez vous cette personnalisation si elle est nécessaire ?
Il dresse également le comparatif entre le modèle horizontal sur lequel s'est concentré l'équipe Patterns & Practices de Microsoft pour batir ses software factories et assurer ainsi une couverture transversale de tous les besoins.
Pour lire le billet entier : Software Factory Verticalization (Specialization).
16.09.07
Les outils Microsoft pour industrialiser vos développements
Quand j'ai commencé il y a 2 ans à étudier le domaine de l'industrialisation des développements sur une plateforme Microsoft, j'aurais aimé avoir un document succinct présentant toutes les technologies disponibles.
Ainsi, j'ai pris humblement l'initiative de rédiger un document sur ce sujet introduisant le travail de l'équipe Pattern and Practices de Microsoft sur les softwares factories, de GAT / GAX, DSL et de l'extensibilité de Visual Studio qui mérite d'être mieux couvert.
Vous pouvez le retrouver sur le site d'Adiba.
Je profite de l'occasion pour rappeler l'organisation par la communauté DslFactory.org et Microsoft d'une journée complète de l'interopérabilité Visual Studio le mardi 16 octobre 2007.
10.07.07
Librairie de tâches MSBuild
SDC Tasks Library est un projet utile et intéressant à intégrer avec MSBuild.
C'est un ensemble de tâches communes tel que la création de sites web, de pools d'applications, gestion de l'active directory, lancement de FXCop, création d'archive ZIP, configuration COM+, création de répertoires partagés, installation dans le GAC, configuration de SQL Server, configuration de Biztalk 2004 et 2006, tâches spécifiques à Team Foundation Server, compilation WIX, etc...
Le projet est sur CodePlex : SDC Tasks Library
27.06.07
Utilitaires CAB au quotidien
Développer une application avec le framework CAB (Composite UI Application Block) autorise l'intégration de modules indépendants.
Néammoins, il est intéressant d'avoir une vue globale des modules exécutées, workitems lancés, events publiés, etc lors du développement / maintenance de l'application qu'on développe.
Les projet CAB Sample Visualizations et Event Visualizer (certes ancien mais qui restent d'actualité) sont très utile à cet effet.
Télécharger Sample Visualizations
J'en profite pour signaler qu'un livre sur CAB et SCSF avec WPF écrit par David S. Platt sort le 26 Juillet 2007. Plus d'informations ici.
10.06.07
Software Factories Toolkit Juin 2007 CTP
Si vous travaillez avec des DSL (domain specific-language) et GAT (guidance automation toolkit), un outil intéressant nous est proposé par la société Clarius Consulting.
Il facilite la construction de projets GAT et DSL.
Téléchargement : http://www.softwarefactoriestoolkit.net/Download_JUN07CTP.aspx
Des vidéos pour son utilisation : http://www.softwarefactoriestoolkit.net/videos.aspx
19.05.07
Smart Client Software Factory Release Mai 2007
La release de SCSF (Smart Client Software Factory) est enfin sorti.
Les nouveautés par rapport aux versions précédentes :
- support de WPF
- support des appels asynchrones à des services WCF
- amélioration du déploiement via ClickOnce
- génération de code en VB.NET
- outil de gestion de dépendances entre usines logicielles
Pour le télécharger : Smart Client Software Factory - May 2007
Un lien qui explique comment débuter avec cette usine logicielle sur CodePlex
04.05.07
Software Factory Contrib
Les software factories apportent plus de productivité dans les projets de développement informatique en permettant d'initier rapidement un projet et en automatisant les tâches répétitives.
L'équipe Pattern et practises est responsable du développement de ces usines logicielles gratuites orientées Microsoft qui reposent sur des patterns éprouvés.
Tom hollander (Product Manager) dans son blog annonce l'initiative de la part de l'équipe Patterns et practices de mettre en avant les projets communautaires qui étendent et personnalisent les factories proposées (Entreprise Library Contrib, Web Service Software Factory Contrib et Smart Client Software Factory Contrib).
Autre software factory dont j'ai appris l'existence sur le blog d'Arnaud Cleret , Biztalk Server Pattern Wizard publié par Jon Flanders sur CodePlex. Par contre, ce software factory ne repose pas sur GAT.
Cette volonté d'impliquer encore plus la communauté au développement des projets Microsoft est à souligner et à encourager.
30.04.07
WPF et Smart Client Software Factory (SCSF)
Dans le cadre de la convergence entre les usines de développement logiciel et les technologies, il est intéressant de mettre en lumière 2 initiatives communautaires.
Le dernier projet en date adapte la Smart Client Software Factory avec WPF (Windows Presentation Foundation). Elle se base sur un autre projet qui adapte CAB (Composite UI Application Block) pour fonctionner également avec WPF.
Ces 2 projets communautaires sont téléchargeables sur CodePlex :
- CAB + WPF
- SCSF + WPF
Bon à savoir, la prochaine version officielle de la Smart Client Software Factory qui sortira de l'équipe de Microsoft Patterns & Practices annoncée pour le mois de Mai 2007 proposera le support de WPF.