Friday, October 24, 2014

Looking into Continuous Delivery / Lean Enterprise


After a conversation with my boss I just downloaded Continuous Delivery to my Kindle reader (Windows 8 / Windows Phone app). 

On first brush, I can see it’s akin to the next phase of a process I'm somewhat familiar with.  I've referred to it as Software Factory in the past, and even have a label for it in this blog.  I designed and delivered a "Software Factory" solution around some of these concepts at one of the few product based companies I worked at in my career…  

"Software Factory" took Continuous Integration (CI) up a  few notches by automating not just builds, but code generation, deployment packaging, and then an early stab at what might now be called a private cloud, where we automated spinning up an instance of target test systems, deployed the fresh baked product, ran smoke tests, and (if smoke tests looked good) notified the folks in QA for more complete testing of a solid candidate.   


I’ve been a fan of Domain Specific Language (DSL) for the purpose of custom build & automation ever since. 

For that company our solution was an on-premises deployment, so it was still a matter of convincing customers to deploy the updates…  but our automation produced both full install kits as well as patches that would upgrade a running system from a known build to a target build.    

That company was preparing to take the product into the SaaS model which was very new at the time, and this would have been a part of that, as well.   

I've worked with TFS to integrate smoke testing and build automation, as well.  That could easily extend to this sort of thing. 

That company suffered from lack of customers, unfortunately, but it was a process I’ve been looking forward to getting back to, and expected we’d get back to in the consulting world some day.    It's interesting that Software Factory (as Continuous Delivery) is working it's way back to top of mind relevance through the cloud...  I'm looking forward to reading what the authors of this book have to say about it.

Wednesday, October 15, 2014

An Alternative Profile, in C#

The folks at BlueMetal keep profiles of each team member on the web site.  They asked all of the recently added teammates to draft up a profile. The hard part for me was that it felt like I needed to model and express myself in terms of... C#, of course.  :)   I wrote this with enough supporting scaffolding to get it to compile...

using System;
using System.Threading;
using System.Threading.Tasks;
using BlueMetal;
using Microsoft;
using Database.SQL;
using Web;
using Mobile;
using Services;
using Cloud;
using Experience;
namespace Profile
{
   public class Jim_Wilcox : SeniorApplicationDeveloper
   {
     private Jim_Wilcox()
       : base()
     {
       Blog = "http://granitestatehacker.kataire.com";
       CommunityLeader =
         Community.NH_SharePoint_UsersGroup |
         Community.NH_WindowsPlatformApplicationDevelopers_UsersGroup;
       EventCoOrganizer = Community.SharePointSaturday_NH;
       YearsOfExperience = Qualifications.Decades;
       Vision = Qualifications.EnterpriseLevel;
       LearningMode =
           Qualifications.Continuous | Qualifications.EarlyBinding;
       Skills =
           Skill.NET | Skill.MVC | Skill.SharePoint | Skill.TFS |
           Skill.Azure | Skill.SQL | Skill.Many_More;
       Industries =
           new System.Collections.Generic.List<Industry>() {
             Industry.Military, Industry.Telecommunications ,
             Industry.Retail, Industry.Financial ,
             Industry.Healthcare, Industry.Hospitality ,
             Industry.Concierge, Industry.Construction ,
             Industry.Many_More};
     }
     public static async Task EngageAsync(StatementOfWork context)
     {
       await BlueMetal.Project.Execute(context).UsingDeveloper(Individual);
     }

     public static Jim_Wilcox Individual{ get { _unique = _unique ?? new Jim_Wilcox(); return _unique; } }
     }
}

Friday, October 10, 2014

Winds of Change

If you hadn't heard yet, Jornata merged with BlueMetal.  As part of the merger, BlueMetal organized a session of "BlueMetal Academy" to help transition the team.  In spirit of a true merger, Jornata members participated as trainers, as well, showing that Jornata's culture is really being assimilated, not purged.  (The merger is a solid marriage, rather than simple annexing of resources, both sides bring common values but distinct strength to the partnership). 

At the end of the training, we were asked to come up with one word to reflect what we'd learned over the course of it.  Just one...  on a moment's notice.  Responses were things like "Integrity", "Consistency", "Connection", "Inspiration", "Committed", "Legit" and a few other words of similarly positive connotation.

I had the advantage of being among the last in line to respond, so I considered each of them as they were spoken.   In my head, I responded to each word as it was spoken.  "Yes", "True", "Good one"... those all fit.  "What says all of that?", I thought.  Digging deep, I could only think of one word that conveyed all those qualities... everything we learned.  there's only one word that says it all, and I didn't say it to play Captain Obvious...  "BlueMetal"  

