Subscribe with RSS or ATOM Add to Google





Tuesday, April 25, 2006

Expert Service-Oriented Architecture in C#, Second Edition is coming.

Expert Service-Oriented Architecture in C#, Second Edition is coming. The first edition of Expert Service-Oriented Architecture in C# was the only book that showed how to implement a Service Oriented Architecture securely while still delivering performance. The book drilled into the why's and then showed you step-by-step how to build the different pieces of the architecture using WSE. It's explanation of WSE was the only one that was of any value that I found.

The author also used interfaces throughout the architecture design in a way that made a very modifiable architecture.

If the Second Edition ends up as good as the first it is a must have. I will be pre-ordering my copy in the next week or so

Monday, April 17, 2006

When does XP work...

I would never discourage moving towards XP if I thought the environment was right for XP. I tend to have the following criteria that must be met before moving in that direction:

-Small highly disciplined self contained team which includes end users of the system.
-Gurus in the technology and domain being used.
-The software built will be maintained and modified in the future by the same crew building it.
-A project manager that has the qualifications to create an environment for a very high quality communication network.
-Team members that are open to the XP intensity created in the environment, and are qualified to handle it.
-No outsourcing of any part of the project at all.

There are a lot of places I have seen that would benefit from XP, but it has been hard to get across to them that it is actually a strict process. TDD is viewed by many places as a process for setting up regression tests on modules already coded. TDD in it true context is a discipline that is hard to sell in many shops. Most people think XP opens the door to be able to create half ass documentation, have no real communication channels, and that it frees them up to use their own home brewed process and they just label it agile. They have taken parts of XP and morphed it into some mess that is not workable.

They don't understand that it actually comes with it own very strict rules and process steps that require the best of the best to implement.

I have found few shops that are capable, but would never discourage a shop that I thought was capable.

It always depends on the team, and the project the team has to be fit into. I use the UP most of the time. But I use it in a very iterative way. If the team is capable of handling XP exercises we will introduce them, if not we use the process to guide the team and do the opposite of what XP says, which is team (people) before process. In my opinion the team must be mature enough to handle the responsibility. I find few teams are.

I also run into more and more outsourced part of the project. Off-shore has eliminated the working software over comprehensive documentation. We need high ceremony documentation in order to set up a contract between the local team and the off-shore team. This falls under the guides in CMMI. We treat our off-site and off-shore teams as a contracting entity, and therefore must product the high ceremony documentation to allow for a thorough communication vehicle to be in place.

Like I said if XP is a viable methodology for the site I would never shoot it down, I just haven't found many places that contain the teams that are capable of the high degree of discipline required to pull it off.

More on XP, UP, RUP, etc. HERE

Dani California- Red Hot Chili Peppers

I can't help but Blog about this video. Raised on MTV (years ago, not sure if it is even on anymore), this video just simply kicks butt.

Funny as heck and rocks as well.

Saturday, April 15, 2006

Restrictive Development- Propagating Architectural Patterns

How does the architect get their architecture propagated throughout analysis, design, and the construction phase? I have only found one way to successfully do this. It is what I refer to as Restrictive Development.

Here is an overview of Restrictive Development.

Friday, April 14, 2006

Agile Principles, Patterns, and Practices in C#

This is cool, I saw it's coming in June. The Java version (Agile Principles, Patterns, and Practices) was excellent, but I look foward to re-reading the C# version.

What it covers and covers great is:
  • Agile principles, and the fourteen practices of Extreme Programming
  • Spiking, splitting, velocity, and planning iterations and releases
  • Test driven development, test first design, and acceptance testing
  • Refactoring with unit testing
  • Pair programming
  • Agile design and design smells
  • The Single Responsibility Principle and the Open Closed Principle
  • The Liskov Substitution Principle and the Dependency Inversion Principle
  • The Interface Segregation Principle, and Separation through Delegation and Multiple Inheritance
  • The five types of UML diagrams and how to use them effectively
  • Object-oriented package design and design patterns
  • How to put all of this together for a real-world project

Thursday, April 13, 2006

You're Fired… ever have one of those days?

Ever just have one of those days. You know…

You just spent 48 hours straight updating the team portal, finishing up your Software Architecture Description by polishing up the views and their supporting documentation, updating the project plan, printing everything into nice little packages, and getting the bugs out of the proof of concept that will have to wait to next week, because the vice president has requested a project update meeting???

You show up and no one is there except you and the other architect putting the project together wondering where everyone is. The local developers who aren't on your project yet show up and start talking about the recent week's layoffs and firings. Doesn't paint a pretty picture. Well whatever, you keep preparing for the meeting because you are used to the company's higher-ups not being very punctual when it comes to meetings.

