The Business Analyst / Project Manager Combo

Until I started looking for work as a Project Manager years ago, I did not know what a Business Analyst was. I knew the title existed, but I couldnt have explained to you what they actually did. I existed in happy ignorance regarding this subject for some time. Through the years, I found out that there actually was something called a Business Analyst, and that they did what I did as a Project Manager, only on a finer scale and better than I did it.

This is of course, erroneous. There is a lot of confusion out there as to what a Project Manager does as opposed to a Business Analyst – and if not confusion, overlap. While at larger companies and more well-defined organizations you might have a BA and a PM who are not the same person, many smaller companies and companies with less IT staffing infrastructure call this person the Project Manager and nobody knows that they are not, strictly, a PM. Well, I guess they are a PM, just a multifunctional PM. Anyhow, typical tasks that you will see on the plate of a PM (that are really BA tasks) may include:

1. Requirements Documentation, particularly Business Cases and Functional Requirements Documentation is really a task for a Business Analyst. In your smaller companies, you still have projects with requirements, but the projects themselves are less likely to call for a full-time BA. So, the PM winds up doing the work. I never minded. In fact, knowing how to use UML is a great way to impress people really quickly and establish that you know what you are doing (even if you don’t). UML is a fantastic language to know anyhow. I find myself making Sequence Diagrams of my wedding ceremony. Really. I am that ridiculous.

2. Managing the Traceability Matrix. It makes sense that a PM who is watching a project from Inception to Deployment would make sure that the Requirements are monitored closely, but the Business Analyst who originally defined the Requirements is the one who should ideally be following a line of continuity from Requirements to Testing. If a small company is lucky enough to have a PM who has created a Traceability Matrix and keeps it up to date, they are lucky as can be and need to make sure that their employee is getting rest, because they are taking on a lot of work by choice. I always had a Traceability Matrix because I was scared to death that my projects would fail. It seemed a great way to make sure that at the very least, what the stakeholders signed off on is what they got. Early in my career, 8 or so years ago when I first used Traceability Matrices, a thorough Traceability Matrix was my peronsal measure of success. Now, that measure has changed. It does, however, mean that the project was managed from Requirements to Deployment.

3. Business Use Cases. A lot of you are giving me a “duh” right now, but believe me; there are a lot of organizations that rely on their Project Managers to draw up their Business Use Cases. Who else is going to do it?

I am thankful that I was not clear as to the delineation between a BA and a PM until a few years into my career. I learned a heck of a lot that can be useful and coming from a Development background, the BA tasks actually made transitioning to Project Management much more sensible.

If I am a PM looking at a bunch of WBS entities, I can assign resources, budget, figure out the Critical Path, and do all kinds of management-based activities. If I have BA knowledge behind my PM knowledge, I might know how likely it is that a specific item will actually take 21 hours to do and that really, it could be combined with another item to yield a piece of functionality that is more effective, extensible, and robust than the two functions alone. Sometimes it is easier to build something generic and deploy it in instances than to build disparate, specialized objects.

The .NET library, Joomla! CMS, and other development/deployment tools give Developers a ton of really cool functionality that is almost as simple as drag and drop. A PM with BA background, working in information technology, can become educated in the functionality within development tools and proactively leverage them towards the Solution they want to build. I am not sure this is the best thing to do, always, but it can be done and is certainly helpful to a small organization with a small IT staff and limited timeline or budget. Really, any side of the Triple Constraint triangle can be shortened by a good BA/PM with some technical knowledge. It isnt always immediately apparent, however, where the solution is forcing an interpretation of the issue at hand.

Very recently, I began work on a SharePoint 2007 (MOSS) project. MOSS was being customized for the project before the Requirements were done. The PM in me did not like that at all, but the BA in me found real value in picking a tool and utilizing the OOTB features that it offers. While I do not believe that Design can *ever* come before Discovery, a good BA/PM can be aware of what the Business Needs are and visualize a roadmap towards delivery that is based upon the software package’s native abilities and makes the project itself easier to estimate in terms of time and cost.

There is overlap, and I am aware that there is a difference between a Business Analyst and a Project Manager, but I believe that the delineation should only exist where it is of obvious benefit. Otherwise, you have more communication overhead and a host of other issues that come into play with team management.

I am glad I learned the hard way. If you are a PM doing BA things, you’re lucky… and valuable.

And tired, I bet.

Best,

Josh Milane

MIT Technical, Boston

A Paradigm Shift in Semantic Web Deployment?

I am a big proponent of all things Semantic. I have a degree in Philosophy, and the Philosophy of Language was what held my interest over the years. Even the idea of Ontologies is something that I have somewhat of an emotional connection to; the relationship and existence of things within the world is partly a semantic question, partly an issue of theism, and partly a great big sticky ball of epistemological wax. The Semantic Web is obviously something that I support, not only because of how it would advance productivity, expand human knowledge, and connect Systems. The main reason I dig it so much is that it could create something truly Good out of the WWW. It would help us make sense of all the data out there, stored in disparate Systems, strewn about intranets, extranets, and the Internet.

