Anybody can be an IT Professional ???

This floated into my inbox today:

This actually does look like Justin.  Coincidence?

clip_image002

Nice one, thanks Mike ;-s

For those of you who scratching your head right now:

Pirates 

Few more details can be found here.

1 comment May 14, 2008

"Value-Up Processes"

Software Engineering with Microsoft Visual Studio Team System, Chapter 2 review:

In this chapter, the authors dive into the details of the processes that take place during the “Value-Up” software development life cycle (SDLC), and begin to discuss how those principals apply to Microsoft Visual Studio Team System (VSTS).

 

Key points, snippets & thoughts:

Build Your Method Up, Don’t Tailor It Down

Start with a simple SDLC process that meets the basic needs for your projects.  As your team assembles, begin to discuss the needs of your project and tailor your process to suit your needs.  General observations are that when teams attempt to use an “all-inclusive” SDLC process and tailor it down, they have a tendency to end up with unnecessary overhead.

* MSF for Agile Software Development
* MSF for CMMI Process Improvement

I have to be honest… before reading this chapter I never took a serious look at the CMMI process.  The title itself turned me off, and I quickly categorized this as a heavy weight, document centric waterfall process methodology.  However, this book has grabbed my attention and piqued my interest.

First of all, both of the MSF process templates are “Value-Up” processes focused on iterative development, with the ability to adapt when necessary.  Additionally, these templates were designed as a starting point for development teams, and they are designed for customization.  Here are some of the differences out of the box:

ValueUpProcessComparison

Fit the Process to the Project

Whether you are using a full suite of tools such as VSTS or not, my recommendation is to review your environment, business drivers, team, project, etc., and then make process & tooling related decisions before the project really starts moving.  Secondly, have a team huddle, and clearly communicate all decisions made so that everyone on the team is working within the same guiding principals.

Risk Management

Instead of looking at risk with avoidance scenarios for critical situations, VSTS encourages constituency based risk management.  This approach embraces necessary change, whereas the other attempts to prevent it.  VSTS accomplishes this by placing risk at a work item level and definition of the following advocacy groups (Setup for both MSF process templates):

  • Program Management (for Solution Delivery)
  • Architecture
  • Test, Quality Assurance
  • Release/Operations
  • User Experience
  • Product Management (for Customer Business)

One Project at a Time Versus Many Projects at Once

This didn’t really seem to fit well within the chapter, but the authors threw in a great gem about project planning, and context switching.  The authors wanted shed light on the fact that many projects don’t include time in their estimates and project plans for additional overhead that is challenging to compute.  Gerald Weinberg came up with the following to compute time wasted caused by juggling multiple projects.

No. Simultaneous Projects Percent of Time on Project Loss to Context Switching
1 100% 0%
2 40% 20%
3 20% 40%
4 10% 60%
5 5% 75%

 

Final thoughts:

Excellent topics throughout the chapter.  I thought the text wandered around a bit from topic to topic and wasn’t sure where the authors were going to go next, but the content itself was very effective.  This chapter alone opened my eyes to the CMMI process template, and in the business of consulting I find many of the principals within that template to be very important.  I don’t want to stray too far a way from this chapter review so I hope to write another post about how some of these topics apply to the world of consulting :)

For additional resources on VSTS templates and tools you may find valuable information here:

http://www.codeplex.com/process
http://msdn.microsoft.com/en-us/teamsystem/aa718795.aspx

 

If this is the first post you’ve read about my review of this book… don’t forget to read the others:

Add comment May 14, 2008

Tech Ed Developers Conference

Attending this years Tech Ed Developers Conference?  Do you live in the twin cities?

If you answered yes to both of these questions:

Send me an email and I will coordinate a twin cities, developer after party during that week :) .

Add comment May 13, 2008

Inetium presents at Dev Cares in Minneapolis

Vince Bullinger will be presenting at the MSDN – Dev Cares event in Bloomington, MN tomorrow (May 13th, 2008).  Vince has session #2, “Reach Your Data with SQL Server 2008″, which starts at 8:30 am.

If you haven’t registered and still want to go, you can register for the event here:

https://www.clicktoattend.com/invitation.aspx?code=127259

2 comments May 12, 2008

"A VALUE-UP PARADIGM"

Software Engineering with Microsoft Visual Studio Team System, Chapter 1 review:

Nothing revolutionary right out of the gate.  The authors have basically re-branded iterative and agile development practices with the term “Value-Up”.

In their re-branding efforts, they have labeled traditional waterfall methodologies as a “Work Down” approach where people don’t deliver any true value until the end of the entire project.  In contrast, the “Value-Up” approach focuses on the delivery of working/stable software early and often with continuous value added features.

Key points, snippets & thoughts:

Agile project manifesto Declaration of Independence:

  • We increase return on investment by making continuous flow of value our focus.
  • We deliver reliable results by engaging customers in frequent inter-actions and shared ownership.
  • We expect uncertainty and manage for it through iterations, anticipation, and adaptation.
  • We unleash creativity and innovation by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference.
  • We boost performance through group accountability for results and shared responsibility for team effectiveness.
  • We improve effectiveness and reliability through situationally specific strategies, processes, and practices.

