Could Agile Trend Be Driven By Technology?

Ok, I just got back from vacationing in the Gulf of Mexico and I feel reenergized...so reenergized I feel like writing a bit!

It seems that all I hear about is Agile development methodology anymore. User groups and Special Interest Groups (SIGs) have even changed their names to reflect some connection to Agile's methodology, but still I can't help but wonder what the whole Agile movement stems from. If I think back to what I learned in college, my thoughts are drenched from listening over and over about the Waterfall methodology. This was what colleges were training young graduates to use once we hit our first job, but 10+ years ago technology was much different.

Let's talk a little about the Waterfall Methodology. The Systems Development Lifecycle (SDLC) was a little bit different then. Development started with Planning and once development of the gathered requirements was finished and the solution was deployed, the lifecycle ended with Maintenance. If changes were needed, well then the lifecycle started over again. Well back then technology was different or should I say harder to develop. There really was not the level of Rapid Application Development (RAD) like there is today. Other than Joint Application Development (JAD) sessions, clients were not as involved with the overall development lifecycle. Business/System analysts were just then making their ways to the front lines because developers were still somewhat tucked in the dark depths of basements, looking for their staplers. Most importantly, we did not have .Net!

Development as a whole has shifted its paradigm beyond just code and flow charts. Developers really benefit from learning the business and what better way to learn the business then to focus on customer needs. More importantly, how do we effectively communicate with customers and clients to show that we understand their needs? Looking at Agile development, you will see that clients are involved from day one till the end. Understanding this concept, developers must anticipate flexibility when architecting solutions. Working close with anyone, you can see how different approaches would be considered. So what does technology today offer to support these agile changes during development? First, consider some of the frameworks used to assist us with development. My favorite is Object Relational Mapping (ORM). This type of framework allows the flexibility to handle ever changing requirements, which are made on a dime. Consider LINQ for data and the Model View Control (MVC) Framework for ASP.Net, and more importantly Windows Workflow Foundation (WF) and Windows Communication Foundation (WCF). I cannot tell you the number of changes I have had to make for clients in which WF has been my best friend by consistently supporting how new changes were implemented, and communication, where different protocol handlers would have to be hand crafted.

What does this all mean? Probably that changes clients make are inevitable, and technology has painted a better road map by allowing choices of how to tackle changes quickly and effectively. This does not mean that Agile should be used for all solutions. Agile will probably not work when you are dealing with rather large development teams or with clients in which you have limited communication, visibility, or when clients need a figure based on requirements up front, so they can see how much a solution will affect their budget.

Microsoft Visual Studio 2008 Service Pack 1 Released

Ready for ASP.Net generation? This service pack is a must! It does this by taking advantage of LINQ and rich functionality supplied by AJAX. Download the service back here I also found a great article in this month's Visual Studio Magazine

Want To Speak At Jacksonville Florida's Code Camp

Looks like invitation for speaking at the Jax Code Camp is still open. This would be a great opportunity if you are trying to become a speaker within your community or if you would like to share your technology passion with others. If you do not want to speak but are interested in attending, register here.

Jacksonville Florida's Code Camp Is August 23, 2008

This will be our 4th code camp and this one is extra special because not only will I be speaking at it, other MVP's, local community leaders decided to help sponsor it. Honestly I cannot say I would be where I am today without codecamps, so it feels good to give back to the community not only with knowledge but with a little bit of money too.

My session this year is titled, "Why Workflow Foundation?". I hear from other .Net developers all the time about how WF functionality can be simulated simply by writing .Net code. Well yeah, and I guess I could write my own database interfacing framework as well to simulate ADO.Net! Others seem to think that the learning curve of WF is just too steep. This session will address these questions as well as give a good understanding of how to use WF as a framework.

So if you are not too far, and even if you are, this is going to be a great free event! The main reason this event is going to be good, is because of the effort community leaders are putting into it. Come by and check us out here in the top corner of Florida. Register here

"Live Mesh and Other Clouds"...Jacksonville Arch SIG Meets July 22, 2008