I don’t think there are many who would disagree that the Semantic Web *could* and maybe *would* change the world (or at least the way we operate within it, since the world is by it’s very nature ever-changing, right?). There are those who are cautiously optimistic and have laid down the framework that would be required if the Semantic Web is to become a reality. There are those who are ambivalent about data altogether, so long as Dancing With the Stars isn’t affected. There are also those entities, such as Google, who don’t outwardly support a Semantic Web, yet could have a massive effect in it’s becoming a reality and are benefiting from some version of an applied semantic web. Google is not against the Semantic Web, in that they do not do anything to prevent it’s emergence, but as the Semantic Web would involve quite a paradigm shift, Google is not waving the flag as high as it could. Google has displayed a more pragmatic pessimism, while making a nice living with contextual ads. There are different flavors of semantics. The Semantic Web (with all caps) is a vision of Tim Berners-Lee, and it certainly could be a reality. Google has stated that people are too “incompetent” for it to become a reality, but I think that is a purposely misleading statement on their behalf.

While I do not agree that it is “incompetence” that prevents the average Webmaster from implementing RDF and other Semantic tools, I do think that the web is going to change due to what makes life easier for Webmasters, business owners, and other stakeholders *now*. SilverLight is Microsoft’s new browser plugin, and it was suggested to me earlier this week that instead of web Developers writing HTML to please browsers and to render in FF or IE, they will be writing applications to deploy within plugins such as SilverLight. This is important. If the model changes so that Developers write for applications, there are many implications upon data and upon the WWW – web services and Semantic Web Services included.

It makes sense. Take a look at all the functionality embedded within Visual Studio and try to argue that OOTB tools such as they are have less intrinsic value to the average business owner (with the average IT staff) than the Semantic Web. One has M$ behind it, along with all the immediate value it carries. The other has promises of collaboration and a future where machine agents do intelligent work for us.

I will be frank, although I am sure that what I have to say isn’t going to be that popular: “Web 2.0″ is not all that interesting to businesses outside of advertising. Blogs are online diaries. Social Networking is people talking to people. Yes, these are severe and maybe unfair generalizations, but let’s face it; the people who are using Social Networking the most are not using it for purposes of facilitating business. Sites like Facebook and MySpace are immensely popular, but the folks who make money here are the advertisers and the sites themselves. The sites are akin to toys with massive billboards on the sides of them. This hasn’t been a movement towards a more valuable web, because there is no recognized authority, no Standardized Ontology, no substantive connection throughout. Work flows exist independent of Standards, and communication happens in proprietary space.

Even Second Life with it’s Linden Dollars is dependant upon Visa, MasterCard, or some real entity with standards, insurance, true grounding and defined components to support it.

Web 2.0 has not done a heck of a lot for business, itself. Google itself enjoyed “viral” popularity. Developers were using it before anyone. Kids were using Social Networking before LinkedIn was popular. Businesspeople are generally too busy to be futzing around with the “cool stuff” online. They spend their time with the “productive stuff” and now find that some of the cool stuff can be productive, if you planned ahead and positioned yourself correctly. Google plays very well towards the convenience factor. Have you seen Google Street View yet? It is COOL. Will it make the world a better place? I doubt it. Will it make Google more popular? You can bet on it.

Meanwhile, business is being done on the web. Content Management Systems and Portals such as Joomla and Sharepoint will enable business. They have tremendous value to the business owner. They allow for Social Networking, collaboration, information sharing, but also have ecommerce capabilities (.NETcart and others) and help folks make money. They contain work flow management tools, to help folks run their businesses. They don’t have an immediate “wow” factor like Google Street View, but I sure think they are cool.

Microsoft is Google’s obvious competitor for mastery of the Globe’s data. The Sharepoint Server 2007 platform is Microsoft’s newest offering. It is amazing. It can do amazing things. However, because it is so dynamic and renders so much on the fly MOSS is not totally Standards-compliant. This is a big deal. This says, “our tool is so good that Standards will just have to forgive us…”

Standards must be preserved, however. And Microsoft would be wise to obviate a way to implement RDF or Semantic technologies.

Web Developers and Architects have a variety of landscapes that they can paint. They can paint an Open Source landscape, where the edges are a little fuzzy but the population is enthusiastic and there are no secrets. They can paint a Microsoft or other proprietary landscape where things are very well defined, but expensive. They can act based on what they know in either one of these cases, drawing on .NET or PHP experience and deploy. They can deploy something that works for business, or something that works for Business. Either way, they are not wrong.

Or Web Developers and Architects can look ahead towards things they do *not* know. It is true; many Webmasters don’t know HTML, much less how to wrap their data in RDF. There is little out there to entice them to do so. What the Semantic Web needs is endorsement – not in theory, but in practice. If either the Open Source community or Microsoft were to build Semantic Tools into their suites, it would be a heck of a lot easier for the Semantic Web to form. It needs that first stake in the ground.

With Google moving as ominously as they are, it would appear to me that Microsoft would want to consider embracing W3C standards and building Semantic Web tools into SilverLight, MOSS, .NET while Google indexes and makes available Google Documents and other immediately free tools. Google is throwing a heck of a lot of free stuff out there, while owning it all. I do not want my WWW to be as Google dictates. I want it to work for me, for you, and for You. Google is a business. They provide a service. They also make some people very wealthy. I do not want the WWW to turn into a de facto proprietary landscape. That would not be good.

