Monday, July 13, 2009

The Muse about Mashups

So how does the mashup concept fit in the world of self actualized software developers? Probably better to explain something about mashups, or what I like calling:

Post Consumer
Intuitively Presented
Coincidental
Aggregated
Real Time
Data

OK, maybe it's a stretched Geeky Acronym for PICARD, but it's better than my last one:
PASTY: Platform for Automation of Secure Flight Testing, Yes.

Post Consumer - This data was already presented, cleansed, provisioned, secured from other applications. In other words it's already showing up on someone's desktop, in the form of a web application, RSS feed, a physical report, email, WSDL based application, etc. But it's fragmented currently. The mashup's job is to combine things, intelligently, more on that later.

Intuitively Presented - The real reason the Web is a breakthrough is because it's easy to understand, it's not the technology it is what the end user/consumer can do with the information. If they need a computer science degree, they probably will never do anything with it, because they won't understand it. The Web 2.0 type of interfaces that are intuitive, rich and powerful, means you can get the data you want and you will understand what you are looking at.

Coincidental - This is probably a weaker word than I really want, probably correlated sounds better. Basically a few data points alone mean little, but many points show a picture. You remember geometry, a point is a point, two points define a line, 3 points defines a plane, and 284 points draws a picture of Britney Spears!!!

Aggregated - So before you can correlate, and make things coincident, you have to have pull it from different sources. Public and private sources, but remember these can be non-traditional source such as firewall log files, proxy server logs, the type of things that generally don't get monitored.

Real Time - Information has a shelf-life just like fresh fruit, not like a Twinkies. The older something is, the more it tastes bad! So a mashup, unlike a business intelligence effort is all about what is happening now, not in the past.

Data - Well, without out some raw elemental information there is no point... In today's IT world there is no lack of data, the issue is rather a signal to noise ratio and understanding what you are looking at and then knowing what to do with it.

This is the world of a 1st order enterprise mashup with its mission to quickly find real time trends and assist businesses and getting to an actionable position as quickly and as cheaply as you can. That seems to be where the state-of-the-art mashups are now.

Friday, July 10, 2009

The Maslow's/Eoyang's Hierarchy of Software Development

You know the theory... You start with basic needs and you build and build until you get to self actualization, when great things happen because you have all the little things taken care of? Well I believe in that as it applies to people but also in Software Development. OK here is the Pyramid for people:



.











Well I think it's a mistake to take one model and apply it 100% to another situation because it never fits 100% - but that's an entirely different discussion, for another time - remind me - Iterated Prisoner's Dilemma.

But here's how I think a similar pyramid exists for software development.

Level

You Are

Action

Time

Role

% of Time

Tasks/Skills

Artifact Examples

Strategy

Thinking

3-18 months

Executive

10%

Enterprise Architecture, Business Requirements, Strategy to Tactics decomposition, ROI

Business Plan, Yearly Financial Report

Tactics

Planning

1-6 months

Manager

25%

SDLC, Design, Quality, Metrics, Process, Coordination, Tactics to Implementation decomposition.

Project Plan, Design Document, Lessons Learned, Defect Reports

Implementation

Doing

0-3 months

Developer

/Analyst

65%

Programming, Hardware, Software, Integration, Testing, Documentation, Deploying, Task Tracking

Application Code, System Infrastructure, Documentation

Thursday, July 9, 2009

A New Direction

I have recently left the traditional world of software development. It seems I can only stand working in a largely dysfunctional environment for so long and then I am tempted to explode. So I left my position at TSA as the software development manager of Secure Flight.

I am now a proud employee of Jackbe. It's a different model for software development, for a targeted type of application. I'm trying to understand how the tools, philosophy and processes will meld together to create a better world. What are the pros and cons to this approach? I'll be posting my thoughts here.

My first thought is along these lines from Information Week.


But that's really not starting at the beginning.