The #1 guide to using Visual Studio 2010 in team development: insider coverage of this huge release, from a leader of Microsoft's VS team.
Key Features: * Focuses on succeeding with new VS 2010 ALM products in real-world environments, with exclusive "Lessons Learned at Microsoft" Thoroughly covers VS 2010's massive new capabilities for team development * Contains extensive new coverage of implementing Scrum and related practices * Covers the entire lifecycle: requirements, architecture, construction, build, test, and more
About the Author Sam Guckenheimer When I wrote the predecessor of this book, I had been at Microsoft less than three years. I described my history like this:I joined.
Microsoft in 2003 to work on Visual Studio Team System (VSTS), the new product line that was just released at the end of 2005. As the group product planner, I have played chief customer advocate, a role that I have loved. I have been in the IT industry for twenty-some years, spending most of my career as a tester, project manager, analyst, and developer.
As a tester, Ive always understood the theoretical value of advanced developer practices, such as unit testing, code coverage, static analysis, and memory and performance profiling. At the same time, I never understood how anyone had the patience to learn the obscure tools that you needed to follow the right practices.
As a project manager, I was always troubled that the only decent data we could get was about bugs. Driving a project from bug data alone is like driving a car with your eyes closed and only turning the wheel when you hit something. You really want to see the right indicators that you are on course, not just feel the bumps when you stray off it. Here, too, I always understood the value of metrics, such as code coverage and project velocity, but I never understood how anyone could realistically collect all that stuff.
As an analyst, I fell in love with modeling. I think visually, and I found graphical models compelling ways to document and communicate. But the models always got out of date as soon as it came time to implement anything. And the models just didnt handle the key concerns of developers, testers, and operations.
In all these cases, I was frustrated by how hard it was to connect the dots for the whole team. I loved the idea in Scrum (one of the Agile processes) of a single product backlog-one place where you could see all the work-but the tools people could actually use would fragment the work every which way. What do these requirements have to do with those tasks, and the model elements here, and the tests over there? And wheres the source code in that mix?
From a historical perspective, I think IT turned the corner when it stopped trying to automate manual processes and instead asked the question, With automation, how can we reengineer our core business processes? Thats when IT started to deliver real business value.
They say the cobblers children go shoeless. Thats true for IT, too. While weve been busy automating other business processes, weve largely neglected our own. Nearly all tools targeted for IT.
professionals and teams seem to still be automating the old manual processes. Those processes required high overhead before automation, and with automation, they still have high overhead. How many times have you gone to a 1-hour project meeting where the first 90 minutes were an argument about whose numbers were right?
Now, with Visual Studio, we are seriously asking, With automation, how can we reengineer our core IT processes? How can we remove the overhead from following good process? How can we make all these different roles individually more productive while integrating them as a high performance team?
Obviously, thats all still true.
Neno Loje I started my career as a software developerfirst as a hobby, later as profession. At the beginning of high school, I fell in love with writing software because it enabled me to create something useful by transforming an idea into something of actual value for someone else. Later, I learned that this was generating customer value.
However, the impact and value were limited by the fact that I was just a single developer working in a small company, so I decided to focus on helping and teaching other developers. I started by delivering pure technical training, but the topics soon expanded to include process and people, because I realized that just introducing a new tool or a technology by itself does not necessarily make teams more successful.
During the past six years as an independent ALM consultant and TFS specialist, I have helped many companies set up a team environment and software development process with VS. It has been fascinating to watch how removing unnecessary, manual activities makes developers and entire projects more productive. Every team is different and has its own problems. Ive been surprised to see how many ways exist (both in process and tools) to achieve the same goal: deliver customer value faster though great software.
When teams look back at how they worked before, without VS, they often ask themselves how they could have survived without the tools they use now. However, what had changed from the past were not only the tools, but also the way they work as a team.
Application Lifecycle Management and practices from the Agile Consensus help your team to focus on the important things. VS and TFS are a pragmatic approach to implement ALM (even for small, nondistributed teams). If youre still not convinced, I urge you to try it out and judge for yourself.
Table of Contents * Chapter 1: The Agile Consensus * Chapter 2: Scrum, Agile Practices, and Visual Studio * Chapter 3: Product Ownership * Chapter 4: Running the Sprint * Chapter 5: Architecture * Chapter 6: Development * Chapter 7: Build and Lab * Chapter 8: Test * Chapter 9: Lessons Learned at Microsoft Developer Division * Chapter 10: Continuous Feedback * Index
Title
Agile Software Engineering with Visual Studio From Concept to Continuous Feedback