Ironically, I think the way to avoid this may be to get THE proprietary system – Microsoft – to build in Semantic Tools and take the control of data away from the indexing machines.

And let’s face it; data is not just bits, bytes, and text. It is meaningful.

Maybe it isn’t quite as it seems Andrew Layman worked on the original RDF spec, and he is a Senior Program Manager at Microsoft. It would make sense to me that they were doing, behind the scenes, what Google is doing right in our faces – planning to run the WWW.

As soon as we see SilverLight contain RDF tools, I will smile a little inside. People will be writing applications instead of HTML pages, and the applications will be a much better platform for schemas, Ontologies, and Semantics than a layer imposed onto HTML.

Google already bought Applied Semantics – natural fodder for their AdSense platform, and can do very obvious things with context. I don’t like the way it is all unfolding. And forgive me, but I can’t put my finger on exactly why that is. Maybe I have the feeling that people are playing dumb.

Best,

Josh Milane

MIT Technical, Boston

The Semantic Web Model, as proposed:

the semantic web model

High-Level Requirements; The Good, The Bad, The Ambivalent

During the Discovery phase, High-Level Requirements can be a fair way to ascertain your effectiveness. If stakeholders sign off on your High-Level Requirements, you know you are not totally missing the boat. It is a good way to make sure you don’t put too much effort into doing more detailed Requirements that are not accurate. It also helps you identify the “nice to have” Requirements versus the “must have” Requirements.

This is what they tell me. I dont believe it at all.

First, a Requirement is something that is required. If a Requirement needs to be removed from the scope of the project because of time, budget, or other constraints, it is cut. It does not fall away because it never really mattered all that much and was a “nice to have” to begin with. It was a Requirement. Now, it has been cut from the scope and methodically, deliberately, purposely removed from the list of Requirements. There is no such thing as a “nice to have” Requirement, although many folks who teach Requirements Analysis would have you believe that there are.

Requirements are required under the contextual scope. If they are removed from the scope, they are no longer Requirements.

Now, there may be reason to note which Requirements are more important than others so if it comes down to it, scope items can be removed with intelligence. You can cut an expensive scope item if you need to, and you can know that item A is mandatory and item B is mandatory but if need be, item B can wait. Or, while it is mandatory under the current scope, we can go back and manage stakeholder expectations, explaining why it has been removed while making it clear that it was a business decision, not arbitrary. Still, I maintain that our fated Item B is a System Requirement. It is required against the project baseline. We have simply adjusted the project baseline – and as you know, baselines adjust, shift, and change.

A shifting project baseline is normal. A non-required Requirement is not.

High-Level Requirements do very little good in and of themselves. While they are the PM/BA equivalent of sticking your toe in the water, you are going to have to swim. Talk to your stakeholders. You are supposed to be doing Discovery. There should be no need to stop at High-Level when the client wants their system documented, not their general intent. The Business Case will do enough towards that end. High-Level Requirements are, in a way, cowardly.

There is a major caveat here; when involving third party consultants, it may be very beneficial to have them draw up High-Level Requirements. Ideally, this would not be the case, but reality is that even the most well-respected consultants sometimes get it all wrong. What I object to is a *deliverable* consisting of High-Level Requirements that carries a price tag.

I know I may be alone in thinking this, but that’s okay. I simply do not see the point in wishy-washy Requirements and timid documentation. We are here to build systems and to earn our money. We are not here to create artificial deliverables or Requirements. Project Management and Business Analysis get a bad rap as it is. I cannot tell you how many IT professionals I have encountered that consider Project Management a pseudo-skill, a collection of soft skills, a discipline without metrics to gauge its efficiency.

PMs can be the people that make or break the simplest and the most ambitious projects. Act with Boldness. Roll your sleeves up and get involved in your projects.

A little venting, today. :)

System Requirements probably need to start at a High Level, but they are not worth much of anything until you drill down a bit. Functional Requirements at a High Level are just a collection of generalizations and broad swipes at meaning. Consultants and professionals have no business billing for the delivery of a High Level document. They can be called Roadmaps, Development Guides, or masquerade as Statements of Work that trap the client and provide the consultant with carte blanche. They are bad news and bad business, in my opinion. All too often they are “Get Out of Jail Free” cards for unsavory consultants. You sign off, because they are accurate, but then the consultant is only bound to the High Level. Big deal. They may not present you with anything else to sign off on besides the Statement of Work and Contract. Be sure you know what you have coming in regard to documentation. Documentation may be all you have to fall back on.

That said, if the MoSCoW approach is to be taken to heart, it should be a guideline and not a rule. In my opinion, as of today.

Best,

Josh Milane

MIT Technical, Boston

Introducing Scrummy Practices