Ah, look who is here right at lunch time, the V.P. you have been waiting for all morning. He asks you and the other architect to join him in, no not the conference room, but in an empty office. He starts by telling you how wonderful everything you have been doing up to date has been, and then slowly starts in on the current economic condition of the company. In other words he starts telling you they are broke. Hmmm… what does this have to do with my Architecture? Oh… they can't afford it… or me, or the other architect… at least not until some point in the future… you know once sales start to pick up… OUCH!!! Two months after getting a nine month extension.

Tis the life of the consultant………… at least two weeks ago that was my life, my day, and my job :-(

What to do, what to do… Well hopefully you activate your already updated resume on the job sites and you blast your already updated resume off to your contacts. Then you brace yourself for the onslaught of phone calls and emails. Knowing that 80% of them will not have anything to do with what you do or will be in some remote corner of the world you have no interest in visiting much less living.

Next you start answering the ones that at least seem to have some remote possibility of being what they say they are. You of course should immediately create an upfront contract. Which is what? It is a contract that states exactly what you are looking for in salary, benefits, and job description. There is no point in interviewing without those things in place. I know a lot of consulting firms play a lot of internal points games and would have you at a meet and greet, or on an unrelated interview, once or twice a day if they could. Make it clear you are not interested, the stress levels are already high enough.

The interviews that end up worth going on should be a two way street. You need to make sure they are offering you what you want and you need to make sure you are willing and able to supply the services they are requesting of you. Like what?... Travel, OT, deadline OT, technologies you will work with and have worked with, etc.

Put nothing on your resume you have not done and do not try to explain anything that is not on it which you haven't done. Why? Why should you? When you haven't said you know how to do a certain task, they have no business asking you if you can. If you get one of those people that like to reference books or helps files on the other end of the line and they are asking ridiculous syntax questions, explain to that you would do the same (use a book or help file) if you needed to find something like they are asking out.

Most importantly be honest and make sure that being honest is high up in the expectations of the company.

So if I did all this what happened???

Signs were there, but even if they had not been, my resume is update monthly. I continue to subscribe to all the job sites email blasts and I am continuously monitoring the market. Just so I know what to expect if the "Your Fired" day comes along.

When it comes time, finding a job, needs to become your fulltime job.

Microsoft patterns & practices for Web Service Software Factory (a.k.a.- Baseline Architecture Toolkit) Released

From the Introduction Documentation:

The Web Service Software Factory provides a range of tools that offer many benefits for architects and developers of services-based applications. The Service Factory is an integrated collection of tools, patterns, source code, and prescriptive instructions that were built with the primary goal of helping you build high-quality connected solutions in a more consistent way with less effort.
There are multiple ways to use the Service Factory:
  • Study the documentation and source code to learn patterns that you can use in the development of your services-based applications.
  • Follow detailed instructions to implement common patterns in your services-based applications.
  • Use the guidance package to quickly incorporate implementation of common patterns in your Visual Studio solution.
  • Examine the reference implementation to view the patterns at work in a simple application.
  • Extend the guidance package to incorporate your organization's patterns for services-based development.


The Service Factory contains the following:

Reference implementation. The reference implementation is an executable sample application that demonstrates application of the patterns and practices around building services-based applications.

Guidance package. The Web Service Software Factory Guidance Package automates development activities that developers would usually have to manually perform, frequently by following a series of instructions. It helps developers build services-based solutions in a way consistent with the architecture guidance.

Documentation. The documentation is included in WebServiceSoftwareFactory.chm. It consists of the following major parts:

  • Patterns. This introduces patterns that provide solutions to common services-based design and implementation challenges.
  • Development Tasks. This topic describes how to complete isolated tasks in both a manual way and an automatic way using the Web Service Software Factory Guidance Package.
  • Guidance Package. This introduces the Web Service Software Factory Guidance Package. It provides an overview of guidance automation and a description of how to use the Web Service Software Factory Guidance Package.
  • Reference Implementation. This describes the first Service Factory reference implementation.


>>GET IT HERE<<

Wednesday, April 05, 2006

Microsoft's FrontPage is being put out to pasture.

It appears FrontPage is being put out to pasture. FrontPage will be discontinued in late 2006.

The new Microsoft® Web authoring tools from Microsoft:
Microsoft® Office SharePoint® Designer 2007
Microsoft® Expression™ Web Designer
Microsoft® Visual Studio 2005
Microsoft® Visual Web Developer 2005 Express Edition

Read More here:
The next generation of Microsoft application building and Web authoring tools