Our Arch SIG is meeting tomorrow and the topic is “Live Mesh and Other Clouds”. If you have been reading magazines like Visual Studio and MSDN, you might have read about SSDS(SQL Server Data Services) which is a new concept coming over the horizon. Check out Eugene Chuvyrov as he gives us an overview of this technology concept!

For directions and to register, click here

Speaking At PASS 2008 In Seattle

I just got back word from my buddy Brian, that we were invited back to PASS. This will be my forth year speaking at this conference and even though Brian and I keep the same title of our session, "Hacking SqlServer" every year is diffrent due to new threats and technologies. This means that we are continually implementing new tactics and technologies within our demos to help form opinions within our audiances if certain practices are safe or not. This year I will probably put LINQ to the test for our hacking dual demo and Brian may flash some new features of SQLServer 2008.

Generic "HasValue" And Policy Activity Gotcha

Recently I noticed this error, Cannot evaluate property "HasValue" because its target object is null. I did not get it at compilation of my workflow project, but running a workflow application. I use generic data types whenever possible, and I use the "HasValue" property as well, so when I started getting this error I was not sure where to start looking. Fortunately, this error means exactly what it says and since I cannot debug to the point where it occurs it probably means it is happening within a WF rule or condition.

Normally if you have code that looks like if(NewPerson.IsMarried.HasValue && NewPerson.IsMarried.Value == true) it will process fine, however if you use generic data types regularly like me within policy activities you will come across the same error message like above. Fortunately, the way around this issue is to simply use the null condition so that your policy's business rules look similiar to this... if(NewPerson.IsMarried!=null && NewPerson.IsMarried.Value == true)

Jacksonville .Net Code Camp 2008, Suggest A Topic!

The official site for Jacksonville's 2008 Code Camp is up! The actual event is scheduled for August 23, 2008. Check out the site and add suggestions of topics that you are interested in learning more about.

Jacksonville,Fl. Architects SIG Meets June 24, 2008

Well, I hope everyone is starting to enjoy the warm weather and the feeling of summer, which reminds me… this summer’s first meeting is scheduled June 24, 2008. This meeting will be a little different than any we have had in the past. The plan is to get our group to participate and learn by helping others within the community. I will start off the meeting with some basic architectural concerns/issues that are common within most IT shops, and hopefully this will break the ground for other participants to share their experience and expertise within certain areas.

Please plan on attending this meeting if possible. I would like to have as many participants as possible to cover different topic areas.

Register here

Orlando, Fl. Microsoft Community Summit Recap

Many thanks to Joe Healy and crew for organizing the community summit we had last weekend. I came down to Orlando, Fl. last Saturday, not sure what to expect, however when I saw the facilities and attendees, I knew that this was going to be a fun weekend. To recap...We were able to use the civic center for the weekend in between the first and second weeks of Teched. It almost felt like we were speaking at Teched, minus a few thousand attendees. However our MS TE's and community leaders did an outstanding job of organizing the event.

Saturday night we had a geek social where our very own Eugene Chuvyrov spun the dance hits. He did a great job of DJing the party and getting things rolling throughout the night. There were some cool games played for play money to buy an XBox 360.

My talk was last Sunday morning at 9 a.m.(probably one of the earliest times I have ever spoke), and I think I pulled around 100 attendees. I did a 1.5 hour presentation on WF, setting the foundation on what to expect for later presentations that followed for 3.0/3.5 services.

Based on some of the feedback I received from speaking, my next couple of blog postings will be focused on answering the questions that were gathered from my session.

Speaking at Microsoft Community Summit 2008(tweener)

Many of us have the unique opportunity of heading to Florida for Tech-ed in the next couple of weeks. One of the most anticipated conferences Microsoft hosts. Unfortunately, like so many others, I will not be able to attend due to client needs. Fortunately though, Microsoft Florida Evangelist, Joe Healy and crew have found an effective way of utilizing the Orlando Convention Center in between Tech-ed tracks. The weekend of June 7-8, 2008, Microsoft Community Summit, Inbetween will come to life with some of the most talented speakers in the region. The best thing about it is this event is FREE. You geeks hearing me out there? If so, click the link and register!

Speaking At Next Jacksonville Technology Council Meeting