A friend of mine has a Client that is quite unique, and he is viewing it as a rare opportunity to see how different techniques in regard to software development resonate where there is no prejudice aside from repetition of what exists – and in this case, what exists is chaos. There are no processes in place, but knowing process, you can see where some of the pain points are before you even talk to the team members. The Client has product owners (without the title or formal role) tell project managers (who are really project coordinators) what they need – which is sometimes in sharp contrast to what the project or the end user needs. There is no analysis or discovery beyond note-taking. The project managers hold meetings and read their notes to the development team. Of course, a lot is lost in translation, and the features that need to be built are generally communicated in a way that leaves much to interpret. The developers go off, build what they think they are supposed to, and deliver it to some very unhappy stakeholders (who, even if the developers had nailed the original requirements, usually changed said requirements several dozen times since inception).

These are smart people who work for the Client. They simply have done what a lot of smallish business do: grow quickly and make whatever adjustments they need to in order to get the job done and the project out the door. Reuse, extensibility, etc., are not immediate concerns and documentation would be futile.

The first challenge – or the most obvious one – is positing team members so that their role is defined. For instance, the aforementioned product owner is only the product owner because they have veto power, and their nod grants. However, they do not carry the responsibilty of nodding, and they do not act as the decision maker until they are personally interested. Any member of the team who is of sufficient title can change a project direction without consideration to repercussions, timeline, budget, or scope and the project managers are left to try and figure it out. It is the absence of process. It is chaos. Now, over time most of these things land *somewhere* and the corporate culture sees that *somewhere* as the end result. That also has to change. It is obvious that a simple team structure with simple processes such as iterations, sign off on feature sets, prioritization, and empowering the product owner by involving them more instead of giving the illusion of power by allowing them to be removed would be helpful. And this is not even getting into the development process, which is in dire need of help.

Will update you as I interact with the team more and introduce some classic techniques as well as some more “edgy” techniques/methods. I suspect they are only edgy because they are not well established, but it will be interesting to see how a team devoid of PM education takes these different suggestions.

Until next time, thanks for reading.

Josh

MOSS (SharePoint 2007) and 508 Compliance, Accessibility Standards

I will write more about this later, but I am putting it up now as much (or more) as a reference for myself as a post that may help folks. MOSS 2007 is an improvement to SPS 2003 in regard to Compliance, and this is a very handy chart for those of you concerned with being compliant.

Support Open Source!  Or at least, please support Compliance

Specifics on 508 Compliance can be found at the Section 508 Website

Specifics on W3C Compliance can be found at the W3C Website

It is interesting or at least noteworthy that the W3C standards and not the same as 508 Standards. The W3C standards are more rigorous, so the argument goes that if you follow their guidelines and CYA in regard to what they have put forth, you will be okay with 508. I will look into this further.

The following chart was lifted from: www.chandima.net with regrettable impunity:

    SPS2003 MOSS2007 Notes
1.1 Does each graphic have text to display as an alternative to the graphic? Yes, with customisation Yes  
1.2 Is the alternate text for each image relevant to the context in which the image is viewed? Yes, with customisation Yes  
1.3 Are graphics that are used only for decorative purposes commented with ALT=”"? Yes, with customisation Yes  
1.4 Is the alternate text for each image no more than 60 characters long? Yes, with customisation Yes  
1.5 Are all comments that are linked to clickable areas of a MAP image relevant? N/A N/A  
1.6 Is the alternate content for each text image at least the equivalent of the text appearing in the image? Yes, with customisation Yes  
1.7 Do all images that require a detailed description provide comment text? Yes, with customisation Yes, with customisation  
1.8 If a detailed description is provided for an image, is the content relevant? Yes, with customisation Yes, with customisation  
1.9 Does the text used in the ALT attribute for each image provide the function of the link? Yes, with customisation Yes  
2.1 Does each frame have a NAME attribute? N/A N/A Iframes not used for core solution
2.2 Are the names assigned to frames relevant? N/A N/A  
2.3 Is there a NOFRAME tag? N/A N/A  
2.4 Is the content of the NOFRAME tag relevant? N/A N/A  
2.5 Does each frame have a TITLE attribute? N/A N/A  
2.6 Is the content of the TITLE attribute relevant? N/A N/A  
2.7 Does each page have a maximum of three frames? N/A N/A  
2.8 When frames are used, is scrolling automatic? N/A N/A  
3.1 Is information provided by color still readable when colors are disabled? Yes Yes  
3.2 Is there enough contrast between colors to be distinguishable by users who have impaired color vision? Yes, with customisation Yes  
4.1 Can the information that is conveyed by multimedia be provided another way? Yes Yes  
4.2 Is the Multimedia content synchronized with the alternate support? Yes, 3rd Party tool needed Yes, 3rd Party Tool needed  
5.1 Is the SUMMARY attribute present and relevant? No Yes  
5.2 In a data table, does the CAPTION tag provide the title of the table? Yes, with exceptions Yes  
5.3 In data tables, are the column headers appropriate? Yes, with exceptions Yes  
5.4 In a data table, does a HEADERS attribute link to each of the data cells in the table? Yes, with exceptions Yes  
5.5 Is the content in formatted tables in correct sequence? No Yes  
6.1 Are Link titles no more than 80 characters long? Yes Yes  
6.2 Are links explicit enough? Yes Yes  
6.3 Is the TITLE attribute used, if required, and is it no more than 80 characters long? Yes Yes  
6.4 Does the TITLE attribute provide more information about the link than the link title itself? Yes Yes  
6.5 Do all identical link titles lead to the same target? Yes Yes  
7.1 If a script requires alternate text to make it accessible, is the information provided by the alternate text equivalent to the information provided by the script? No Yes More Accessible Mode option
7.2 Can actions be performed even if the peripheral for which they were designed is disabled? No Yes More Accessible Mode option
8.1 Is the DOCTYPE tag present at the beginning of the page source code? No, not by default No, not by default  
8.2 Is the LANG attribute present at the beginning of the page source code to clearly identify the language used? No, not by default No, not by default  
8.3 Is there a TITLE tag in the page header? Yes Yes  
8.4 Is the content of the TITLE tag explicit? Yes Yes  
8.5 Is the content of the TITLE tag different from one page to the next? Yes Yes  
8.6 Are language changes on a page indicated? No N/A multi-language support now part of MOSS 2007
9.1 Is information structured consistently for the general context of the site? Yes Yes  
9.2 Is the Web page presented in a consistent fashion? No Yes  
10.1 Is page content separated from content introduction? Yes Yes  
10.2 If style sheets are disabled, is the information still accessible? Yes Yes  
10.3 If style sheets are disabled, is the order in which information appears the same as initially defined? Yes Yes Improved
11.1 Are the LABEL tag and its corresponding attributes (ID, FOR) present? No, not by default No, not by default  
11.2 In a form, is the SUBMIT button relevant? Yes, with customisation Yes  
11.3 Is the data entry control in online forms accessible? Yes Yes  
12.1 Is the main navigation menu on the Web site located in the same place on all pages? Yes, with customisation Yes Improved with MAM
12.2 If keyboard shortcuts are defined for the site, are they active on the page? Yes Yes  
13.1 Can the user control screen refresh? Yes Yes  
13.2 If the user is automatically redirected, is it without using a script? N/A N/A  
13.3 Is a Web site visitor alerted when new windows appear? No Yes  
13.4 Is there an alternative to scripts for opening new windows? No Yes More Accessible Mode option
13.5 Is additional information available to describe files that can be downloaded from the Web site? Yes Yes  
13.6 Does the specific presentation or layout of information interfere with the ability to access its content? Yes Yes More Accessible Mode option

