These folks have done a great job in documenting how VSTS helps the SDLC process. If ever there was a picture that was worth a million words, this is it. Microsoft needs to use this picture for their VSTS marketing efforts and hire these folks.

Eric Sink has a great article on Tenets of Transparency for ISVs.
You can extend this to individuals in any job role. The more transparent you are, the faster you can get your work done.
Start with a simple exercise, before attending any meeting, send an email documenting your expectations for that meeting. You will be amazed how quickly the discussion moves forward.

Syndicated from Ashvil's Blog
Along with Comega, the MS research folks have come up with Spec#, which is oriented towards developing higher quality software by adding features like non-null types, checked exceptions, method contracts, model-based testing, etc.
The great things about these two research projects are that they extend and build on C#, which increases the chances that it will be usable by real world programmers, to provide actual feedback that can be used to enhance the C# language.
Hopefully, feedback from these projects will give C# 3.0 and 4.0 features that reduce programming time, reduce object-database-xml impedance, enable safer concurrent programming and help writing more secure and higher quality programs.

Syndicated from Ashvil's Blog
One of the reasons projects spin out of control is poor estimation and scheduling of work. There have been tons of material on estimation but scheduling has not got the same coverage.
One of the common pitfalls of scheduling is mapping a project plan estimated numbers to a team member at 40 hours a week. Let’s run though this with an example, John is working on a 6 month project that is assuming that he would be working for 40 hours a week for the next six months. Besides working on this project, John has to attend a regular staff meeting, take care of some production support issues, take part in a virtual team for planning, attend some training and mentor a new employee. Also, John is planning to take three days off around Thanksgiving to spend the week with his family.
End result is that John this month can spend only 25 hours week on an average on this project but the project manager has gone ahead and budgeted at John to spend 40 hours a week. Poor scheduling like this that does not take care of the actual number of hours that a team member can commit and ignores vacation and holiday times are doom their projects to failures. If your project plan is based on inaccurate data, how on earth do you expect to ship on time.
There is a simple solution to this – Always plan with the correct numbers of hours a team member can spend and include vacation/holidays/buffer time.

Syndicated from Ashvil's Blog
One of the points raised by the NIH (Not Invented Here) folks is Reusing software artifacts does not encourage innovation.
The fallacy with the argument is that if there is already a reusable artifact, then by definition your artifact cannot be innovative. You are just reinventing the wheel and trying to claim that your wheel is better than all the others and thus innovative.
IMHO, Software Reuse allows you to focus on innovative ways to solve business problems by taking care of mundane building blocks.
Let’s take an example of Joe, an IT developer/analyst who is assigned to build reports. Joe decides to use ASP.NET and C# to write reports after understanding the requirements. Most of Joe’s time will be spent in writing queries, formatting reports and other low level activities. At some point of time, Management will start wondering why does it take so long to get a simple report and how come the report does not work in Excel. They will wonder where all the money they are spending is going.
Mary builds a reporting solution block that allows her to quickly build reports without focusing on the C# and HTML code. This allows her to work with the business teams and also suggest what reports add value and how to deliver to them on a regular basis via email. Mary can build a reporting solution block by reusing reporting solutions like SQL Server reporting services or reusing .NET components like Active Reports, etc.
By spending her time solving business problems in an innovative fashion with technology, Mary adds value to both herself and her organization. Mary shows true innovation by doing more than her expected role by working with her business teams to figure out how they can make quicker and better decisions based on the information she provides.
If Management had to cut or outsource a job, guess who would they choose.
Let’s take an example of a web service that supplies and maintains customer information. Using this web service enables
Software Reuse - No need to implement customer maintenance modules, related architecture, code, the QA involved, program management overhead, etc. Also, it reduces the complexity of my software.
Infrastructure Reuse – Saves me the costs of maintaining the customer database, etc.
Data Reuse – Saves the costs of keeping all the Customer data current when data changes. The web service is the only valid source of Customer Data.
Using the SOA web service model enables me to save money by implicitly reusing Software, Infrastructure and Data Reuse models.
Craig writes about the new project template wizard that lets you create Project Templates in a quick and easy fashion.
I see this more of a tool for defining Enterprise Templates that enforce standards and help developers reduce the manual work required to create a new project. Using Project Templates lets you and your team focus on business problems instead of figuring out what assembly needs to be referenced.
MS has really put in a lot of smart work and ideas in this version and more importantly have listened to customer feedback. Just like to say - Thanks for listening to the VS team.
I am a Program Manager for Software Reuse at Intel. The usual disclaimer applies – All information on this blog represents my views only and not of my imaginary cat or any other entity, real or otherwise :-)
Software Reuse right now is very explicit. It takes effort and people need to be pushed. We need to make it implicit.
Tools like Visual Studio – Team System that cover the entire Life-cycle are a step in the right direction. Using templates and other reusable artifacts, I do believe that we can get to a stage where reuse is implicit.
We have already achieved code reuse via frameworks like .NET, Java, MFC, VB Runtime, etc. These happened because the tools made reuse implicit. I look forward to seeing new tools like VSTS make reusing other artifacts like process, architecture, deployment policies, requirements collection, testing, project dashboards, etc. implicit.
I am interested in hearing your feedback on your experiments with Software Reuse. What do you think makes reuse successful. Please contact me or add a comment below.
More Posts