Ok...  the cool-aid is either totally Stepford, or totally legit.

Given my experience with BlueMetal teammates in both the SharePoint AND Windows Phone Dev communities, before I ever had the opportunity to join... it's not Stepford.

That said, I think the expected answer was "Mahan", as in Mahan Khalsa, author of "Helping Clients Succeed" which plays an over-arching theme across the company.  Someone may have even said that, but I didn't catch it. I still like my original answer.

This past spring I joined Jornata, mostly to shake up my career.  Jornata was/is a fantastic team to be a part of in its own right.  My prior experience with them in the SharePoint community was also first rate. 

I might have pursued a job at BlueMetal years ago on my own were it not for the daunting commute.

The winds of change clearly had more in store.

Now, I find myself thinking that BlueMetal really looks like the company I always had in mind to work for when I was teaching myself programming as a kid.. and I mean everything..  from its respected thought leaders to its community involvement to its extremely purposeful corporate structure...  being employee-owned...  I realize this team is top to bottom, front to back, enterprise ready, industrial strength, yet premium consumer quality... and they have my back. It will be my honor to have this team's back.

I'm very much looking forward to settling into the new team, and really looking forward to digging in on a nice juicy app development project.  Duty to the customer has pulled me quite a bit toward infrastructure build outs... Being successful at those things has had the curse of being asked to do more of it. The further away from C# I get, the further I am from my true passion & real value add, and that doesn't really cut it for me or my team, longer term.

so...  the commute sucks... but if that's all I can think of to "complain" about...  I guess that's what it takes to be "The Granite State Hacker", for keeps.  (I'll secretly blame NH politicians for making it so hard to find a sufficiently legit tech offices in NH, and work at home every chance I get.)

This marks a new chapter for my career, without a doubt, and I'm sure I'll be inspired to blog deeper than what had become all too common Microsoft cheerleading posts.  (Now I can be a BlueMetal cheerleader, too!   ok...  I'll try to refrain from geeking out about my team too much.) 

Thursday, October 9, 2014

Granite State 2014 Q4 Events - SharePoint Saturday New Hampshire, and the Users Groups

SharePoint Saturday New Hampshire 2014
Better late than never.   SharePoint Saturday New Hampshire 2014 is happening just over a week from now at the Radisson Nashua Hotel in Nashua, NH on October 18th.   (We traditionally have held this event in mid September, so we're essentially a month late.)

The SharePoint Saturday New Hampshire theme for 2014 is

"Cloud First" means SharePoint developments don't wait for major releases.

It's very true, with developments implemented in SharePoint Online, including Delve and social graphing, there's lots to talk about.  Incremental changes they may be, but increments happen at a more rapid pace than they did in the Pre-SharePoint Online world, and of course that has implications for SharePoint on-prem, on premise.

http://www.spsevents.org/city/nh/2014


Granite State NH SharePoint Users Group
Regarding the NH SharePoint Users Group, our schedule remains on the 1st Thursday of the month thru the end of the year with the December meeting being held at the Microsoft Store in Salem.  Our speakers and topics remain to be determined.

#NHWPUG is dead.... long live #NHWPAD!
The Granite State Windows Phone Users Group is in the midst of some bit of reorganization.   We had long discussed the idea of broadening the focus of the group to include Universal platform app development, and the topic got some hot debate when 8.1 was announced.   With the announcement of Windows Threshold as the unified version of Windows that will run on all hardware form factors (pc's, laptops, tablets, phones, and even Xbox consoles) it's become clear that we need to redefine our group and refocus it.  

With this post, I'll announce that the group will be called the "Granite State (NH) Windows Platform Application Developers".  I'll begin re-branding the existing LinkedIn, Facebook, Eventbrite and Meetup sites, and the community app.  We'll continue to support Windows Phone 8 app developers, but our focus will move to supporting community evangelism of developers in the Windows App Store space. 

I want to thank the my new teammates at BlueMetal for putting up with my agonizing over this change somewhat openly within the team's internal discussion, and for their support.   I'm not worthy, but I can't help but think it's a huge win for the Granite State SPUG and WPAD groups, and the greater New England technology community.

Our next meeting will be in November, but we'll get that announced soon.

Regarding the SPSNH schedule change.... To make a long story short SharePoint Conference 2014 pushed off SharePoint TechCon SF, which then push SPTechCon Boston right into SharePoint Saturday New Hampshire's traditional 3rd Saturday of September space.  Our choices were to have SPSNH before or after SPTechCon, and going after seemed reasonable.