Josh Milane

MIT Technical, Boston

Requirements, Risks, UnOffical Projects, and Pricey SharePoint Consultants.

This has been a challenge. I am involved with a 2 million dollar project that is under tremendous time constraints. The project itself is a MOSS (SharePoint 2007) project, and it is very stressful because of a variety of reasons. Let me enumerate some of them, if only to vent.

  1. This is not really a SharePoint project. SharePoint vendors were solicited, came in, did a good job at convincing people, and maintained momentum. They did a great job. The company hiring them might not have done a great job.
  2. The PMO in place at this organization was led by a person who did not know what a Use Case or Risk Assessment Document was. I did not know this when I came on as a consultant and was in fact told that there was a brand new methodology in place. I saw it, on paper. It looked like a cross between RUP and something custom (that I assumed was related to Health Care project milestones – since this is a Health Care company). I should have asked more questions, but the truth is, I like this organization and believe in what they do. Whatever the state of their PMO, I want to be involved.
  3. A methodology on paper is very very VERY different from a methodology that has been accepted by the organization and is understood. We have this paper methodology, but there is very little understanding of the WHY.
  4. This project involved building a system. A big System. The system should be capable of producing templatized “child” websites that share a common feature base but can have these features turned on/off and be able to receive totally custom modules when called for. It should also incorporate workflow management, document management, and CMS-related functionality. The team decided upon SharePoint 2007 before I came aboard. I did not know that
    • There was no official signoff on SharePoint
    • No Risk Assessment had been done
    • No Cost Analysis had been done
    • No forecasting had been done in terms of cost or staff or technology
    • Although meetings were taking place and money was being spent on this project, it has yet to be signed off on. There is no Project Charter. Not even a Statement of Work.
  5. Development and Scoping of this system has been outsourced. The theory (the incorrect theory) was that it made sense to have MOSS specialists do the Requirements Documentation. The outsourced agency has spent 2 days on-site and come up with a “High-Level Requirements Document.” This document has cost the company $20k. It will reveal nothing we do not already know. The consulting company has ignored internal documentation regarding the “child sites” and has instead focused MOSS. Here is a typical conversation:

Us: “We want the breadcrumbs to reflect their MySite at the top level, and we want content to open within the body of the MySite page.”

Them: “Well, you can’t do it quite like that. Let me tell you how SharePoint does it, and why it’s really better this way…”

Us: “Okay, well… let’s run this past Design, Bill, Sarah, Ed, Development…”

So of course, this MOSS spec is being built by an outsourced agency while we run around internally and have meetings to see if we want them to do what they are already *doing*

There are several obvious problems here. Early on, I raised the issue of a Risk Assessment. I was told that we needed to wait until the system was scoped. I persisted, saying there were risks inherent in the technology and the engagement with the consultant as well as the definition of the project as a whole and the fact that there was no Project Charter, Communications Matrix, or even internal Project Code. T