While I think this is a good way to kick off the book, I think a reference to the original Agile Manifesto would have been a better choice:

http://agilemanifesto.org/principles.html

…  In this paradigm, you do not measure planned tasks completed as the primary indicator or progress; you count units of value delivered.  …

The focus of the entire team should be on delivering value quickly.  If you find yourself wanting to spend countless hours on things that don’t bring the customer immediate value… stop yourself, and refocus.  In great teams, people work together while focusing on the same goals and objectives.  Ideally you find yourself delivering high quality and valuable software with frequent release cycles.

Attention to Flow

Initially I didn’t like the “flow” message, but the text was fairly effective.  Software development teams benefit from having a well defined and well understood process flow for all work items.  Traditional work flow could be something as simple as the following:

  • Planned
  • Developed
  • Tested & reviewed
  • Completed

The “Attention to Flow” referenced in this book is all about understanding where the bottlenecks are.  If items begin to stack up too heavily in any one of the defined states, the team needs to refocus and break down the barriers causing the those bottlenecks.  With good process and tooling, an image like the one below (which was extracted from the book) will allow you depict workflow related bottlenecks that should lead to quick identification and resolution.

VUP - Figure 1-3

Transparency

I love that they added this to the book in the first chapter.  This section can be easily summed up with, share everything about the project to everyone, and face reality.  This book is all about the marriage of tools and process, and the key to transparency in the tooling industry is a single source of the truth (in this case, Visual Studio Team System).  If done right, transparency will also encourage shared responsibility and individual accountability.

Instrument daily activities

Most project managers that I have worked with spend nearly all of their time collecting information from multiple sources so that they can finally compile it into yet another source for final analysis, reporting, and communication.  During the design and implementation of Visual Studio Team System (VSTS), one of the goals was to instrument the process of gathering all relevant data so that people could easily correlate that data, and then present it in useful way.  Done properly, the team will be able to focus more time on adding value and making intelligent decisions.  Another goal of the VSTS team was to make this lightweight so that this could be accomplished with minimal overhead and redundancy… more to come on this topic I’m sure.

Final thoughts:

Good foundation for the rest of the book… if you’ve been exposed to agile methodologies before you won’t really find anything new in this first chapter.  If you haven’t been exposed to agile methodologies before, you probably shouldn’t be reading this blog… you have more important things to go research ;)

The real question is, over the next eight chapters, can the authors convince me that VSTS is truly lightweight, beneficial, and worth the price?

1 comment May 12, 2008

Visual Source Safe – Advanced Search

On one of our projects, the development team had some concerns related to a recent production deployment and the suspected culprit was in the Source Control Management (SCM) system.

For a little background, the project was started several years ago and Visual Source Safe (VSS) was used for the SCM system.  More recently, the development team moved away from VSS and onto Team Foundation Server (TFS).  For additional background, the development team kept the VSS database in tact for historical purposes.

With a little manual digging the development team proved that their suspicion was correct… one of the developers checked code into the wrong source code database.  This lead to a very uneasy feeling for the project manager, and the SCM solution was under quick scrutiny.  A few web searches and 30 minutes later I had an answer to the question… “How many other changes were checked into the VSS database?”

The following tool allowed me to run a search on all files modified and checked in by anyone after a specific date… saved the day:

http://www.codeproject.com/KB/applications/VssReporter.aspx

Add comment May 12, 2008

Application Lifecycle Management (ALM) Executive Briefing

On Tuesday, I attended an Application Lifecycle Management Executive Briefing event at the local Microsoft offices here in the twin cities:

http://itanddevevents.blogspot.com/2008/04/application-lifecycle-management.html

My agenda:

  • Gain a better perspective of ALM best practices from Microsoft’s perspective
  • Research on the current pain points and desires of our potential customers

The target audience wasn’t an exact fit for my profile, however, I was expecting to hear about some best practices.  I personally felt like the event was more of a sales pitch than anything else.  I am very happy that I attended, and I did make several good connections.

Take a ways from the meeting:

1 comment May 12, 2008

Early mother’s day present

I will be disconnecting myself from all things work and technology related for the remainder of the weekend.  For all of you who just can’t wait to read another blog post… you’ll just have to wait until Monday.

Happy early mother’s day, Valerie :)

Add comment May 10, 2008

Going personal?

With an existing blog through Inetium, a lot of people have been asking me about my desire to create a this site.  The reasons are quite simple:

  • Freedom
  • Identity

My Inetium blog is active, and will be for a long time to come.  Inetium specific posts will go there, everything else will land here.

Add comment May 10, 2008

SQL Query to find duplicates

SELECT [column_a], [column_b], COUNT(*) as NumDuplicates
FROM [tablename]
GROUP BY [column_a], [column_b]
HAVING COUNT(*) > 1

Add comment May 9, 2008

Next Posts Previous Posts


Tags

.Net .Net Events Application Lifecycle Management Book Review Consulting Family Life Me Microsoft Event Project Management Source Control Management SQL

Archives

Feeds