It has been awhile since I have spoken this early in the morning however I have the great opportunity of speaking to the Jacksonville Chamber of Commerce's Information Technology Council. My session is on how to gather requirements to encourage software project success. The meeting is Tuesday, May 27, 2008 at FCCJ's Advanced Technology Center, downtown. More information about the council can be found here.

Jax Architects SIG Meets May 27, 2008

Business Process Management was unheard of a few years ago and overshadowed by Service Oriented Architecture. SOA has changed the way we connect and integrate our systems. However, SOA is only one aspect of developing a modern solution. If SOA is the how then BPM is the why. Join us in a lively discussion of BPM where we’ll define BPM, its technology and approaches for adoption.

Register and get directions here

My Month of Speaking

Yesterday was my fourth week speaking consecutively for a month straight. These past weeks have been the most grueling while trying to balance my daily work efforts as a consultant, creating new presentation slides and demos while also trying to balance my family life. There have been many nights of staying up late, learning new things and figuring out ways to effectively present on them. Here is a rundown of the past four weeks and where I have been presenting.

Annually I do a lot of Florida code camp presentations but for the end of April into May, I wanted to focus strictly on user groups and special interest groups (SIG). I really did not plan to have all of my presentations run consecutively, however it just seemed to happen that way. I actually had to cancel speaking at the Jax SQL Saturday since I was doing a ton of travelling with work and could not balance the two. April 24, 2008 I had the opportunity to speak in Tallahassee, Fl., at an Architect SIG that had just started up. I did my presentation on gathering and modeling requirements. I was the second speaker after the previous month of Jeff Barnes (MS) priming them up for me. Now I run the Arch SIG in Jax and when I saw around 30+ attendees in Tally I was shocked. I started soul searching trying to figure out what I could do to draw that many to our arch SIG meetings. I mean, these guys were hungry!

The next week, May 1, 2008, I headed back to Tallahassee, Fl. to speak again, except this time it was at the Capital City .Net User Group. I wound up doing a two hour session on Migrating WF. I had originally planned for an hour session, but these guys were even hungrier. Again, I think we had around 30 or so which really fired me up.

The third week, May 7, 2008, I spoke at JaxDUG, right here in my home town of Jacksonville, Fl. This was a special time for me because it was in my own backyard, even though there were not many I knew personally that attended, there is just something special about speaking within your local community. This time I spoke on integrating WF with WCF, however a bit more watered down with different demos that I had planned for my next week's presentation at VSLive. I think we had around 25 which also was exciting.

Now for the best part! VSLive has been and will always be one of my favorite conferences. Being in Orlando, Fl. It makes things even more worth wild, because you can enjoy so many things while you are down there. Yesterday, I did my presentation on Integrating WF with WCF and probably had around 50-75 attendees. One of the main reasons why I think the attendees enjoyed it, was because my demos expressed real world scenarios and none of them blew up! More importantly, there were very few people I saw leave during my presentation. Not that it means people do not enjoy what a presenter is presenting on, but I think it means that the presenter has kept it interesting enough, that attendees are connected with what you are presenting on.

Other than presenting, VSLive was just as fun as if I had just been an attendee. It was a huge rush presenting at it this year and I hope to be back. Everything was top notch and extremely professional. One interesting thing was Crazy Wednesday, a wild event that was hosted by Billy Hollis. Towards the end they needed a panel of speakers to answer questions from the hundreds of developers attending the conference. Billy Hollis was hosting, Rocky Lhotka, Richard Shaw Hale, Walt Ritscher and me made up the panel. It was quite interesting about some of the questions that the attendees came up with however we all had a blast!

Speaking At Tallahassee, Fl. .Net User Group May 1, 2008

I will be heading back to Tallahassee, Fl. tomorrow to speak at the Capital City .Net User Group about WF. I was just there last week speaking at the Architecture SIG on tips for gathering requirements and designing architecture, however this week I will be discussing and demonstrating how to complement existing internal frameworks by migrating to Windows Workflow. My examples will focus on integration with current services, using transactions, implementing policies, persisting and tracking workflows and finally I will wrap up with an example of hosting WF within WCF.

If you are in the Tallahassee, Fl. area, please drop by. You can register here.