Now, $60k has been spent on a SharePoint 2007 document. Not a Requirements Document. They have produced a proposal, and we have paid for it – which is fine and dandy, but it is a proposal for a MOSS solution, not a technical solution. It is not a PORTABLE Requirements Document. It is a very high level SharePoint blueprint.

The platform and child sites must be up and running by February.

What I have forgotten (and this is a bad thing) is that everything the consulting company stipulates that is dependant upon a specific techology begs an Assumption that needs to be documented. It seems like an awful lot of work has been created by going down this path. Not only is our documentation biased, it is unsupported and requires more documentation. Lots more documentation. Makes you ask, “Why do we do all this documentation?”

At some point, it is a matter of CYA, yes.

But documentation is supposed to be USEFUL. It is supposed to have UTILITY. If people create documents and the documents are not scrutinized, used to make business decisions, used to shape solutions, or used in some way, the PM/BA is wasting their time. This consulting company is creating a lot of wasted time. Time would be better spent doing real discovery, real Requirements Definition for the “child” sites, real analysis upon common features, the deltas between them, and real cost/benefit analysis. Earned Value Analysis. Present Cost Analysis. Common Sense Analysis. This all should have been done a long time ago, and yes – so what, it isnt done… do it now. However, there isn’t enough time. There isn’t enough time to do this project correctly. A major deliverable – the completed platform and child sites – is Feb 1, 2008. That is 6 months away.

So this is about damage control as much as it is about being hyper-aware of this road we have chosen and the obstacles, costs, and other gremlins that lie in wait.

This post was a venting session and I don’t expect people to get much value from it.

As I said, I am being utilized as a technical consultant on this project. I am to ensure that the PM is covering herself in regard to the technology aspects of the project.

We will be okay. It will just take a lot of hard work, intense conversations, and long nights of me writing dot notated documents and forcing people to sign off on them before the consultants build *anything*.
:)

Josh Milane

MIT Technical, Boston

FOAF Yourself – RDF style

I just realized that with all the talk I do – in public and private – about the Semantic Web, I dont even have a link to the Foaf-A-Matic project on my blog.

This was an oversight on my part, as was the fact that I never linked to my FOAF file.

Also an oversight; a link to a particularly good explanation of RDF.

I will give my goofy version of what all this means in a future post. For now, it may be prudent to go to Foaf-A-Matic and get yourself a FOAF file. Place it in the root directory of your site. Pascal’s Wager states that it is better to live as though there is a God and be wrong than it is to live as though there is no God and be wrong.

Deciding to make your FOAF file and plant it now is like this. Better to FOAF than not to FOAF. Plant your seed in the Semantic Web nice and early. I truly believe that the future of the internet lies in the realization of some of the principles behind the Semantic Web, and I see a future where multiple internets, arranged and organized according to personal preference. We are in the midst of a push towards a collaborative internet (Support Open Source!) and a movement towards shared knowledge. By cooperating with each other, we gain freedon. To follow along this path and simultaneously present only a singular structure for data seems a bit odd to me. I should be able to have the internet reflect my interests. I want data organized in a way that best benefits me.

Oddly enough, we can work together in order to achieve the end goal of custom experiences online.
If you are a techie and work with XML, a search for SOAP would return detail about an XML schema before it returned something about glycerin-based cleaning products. If you lived in Boston and searched for pizza, you would see the local places before you saw Pizza King’s Pizza Palace in Pizza, NY. If you were into 80′s music, a search for Poison would bring back sites about the hair band before it told you about strychnine.

Isn’t this the way is should be? Poison

It is coming. I say that we are better off acting as though there will be a Semantic Web than we are acting as though there will not be. Worst case scenario, we have done some really super-cool work with ontologies and embarked upon a borderline metaphysical effort to bridge the gap between meaning, philosophy, and technology. It’s neat stuff. I get carried away with it, but it is truly the addition of another dimension to the internet. Web 2.0 is a joke to many people. Web 3.0 will not be. It wont be about people connecting to people, it will be about making the internet intelligent. Amazing stuff.

But now, fair reader, I have to run and do some Requirements Documentation. We have engaged a consulting firm to build a Requirements Document for a MOSS implementation that has not undergone a complete Discovery phase. Too late to put the breaks on? I don’ t know. I think so, but it is not my call. Interestingly enough, the person who should have made that call was let go today.

Also interesting, the consulting company calls this engagement a Roadmap Engagement, and counts among their deliverables a “high-level Requirements Document.” What does this mean? Whatever they want it to. Have to watch them. I often find myself in this position, and I am happy to watch so my client does not get bled dry. I am doing Discovery and making sure that the MOSS Requirements do not dictate our system. I want the Requirements to do that, and if MOSS can be the software that is used, fantastic. From what I have seen, it has some amazing business intelligence features. I am not sure I am completely sold on the fact that it is easily renders public-facing websites with branding possibilities that do not cost tremendous amounts of money. I am also not sold on the idea that it can be easily turned into something that a casual web user would know how to use without guidance. We will see.

I have work to do.
:)

Best,

Josh Milane

MIT Technical, Boston

Addressing Concerns with MOSS and Compliance

