Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






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

posted by tadanderson at 8:57 PM 0 comments

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

posted by tadanderson at 7:04 PM 0 comments

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.

posted by tadanderson at 7:34 AM 1 comments

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.

posted by tadanderson at 7:43 AM 0 comments

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

posted by tadanderson at 12:41 PM 0 comments

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.

posted by tadanderson at 1:43 PM 0 comments

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<<

posted by tadanderson at 10:37 AM 0 comments

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

posted by tadanderson at 7:45 PM 0 comments

Previous Posts

  • DevOps: A Software Architect's Perspective Book Re...
  • Scaled Agile Framework (SAFe) LiveLessons Video Se...
  • Bulletproof Android: Practical Advice for Building...
  • Swift for Programmers Book Review
  • Security in Computing (5th Edition) Book Review
  • Swift in 24 Hours, Sams Teach Yourself Book Review
  • Sparx Systems Releases Enterprise Architect 12
  • Learning Swift Programming Book Review
  • Android Security Internals: An In-Depth Guide to A...
  • Adaptive Code via C#: Agile coding with design pat...



Archives

  • December 2005
  • January 2006
  • February 2006
  • March 2006
  • April 2006
  • June 2006
  • August 2006
  • October 2006
  • November 2006
  • December 2006
  • January 2007
  • February 2007
  • March 2007
  • April 2007
  • May 2007
  • June 2007
  • July 2007
  • August 2007
  • September 2007
  • October 2007
  • November 2007
  • December 2007
  • January 2008
  • February 2008
  • March 2008
  • April 2008
  • May 2008
  • June 2008
  • July 2008
  • August 2008
  • September 2008
  • October 2008
  • December 2008
  • January 2009
  • February 2009
  • March 2009
  • April 2009
  • May 2009
  • June 2009
  • July 2009
  • August 2009
  • September 2009
  • October 2009
  • November 2009
  • December 2009
  • January 2010
  • February 2010
  • March 2010
  • April 2010
  • May 2010
  • June 2010
  • August 2010
  • September 2010
  • October 2010
  • November 2010
  • December 2010
  • January 2011
  • February 2011
  • March 2011
  • April 2011
  • May 2011
  • June 2011
  • July 2011
  • August 2011
  • September 2011
  • October 2011
  • November 2011
  • December 2011
  • January 2012
  • February 2012
  • March 2012
  • April 2012
  • May 2012
  • June 2012
  • July 2012
  • August 2012
  • September 2012
  • October 2012
  • November 2012
  • December 2012
  • January 2013
  • February 2013
  • March 2013
  • April 2013
  • May 2013
  • June 2013
  • July 2013
  • August 2013
  • September 2013
  • October 2013
  • November 2013
  • December 2013
  • January 2014
  • February 2014
  • March 2014
  • April 2014
  • May 2014
  • June 2014
  • July 2014
  • August 2014
  • September 2014
  • October 2014
  • December 2014
  • February 2015
  • March 2015
  • April 2015
  • June 2015
  • July 2015
  • September 2015

Powered by Blogger