Pourquoi Agile?On ne livre pas. Seulement 35 % des projets sont des succès45 % des features ne sont pratiquement jamais utilisés
Having the right infrastructure and approach to testing is helps ensure high quality deliverables at the end of the development cycle. Visual Studio 2010 Ultimate arms you with tools to ensure that testing is done right the first time and streamlines the testing process to ensure that you can deliver on time and on budget.Test and Lab ManagerVisual Studio 2010 Ultimate delivers a brand new product for manual testing and test case management. The new Test and Lab Manager interface is a thoroughly modern interface that allows testers and anyone else involved in testing to manage test plans, test cases and individual tests. In addition, Test and lab manager acts as the one stop shop for manual testing. When executing manual tests, the Test and Lab Manager interface morphs into the Microsoft Test Runner, a modern integrated manual test interface that allows manual tests to be executed and the results to be filed in a simple and productive way. Additionally, Microsoft Test Runner can take a snapshot of the system data, record a video of the test, take a picture of the bug and record the IntelliTrace log to ensure you can always repro a bug, and there are no more "not reproducible" discussions. Virtual Test EnvironmentsOne of the most costly aspects of testing is the maintenance of the test infrastructure. A traditional test infrastructure consisted of rooms full of physical test machines that required dedicated professionals to provision and maintain. With Visual Studio 2010 Ultimate this test infrastructure has gone virtual. By using the new virtualized test lab management capabilities it is possible to reduce the overhead inherent with maintaining a physical test infrastructure and instead take advantage of the power of virtualized environments. It is also possible to share these environments not only within your testing team but also with other members of the team who need access to specific environments for development tests or dry runs prior to full scale testing begins.Web and Load TestingVisual Studio 2010 Ultimate also gives you access to advanced web and load testing features that help you ensure that whatever application you are building it is ready for the most demanding uses. The Web and Load testing capabilities of Visual Studio 2010 Ultimate help you ensure that whatever application you are building it is ready for whatever scenarios your organization can envisage taking you one step closer to knowing your application is ready for prime time.
Debugging code takes up a disproportionate amount of the development lifecycle. With the new features in Visual Studio 2010 Ultimate you can ensure that you reduce the amount of time spent debugging code to a minimum. IntelliTraceThe new IntelliTrace feature makes the “no-repro” discussion a thing of the past. It records the application’s execution history guaranteeing that the developer can always reproduce a reported bug. Step back in time to see the exact application state at the point of time when the bug occurs and use the inline call hierarchy to quickly trace a program’s execution flow without invoking the debugger. Automatically open the code at the place exactly where the code broke, reducing debugging time. Test Impact Analysis and Code CoverageTest impact analysis can tell you exactly what tests are impacted when you change a piece of code allowing you to choose to only run impacted tests. When you change a piece of code, Visual Studio 2010 Ultimate can make an automatic recommendation of tests based on that change leading to reduced testing time. Coupling this functionality with the Code Coverage tools ensure that not only are you running the appropriate tests but that you are testing all of your code so you can be confident that the code you deliver is free of defects.Coded UI TestsOnce you have found bugs in your code and have taken the steps to fix them, automated regression tests ensure that as you progress further through the development process that you catch any bugs that may have been re-introduced earlier in the cycle. This in turn ensures that you find new bugs earlier and can catch them when they are less costly to fix.
For too long architecture, architectural models and diagrams have been static assets that are created at the beginning of a project but are never updated as changes occur throughout the lifecycle. Visual Studio 2010 Ultimate takes a fresh approach to architecture by making it a living asset that is useful and available to all team members and can not only be used to formally define the overall initial architecture of a solution but can be used to gain understanding of a solution at any point in the development lifecycle.Modeling that works with CodeVisual Studio 2010 Ultimate delivers a completely new set of UML diagrams that help you not only design your applications up front but also integrate with your code to allow you to navigate your solution using the most effective tools for the complexity. Seamlessly move between models and code and make changes at either level and see them reflected throughout your solution.Architectural ValidationSo you have defined an architecture, wouldn’t it be great if you can use that architecture to actually affect the code that is written? With the new architectural validation capabilities offered by Visual Studio 2010 Ultimate we are making that a reality. You can define a layer architecture using the new layer diagram tool which describes the various architectural layers of an application and how they interact. You can then associate that with check-in policies that ensure that whenever code is checked in it is validated against the architectural constraints and can be rejected if the code breaks any of the rules.Architecture ExplorerArchitectural models are not only useful at the initial definition of an application. They can be incredibly useful in helping to understand exactly how an existing solution works and how pieces of it interact. The Architecture Explorer in Visual Studio 2010 Ultimate allows you to explore the architecture of an existing application, create models that describe that architecture and help you make decisions about how a system works or needs to be modified.
The more time you spend debugging and fixing code the less time you have to spend creating innovative solutions and bringing value to the outcome. Visual Studio 2010 Ultimate includes features that help you reduce the number of bugs that get into an application thereby freeing you up to spend more of your time being creative around the solutions you deliver. Dependency DiagramsMaking changes to code can be fraught with danger and often leads to many types of new bugs being introduced into a solution that can be difficult to debug and fix. Visual Studio 2010 Ultimate allows you to create dependency diagrams that allow you to visually understand the dependencies between various areas of a solution helping you find where to make changes and what potential ripple effect those changes may have.Gated Check-InOne of the most costly problems that development teams face is when a build gets broken. This can potentially stop all development work for an entire team while the cause of the broken build is investigated and fixes are put in place. Visual Studio 2010 Ultimate includes an innovative new feature called Gated Check-In that looks to stop build breaks before they happen. By utilizing the shelving infrastructure first introduced into TFS in 2005, Gated Check-Ins allow developer to check code into source control but hold that check-in from the build tree until it has passed all the required validation and test required to ensure that there are not potential issues that may break the build. This is all done in the background and allows you to continue working while the checks and validations are performed.Code Analysis and Code MetricsOne easy way to reduce the number of bugs that occur is to simply ensure that the code you right is higher quality. Visual Studio 2010 Ultimate helps you find and fix problems before you make them by delivering advanced tools that analyze code for potential issues and ensure that code that is written is of high quality and maintainable.
Enhancing team collaboration can reap benefits for every organization. When teams work better together you end up with a more productive environment for allIntegrated Tools Ensure ConsistencyAn integrated toolset for all members of the team helps drive consistent deliverables. Developers using Visual Studio 2010 Ultimate have access to all the tools they need from architecture and modeling, through advanced development tools and a full testing infrastructure. Visual Studio 2010 Ultimate also features deep integration with tools being used by other team members including Microsoft Project and Excel for project management, Test Elements for manual testing, Expression Blend for designers and many other tools.The Collaboration HubVisual Studio 2010 Ultimate includes Team Foundation Server which is the collaboration hub for all your team’s needs. TFS provides the single store for all assets associated with a project as well as a history of everything that has happened on a project. It also acts as the co-coordinating server to keep every aspect of a project on track through the use of various work item types including requirements, work items, bugs and tests. Complete TransparencyWith TFS at the heart of your project every member of the team can have transparency into exactly what is going on with the project. Customized dashboards for different roles in the team provide an easy way to understand exactly what is happening in your world while higher level reports provide over sight into the overall state of a project. Data can be delivered at every level whether it is used to help an individual understand what the “next important thing to do” is or for a manager to get an understanding of the overall state of all projects in flight.
Integrated development is not only about the tool set that you use but also about the way that you work and the platforms you target. Visual Studio 2010 Ultimate provides you with tools and resources that not only allow you to work with the rest of your team in an integrated way but also develop integrated solutions that bring together the best that technology has to offer.Quickly resolve issues across the lifecycleFor the individual who needs to quickly resolve an issues across the lifecycle, understand it’s impact, diagnose issues and turn this into policy that prevents issues from happening in the future – Ultimate is the right tool.’ Designed from the ground up as a uniquely integrated tool that works off a single shared repository data flows from action to action seamlessly eliminating waste from translations and increasing the tie you have to address business needs or resolve technical issues.Develop for today’s Modern PlatformsTechnology and the options made available by new technologies entering the market continue to provide new opportunities to develop Innovative solutions. Visual Studio 2010 Ultimate comes with built in support for development against many of the newest technologies on the market today. Whether you are looking to take advantage of all the new features in Windows 7, develop applications that target the SharePoint platform or build applications for the cloud using Windows Azure, Visual Studio 2010 Ultimate has integrated tools that allow you to make the most of these platforms. Visual Studio 2010 Ultimate also provides support for developing applications that target BizTalk, SQL Server and many other products out of the box.Deployment ExcellenceHow do you know you are ready to ship? Do you have all the information you need to successfully deploy the solution you have been working on. Visual Studio 2010 Ultimate not only provides you with all the information that you need to make the decision that you are ready to ship but also an integrated set of tools that simplify the process of deployment and streamline your ability to exit the development phase and get your solution in front of customers. Tools like Team Build, Click Once and Cloud deployment options help get solutions to customers efficiently and in a timely manner.
One of the most creative aspects of software development is in the development of the UI and the user experience. Not only is this what the user interacts with but it defines how well the application works. Typically this user experience development is driven by multiple rounds of prototyping with refinements delivered at various stages. Unfortunately, as we are all probably aware, prototypes have a funny way of being perceived as finished solutions. Visual Studio 2010 Ultimate ships with Expression Blend 3 including SketchFlow which is a new set of tooling specifically targeted at streamlining the prototyping process and allows a smoother transition to the final deliverable.The Electronic NapkinOften the start of any design process is the sketching out of ideas on the back of a napkin or a whiteboard. These conceptual ideas are used to help people explain how a system should work and how a user would interact with it. Wouldn’t it be great if you could take that sketch concept and integrate it into the development lifecycle? SketchFlow allows you to deliver functioning prototypes with that “Back of a Napkin” feel; they look and feel sketchy avoiding the problems of people focusing on minutia when they should be considering the big picture. SketchFlow makes it easy to make changes and when you are happy with the final prototype you can simply change styles and ship all the screen layouts to development for implementation.Design UI FlowAn important aspect of any prototype is the defining of the overall flow of an Application. Visual Studio 2010 Ultimate and SketchFlow allow you to design your UI Flow using the Application Flow designer. This application flow is associated with the UI mockups to give a real feel for how an application is going to work. Even the most complex transitions and UI gestures can be accomplished easily without the need to write any code.SketchFlow PlayerSocialization of a prototype and the gathering of feedback is often the most time consuming activity in the prototyping process. With Visual Studio 2010 Ultimate and SketchFlow you can easily share working versions of your prototype using the SketchFlow player. The SketchFlow player provides all stakeholders the ability to review and comment on prototypes through a simple web browser interface.
Being Agile with Team Foundation Server 2010 Dominic Danis, Directeur de Produit, Pyxis Joël Quimper, Conseiller en Architecture, Microsoft Canada
Agenda Story 1 – Survol de Team Foundation Server Story 2 – Organisation du travailledans un monde agile Story 3 – Qualité et Tests
Test and Lab Manager UML Modeling Manual Testing Layer Diagram Load Testing Web Testing Test Case Management IntelliTrace™ Architecture Explorer Logical Class Designer Cloud Development Office Development Windows Development New WPF Editor Customizable IDE Multi-core Development Silverlight Tools Web Development SharePoint Development Generate from Usage Static Code Analysis Database Deployment Code Metrics Database Unit Testing Test Data Generation Test Impact Analysis UI Test Automation Code Coverage Performance Profiling Database Change Mgmt Test Record & Playback
Test and Lab Manager Test Case Management Test Record & Playback Manual Testing Lab MgmtConfig. Checkpoint Environment Environment from Template Virtual Env. Setup/Tear Down Reporting Team Portal Test Case Management Branch Visualization Version Control Build Automation Gated Check-in Agile Planning Tools Team Explorer Team Agents
Historique du terme « Agile » En février 2001, dix-sept leaders des approches de développement de logiciels « légers » se sont rencontrés en Utah. Ils ont adopté le terme « Agile » pour définir leur travail. Ils ont créé le manifeste Agile, qui définit les valeurs fondamentales sur lesquelles toutes les méthodologies Agiles devraient être fondées. De ces valeurs, douze principes fondamentaux ont été extraits. Les détails opérationnels sont propres à chaque méthodologie Agile (Scrum, XP, DSDM,...).
ManifesteAgile Nous sommes à découvrir de meilleures façons de développer des logiciels en aidant les autres et en développant nous aussi. Par ce travail, nous en sommes venu à valoriser ce qui suit : Personnes et interactions plutôt que processus et outils Logiciel fonctionnel plutôt que documentation complète Collaborationavec le client plutôt que négociation de contrat Réaction au changement plutôt que suivi d’un plan rigide En fait, bien que les éléments de droite soient importants, ceux de gauche le sont encore plus. 9
MéthodologiesAgiles Scrum Extreme Programming (XP) Adaptive Software Development Crystal Clear Feature Driven Development Dynamic Systems Development Method (DSDM) MSF for Agile Software Development RUP (Agile RUP—AUP) 10
Granularité des exigences Des détails sont ajoutés au fil du temps. Épics Vision Tâches Scénarios 1-2 sprints Sprint courant Livraison Produit 6 mois 2-3 mois 1 mois Implantation Horizon de prévisibilité
13 Processus en cascade C'est un processus imprévisible, ce qui cause des surprises, donc de l’insatisfaction.
C'est un processus prévisible, ce qui aide à prendre des décisions éclairées. La date est fixée. Que doit-on inclure dans le produit ? Le produit est en état d'être déployé à la fin de chaque sprint. 14 Scrum
Tracking Progress Detailed sprint progress is tracked on the project portal The burndown shows the team on track… And almost half of the tasks remain open But the team hasn’t closed any of the three stories…
Tracking Progress The portal brings data together so it can be analyzed to ensure success on a sprint Test are passing… But bugs are climbing steadily
Tracking Progress Rich set of reports track progress
Testing Done Right Test and Lab Manager Manual Testing for the 21st century Plan, Manage and Execute tests from one place Virtual Test Environments Reduce the overhead of maintaining physical test environments Share Virtual environments between team members Web and Load Testing Know your code is ready for the big time Measure performance under real time load conditions and ensure that your applications are ready for release
Spend Less time Debugging IntelliTrace™ Make “No-Repro” History with Actionable Bugs Test Impact Analysis and Code Coverage Run the Right Tests and only the Right Tests And know you have really tested you code Coded UI Tests Automated regression tests let you find bugs earlier
Architecture as a Living Asset Modeling that works with Code Seamlessly move between models and code and describe your application using standard UML Diagrams Architectural Validation Ensure Code Matches the Intended Design Architecture Explorer Discover and understand how a system works and visualize existing code assets and how they connect.
Create code, Don’t debug it Dependency Diagrams Understand code dependencies visually and understand where to make changes Gated Check-In Stop build breaks before they happen Code Analysis and Code Metrics Help you find and fix potential problems before you make them
Enhance Team Collaboration Integrated Tools Ensure Team Consistency Drive consistent results as all team members work with an integrated set of tools The Collaboration Hub Team Foundation Server provides the single collaboration source for all assets associated with a project Complete Transparency All members of the team have visibility into how the project is progressing
Integrated Development Quickly resolve issues across the lifecycle Integrated tools and a shared repository let data flow seamlessly from action to action helping you address business needs or resolve technical issues Develop for today’s modern platforms Support for Windows 7, SharePoint, Cloud development and more out of the box Deployment Excellence Use detailed information from across your team to know you are ready to ship MS Build, Click Once and Cloud deployment options get solutions to customers efficiently
Prototype Ideas to bring Projects to Life The Electronic Napkin SketchFlow allows you to deliver functioning prototypes with that “Back of a Napkin” feel Design UI Flow Design your UI Flow using the Application Flow functionality SketchFlow Player Easily share and gain input to your prototypes from all interested parties