I was pleased to read about AccRepair, a product by New Hampshire-based HiSoftware. SharePoint 2007 is a powerful tool, but I am forever interested in adhering to standards and in compliance issues, 508-related and other.

Because there is so much compiling and dynamic page generation happening from within MOSS, the code can be less than crisp. For most people, this will not be an issue. It will not affect performance and it may affect Search Engine System indexing, but the extent to which it would be affected is not clear. The issue resonates most strongly with those who are working on government contracts, grants, or creating sites that positively must be accessable by the impaired.

The tool itself has been designed to work with SharePoint Designer, and contains OOTB 508, W3C, and other compliance tests for your MOSS sites.

This is great news, because it allows developers to include compliance testing in their normal QA processes. I have not seen the tool in action yet, and I do not know if it contains any knowledge base in regard to fixing whatever issues it may uncover, but the fact that it even pinpoints issues is very promising to me. If you have the chance to use the software, I would welcome your feedback and review.

This is a step in the right direction, and I am happy to see someone fill the need for a MOSS-oriented compliance tool that can be integrated within the development environment.

Best,

Josh Milane

MIT Technical, Boston

SEO Basics Part II – MIT Technical, Boston

SEO is about content and utility. That is the number one lesson that I have learned, through years of hoping that is was about something cool or intensely technical. I would like to be able to say that there is a direct and pragmatic science that can guide your every SEO effort. There is not. If there was, you can bet that someone would have written up a piece of software to write your site for you and code everything exactly as optimal. However, there are specific, proven techniques (and tools such as Overture and the Google Toolbar) that have dramatic effect. Through experience you can learn what works for your site.

You will do ongoing analysis and tweaking. You might want to install something like WebTrends if you dont already have it installed, so you can keep track of where your visitors are coming from. A bot needs to index your content and your site needs to have some usefulness inherent in it so inbound links will be generated organically. I mention this early on because it is something that you can do, right away, to help establish your baseline. An important part of your SEO efforts will be analysing your traffic and inbound links. It is an ongoing process that requires a degree of patience and a mind that appreciates the fact that SEO is as much art as science. Organic links will come, if you build a useful site.

Yeah, I often wonder about the whole “organic” thing myself when it comes to technology. I thought that organic implied “of the Earth” but I guess it means “natural” more than anything else. I hate to think that humankind thinks all this technology is anything but a tool, although in some ways it is an extension of ourselves. It is interesting how viral marketing and organic results work. It is almost creepy, the way the internet has grown and adapted. It is certainly compelling. If you want to see a fantastic example of how useful the overlap between community and technology can be, a site like Yelp or Instructables are good places to start. Soon, the Semantic Web will change the way the world learns and catalogs information. Please don’t sign up with Faceb00k (no link for them). It’s owner, Little Zuckerman, is a real ass, although a pretty saavy ass.

That was a slightly tangential diatribe. I apologize.

Anyhow, back to business. A ‘bot will attempt to ascertain what a page and a site is about and how it is organized. This is an extremely complicated and secretive business that holds very close to it’s core the concept of keywords and keyword combinations. Google uses carefully guarded algorithms to do its indexing, but they have only obviated the importance of keywords. Keywords have been a hot topic in SEO since it’s inception. The search engine systems are aware of various “Black Hat” strategies that webmasters use to artificially make their site look more important than it is. Gateway pages, redirects, embedding either tiny keywords or keywords in the same color as the page’s background are too risky to use nowadays. I would have no problem leveraging whatever I could – within reason – to help a client achieve their goals, but doing something unethical is just too risky. If you get your site blacklisted, it is darn near impossible to get off of that list and become accepted again. Google is too busy to go out of their way for you when you have shown that you actively try to get around the rules they have set. Behave thyself. It is a bit more work, but it pays off in the end.

Google also knows that if someone searches on a specific keyword combination, such as “Boston SEO”,pages with that exact phrase in them are likely to be most relevant. However, pages with those two words in very close proximity, like “MIT Technical does the best SEO in Boston”, and also pages with those two words in looser proximity might be perfectly relevant and useful to the user. A keyword combination, or phrase, can be and is broken down into its component words. That is why if you search for “SEO Bahston” it may ask you if you mean “SEO Boston”. It isn’t that it understands the way we speak in these here parts, it is that there is a bit of intelligence behind the curtain. As webmasters, we can take advantage of that and avoid having to accomodate for misspellings on our pages.

The exact mechanisms that Google uses to determine which of its indexed pages are returned at the top of the list is a trade secret. Even if you found out what it was, you’d be in a boatload of trouble if you told anyone. It changes with fair regularity anyhow, and by the time you figured it out it would have changed. Certain things do not change, however, and these are our guiding principles of SEO. The first is that you need useful content that contains keywords and is visible to the ‘bots. Yes, that is a compound principle.

Another principle is that you want to be the site that is returned towards the top of the list. The vast majority of people searching on a given search term will click one of the top three results that Google or another search engine system returns to them, even though you may have noticed that they are not the best. Majority rules, and the top three spots are coveted positions. Competition is fierce, and the more you or your SEO consultant knows, the more SEO is considered a priority early on, and the more keyword analysis (really part of SEO) you do, the better off you are. Remember what GI Joe said.

 

