A love affair with software development using the project management discipline, sharing tools and topics that help advance professional and personal growth. Audience: Anyone seeking better insight into themselves. Focus areas: user interface design, usability design, information architecture, business analysis, quality, and development activities. Technologies and tools: .Net, Expression Blend/Designer, 2010 tools: Visual Studio, Team Foundation Server, SharePoint, Office, Project, etc.
2011-12-07
Projects with a shelf life
Be fruitful with the customer and be able to sharply explain the good and bad of technology choices. Recommend the right solution, and don't settle for less. Of course, your customer is always right, but help educate them...help them make a better decision, help them with proofs of concept to sell to higher management....make them a salesman for your services.
To he who says software has an 18 mo lifecycle and must be replaced is just unfair I think. There's plenty of working implementations out there in .Net 2 and 4 that exhibit higher customer value with minimal support components. All important is the role of technical architect on the project. Fail this milestone and you're done for. I guarantee it. I want to revisit this topic next.
2011-11-13
SOA what?? Part II
First off, traditional web client applications can rarely be generalized as a thin web client. Like MS Silverlight, what you end up with, using a set of solid WCF services to harness the backend is nothing less than a SOA application taht just so happens to front a rich interactive application (RIA) interface. Calling a Silverlight or Flex app a thin client is akin to wearing a McClaren jacket at a tour through the Maranello factory. So, SOA in and of itself is merely teh notion of using an agnostic set of services that perform complex business logic; the front end application merely consumes what's thrown at it.
Consider your fancy new Silverlight app using Entity framework and WCF services throughout...you've got adjacent customers that could surely tie into those services and solve their own sets of business needs. Data Exchanges are merely a consumer of SOA - such an interface (or exchange) can be created through simple WCF web services or through more complex varieties.
Imagine that Contoso Shipping has this new Silverlight application. Consider the various adjacent systems that interact with the shipping provider. The distributor to the cardboard box maker could use a look-see into your organization in order to know when to send more boxes to you. Our cardboard box maker company uses its own sophisticated, local software solution for its work mgmt, and isn't about to create something and get the shipping company to expose its data.. Instead, our shipping company merely partners with the box company. In doing so, a service contract is setup and those wcf services that provide the interfacing needed (likely existing services that already poised doing other work) are directed out through this new web service. The box company has the bulk of the work from here - they need to extend their local solution (system) to consume these services, transform the data structures coming across and do some analysis. The output sends data points to their system, all the while the system of record remains internal to the box company, but the shipping company gets real-time data from the box company about its # of boxes coming, etc, etc. Make sense?
In this context, a service oriented arch exists that can be consumed by other (dozens) of client applications in order to make use of the data constructs. The service provider merely exposes and publishes its web services to get at the data, and its approved partners get access to the data for consumption, etc.
The interesting part is that of the analysis needed up front to properly put business and technical req's together to facilitate a) exposing a usable service for potential or known users, and b) providing the data exchange using a broad enough declaration of services that can be consumed by the masses. The last, most complex part is that of reconciliation - either the servicing party or the client party must be responsible to resolve data issues that can and will exist between the two parties. In my opinion, it's always easiest to put the burden on the client (consumer of the services). But, this depends on your system of record...if the State, let's say, exposes criminal data to the state counties for use, it likely expects that this is the system of record, and all such edits need to exist in this single system. So, as the State body, we can't expect that the counties will update this system in a fire and forget mode. Counties need to resolve conflicts in the data, e.g., you send me this, and it doesn't match my interface schema or conform to its pre-justified rules, it's kicked out, and you fix it...or, you send me a case record, but some pre-requisites fail, we abort the data exchange, and the county must resolve. The state in this context expects that the local agencies get good data into the system. One step further, imagine the local agency being satisfied with its own local system; they merely have a data entry person stuff data into the system of record (the statewide data stores)...if this person puts bad data in, they resolve it. If not, garbage in, garbage out, especially when in a case like this, reporting is so critical.
2011-02-03
A first experience with NLP (Neuro-Linguistic Programming)
How do I blog about this stuff, this intimate stuff that's unfolding, and make it apply towards my goals of this blog? I'm starting to figure it out.
I'm halfway through Crucial Conversations...a great text. I'm actually listening to it in audio form. I am not a very good learner in this format, so we'll see. I like to see and feel the words on the page or in a document on my iPhone....nonetheless, this is another bit of homework I've given myself - this book, that is...
2011-02-02
To want growth, you have to believe in yourself
It sounds kind of cooky, I'll admit, but I just have this sense of value, worth, security, and compassion that I couldn't explain a few days ago. I need to learn more about this thing (we'll call it for now), but I'll share more in the coming days. It's truly life changing - one building block at a time. But, I'm open, vulnerable, and willing to adopt change, spill my guts...I want to feel better about taking on new challenges in life, learning how better to negotiate with clients/peers, being a better role model for my young daughters, a better hubby, and advancing my career.
Is it an early midlife crisis, this life coaching desire? Nah. But, I'm thankful to those nearest me who believe in me and for me having the guts to believe in myself and reach out for external support. Pretty awesome discoveries so far.
Still seeking an old book called, I'm, OK, You're OK. I'm reading Crucial Conversations right now. Love & Logic will be next.
2011-01-30
A novel idea! A novel about Project Management
The author gets into intimate details about where problems in projects (systems) reside, how to solve them, and more importantly for me, shows you how it's really done all within the confines of a myriad of characters, actions, and personalities. This book illustrates quite openly about how management involves four key things: heart, gut, soul, and nose...among many other great points that the main character collects throughout his tour of duty. I'll note those in a future blog post (I tend to take notes about my findings to paper since I don't memorize key points in books as easily). I know someone that sure can do this though...like a human journal, he is!
But for now, take my word that this book is as relevant as ever. Tom even has some keen insight in this era (some 14 yrs ago now) that is spot on with today's complexities building and deploying software. That Lahksa Hoolihan character is engraved in my head - engaging, cunning, and beautiful all in one;).
Taking myself from adequate to extraordinary
I'm officially on a book kick and I've got self-motivation on the horizon where ever I look...So, I'm jumping in with both feet, with the following two goals solidly on the front burner.
- Number 1: Evaluate myself. Where/how can I achieve better results in my personal life and in my professional career? How can I learn more about the inner workings of really being a "Manager". I can only do this with some serious reading - not just books I've read, but a barrage of books on several different levels - books I wouldn't think of picking up one yr ago.
- Number 2: OK, so I finally self-admitted that I need a coach, a Life Coach. No..A Motivational Coach. Well, sort of. A Personality/Attitude Coach....Well, close, I suppose. A Leadership Coach...yes, that sounds closer, I think. Maybe counseling to help unlock my "strong adult" vs. my "child"...hmm, that sounds eery, like a need a shrink or something.......I don't know what this goal is exactly yet, but I know I need professional support, a real person able and willing to guide me on my journey, someone I see biweekly or more and someone I confide in for support.
I'm excited, nervous, slightly overwhelmed, but giddy like that first day back in Grad school in a Dynamics of Social Relationships course. Let's see where this takes me. I've already jetted through a great book and I'm seeking a life coach next week to see if it's the right angle for me...
2011-01-26
Native screen snapshot recorder inside Windows 7
Off topic...ok, so I'm a huge Microsoft OneNote fan, and I was looking for the native screen clipping tool that ships with Windows 7 for a colleague (BTW, that's called Snipping Tool). I don't use it because I love the functionality and clarity of capture provided by OneNote's capture utility and integration thereto.
OK, this utility, Problem Steps Recorder is now available on most legacy OS's as well: http://www.microsoft.com/downloads/en/details.aspx?familyid=B72D3AC2-4352-4184-9992-E122DBB80883&displaylang=en
This thing lets you hit record, perform any array of steps on your desktop, add textual comments where ever you like, and press stop to generate a web archive (.mht file) compressed into a tidy zip. And this is an enterprise-ready solution as-is. Starting the web archive file spawns a detailed collection of image snaps and human readable commands performed during the session, not to mention an incredibly useful slideshow view, all in the browser. Microsoft got it right on this one! You can even define the granularity of screen snapshots captured and whether or not to include the screen image (for private data scenarios). Most important to me is that it's lightweight and fast.
With the Silverlight plugin, you can get a quick demo here: http://technet.microsoft.com/en-us/windows/dd320286
I can see huge advantages for QA resources creating an archive as needed to satisfy repro steps for the developer/designer resource...huge time saver, and with team foundation server 2010, this zip could be attributed to a bug item for posterity. I'm probably behind the 8-ball, but I'm stoked about this little gem and will be trying it out with my team.