SEO Joe

SEO Joe?

 

You might find that your most obvious keywords are also extremely competitive. You might be better off going with keywords that are a little less frequently searched, but have significantly less competition. I will get into this a little later.

Keywords will help drive the bots to properly index your pages. Inbound links will help to properly increase your PageRank (Google’s way of determining how worthy your site is of a high ranking).

Interestingly enough, Google’s PageRank system, as developed by two brainy types at Stanford, is public knowledge because it was Patented:

Read the patent for Google PageRank here

Or take a look at this depiction of how Google PageRank works and prepare for a mind-splitting headache

Of course, Google makes everything (even mathematical madness) cutsey and user-friendly, so you may prefer their explanation of PageRank, as intended for people without a PdD in Mathematics:

 

Google Pagerank

 

There you go. Happy balls of color, pointing their finger at each other. These happy balls are casting “votes” for each other and telling Google who is important and deserves a high ranking (of course, besides the folks who bought theirs). This might be a good time to go into a little more detail about PageRank, but I only want to touch on it here. For now, just note the size of the balls and the number of fingers pointing at them. It is a pretty good little summation of PageRank.

We must first come to master keywords.

It used to be that if you wrote the word “carrots” a thousand times on your page, your site would be rank highly for the keyword “carrot”. This is no longer the case. You have to play it straight now, and fortunately, if you have a substantive site, playing it straight is easy and helps you in the long run.

SEO Basics Part I – MIT Technical, Boston

A search engine “sees” your site by sending out bots (Google calls theirs Googlebot) to index and make note of the HTML pages composing the totality of the public internet. Google indexes billions and billions of pages. For every page that Google indexes, Bill Gates has about a dollar. That should give you some idea as to the enormity of the task poor little Googlebot has to carry out.

Because this is indeed such an enormous task, you want to make it as easy as possible for the ‘bots to index you effectively. There are many ways to do this, but I want to start by explaining something that many of my clients do not initially realize. After engaging the services of a Flash designer, they often groan when I explain that.

What is important to the ‘bots and search engine systems:

  • Content (HTML code)
    • Meta Tags
    • Text
    • Copy (different from plain old text because copy implies an intent to convey a message via text-based authoring)
    • Filenames
    • Links (inbound and internal, so anchor your content!)
    • ALT text (what the user will see when they place their cursor over an image)
  • Inbound hits
  • Site accessibility and compliance (a problem for many CMS and MOSS-like systems)
  • Grammar, spelling, and structure
  • A few other things, many of which are part of their secret algorythmn.

Just as importantly, they do not see:

  • Logos (Other than that there is a graphic image there)
  • Pictures (If your content is in a .jpg, it cannot be read)
  • Flash (sorry, but there are ways to address this. Have no fear.)
  • Movies
  • Multimedia
  • Good intentions

A well-optimized site will take advantage of search engine optimization techniques and keep these factors in mind. While a gorgeous Flash introduction might “wow” your customers (does it really?), search engines will not even notice and in many cases will just turn around, assuming there is nothing there for them to index.

In SEO and SEM, you must be aware of the limitations you face and the peculiar environment you are working within. You have to cater to the one who makes the decisions and calls the shots. Anyone who has had a boss they consider less than perfectly astute will understand this.

Hopefully there is some viable compromise between your ideal presentation and a presentation that will work for the search engine systems. SEO and search engine optimization may involve writing your copy a bit differently than you would if you had free creative license and were writing purely for the sake of conveying your message or talking to your customers. With optimized content, you will use keywords and carefully selected language, filenames, links to images and other files – thereby crafting a site that a search engine spider or bot will understand and appreciate. You do not have to be punctilious in your word selection, but you should at least be cognizant of the environment and do what is not painful to do.

For a demonstration on what a search engine bot view is similar to, you can download Lynx (a text-only browser) or use any one of the many Lynx emulators available online. One such emulator is at: http://www.delorie.com/web/lynxview.html – it may be suprising to you how little of your 10 second, $3000 Flash intro is being indexed. But again, I do not discourage the use of Flash. I only suggest that if people use Flash they also adhere to good SEO practice (and Web Standards) by implmenting a technique I will describe later. Although Flash does a heck of a job at conveying a message to a person, it does a really cruddy job at communicating with search engine spiders.

Sure, Flash may look fantastic and impress customers, but how are customers supposed to find your site if they do not become aware of it? Flash has its place, but many webmasters are satisfied with the visual impact of Flash and do not consider that it may be crippling their site. You can avoid the pitfalls of Flash with careful planning and an informed approach to development. Search Engine Optimization is mandatory if you are to be competitive, and it should be considered when a site is being planned instead of tacked on after the site it built. This is one of the golden rules of development, and sadly, SEO is sold as an add-on. It shouldn’t be. It has as much place in the initial Requirements Document and Design/Planning phase as anything else.

Part II of this article has already been written, and see SEO Tips for Developers for a checklist of things you can do right NOW.

Josh Milane

MIT Technical, Boston

Page 15 of 18« First...101314151617...Last »