Archive

Posts Tagged ‘IPhone’

My life in the Cloud: Workstreams and Sprints

February 18th, 2010 Frank Michael Kraft No comments

I promised to explain more about my solution for Workstreams, that I implemented in the Cloud, using Microsoft Windows Azure.

First of all I have Workstreams and Workitems that are part of the Workstreams. These can be decomposed into finer ones. Each Workitem has a status and an estimate about the remaining effort. This way I can aggregate the remaining effort for a complete Workstream.

I will explain in Webinars how I work with these. I have encountered several patterns of knowledge work, using these. I found it quite practical to define bigger goals and then to decompose these later into concrete steps. But I have encountered many more patterns of daily knowledge work than this one. I will also give a preview of the Software in the Webinars.

To each Workitem I can attach documents, pictures and notes. Thus I have all information available once I work with the Workitem. Or if I have information (e.g. an email) I ask myself: To which Workitem / Workstream does it belong to? Then I would attach it to the Workitem / Workstream and keep my email inbox clean. If I can’t attach it to a Workitem, then the email is not so important anyway. Or – of course if it is, then I would create a new Workitem first, belonging to a given Workstream.

But this was not enough. I wanted to keep under control until when I would have to complete what. Instead of maintaining a completion date for all 2.000+ Workitems (which would be out of date very soon) I defined Sprints – i.e. milestones with a predefined date. I assigned Workitems to these Sprints as I found feasible. This way I am able to see the remaining work for each Sprint. This is the only kind of “order” I give to my Workitems. Other than this, they are not ordered – so I don’t have to maintain too much unnecessary information as with other project tools that I know. This lets me be flexible and agile.

You might ask how I aggregate the remaining work for Sprints, if hierarchical Workitems are assigned to different Sprints. Well – I have solved this.

Then I was able to create Analytics for the progress of my work. I am able to visualize the remaining work of my Sprints as time progresses. This is my Burndown Diagram.

As time progresses I see how much I still have to do, and how successful I was to burn down the remaining work for the next Sprints and in whole. Of course, new work is added as well. Sometimes existing work is moved to another Sprint or a new Sprint is created and existing Work is assigned.

Do I feel I have my work under control? Yes. Is it flexible enough to adapt the plan to unplanned events? Sure. Is the could implementation an advantage or a disadvantage? I found it to be an advantage. I have access to the information wherever I am where there is a Computer or with my iPhone. Think of the famous new iPad – it fits perfectly.

Until today I am using this Workstream Platform all on my own. Later this year I am planning to use it as a collaboration platform, inviting others to work with me. Then the cloud implementation will play out its full strength.

  • Share/Bookmark

My life in the Cloud: Going Azure

January 27th, 2010 Frank Michael Kraft No comments

I wanted to continue the discussion about my goals management that I started in salesforce.com. The problem was that the data structure did not fit my needs so well and that I wanted to implement business functionality – i.e. aggregation of remaining effort, but I did not want to invest too much into learning APEX, the salesforce.com proprietary programming language. I could, but I thought why live with the limitations of the platform, if I could try to build my own cloud platform? Maybe later I come back to salesforce.com, but for now I want to try Microsoft Windows Azure.

To quickly wrap it up: It was a good decision. I have built 9 Business Objects in the meanwhile of which the first one was the most difficult obviously. The others quite naturally follow. These are as of now: Workitem, Sprint, Book, Attachment, Note, Payment, Regular Payment, Statement, Transaction. Furthermore I have added Analytical Objects for the purpose of analyzing the Business Objects. I will explain by and by what they do. I will not explain the programming model and architecture of Microsoft Windows Azure in detail. You can inform yourself in public sources, if you want. The UI is HTML – so it’s not worse than salesforce.com. Plus I have added some diagrams in Microsoft Silverlight.

I was able to quickly implement the business logic, that I wanted to have. The programming language I use is C#, which I like. After implementation you press a button (ok, three, four) and then the application is running live in the cloud. It’s just so easy, lean and clean.

So the first Business Object I implemented is the Workitem. In salesforce.com I called it Goal – I am still a little bit indecisive how to call it. I can say so far that it is different from all other Workitems or Tasks that I happen to know. I asked myself what I need for my daily work. My work is that of a Knowledge Worker. It is in good part unpredictable, but not unrelated. Also it is not unplanned. And it has clear goals and a clear purpose. So for this requirement I tailored this Business Object Workitem and I worked with it for many weeks now. I have worked now with at least 3000 instances of it and I am more happy with it than with any other task or project tool that I used so far. I have my work under control now, notwithstanding the fact that many unpredicted events occurred and adaptations of the plan were either necessary or chosen by me.

And: It is served in the cloud. Obviously this means that I can access it from every computer with a browser, which I regularly do. Recently I was in a shop and wanted to buy a memory extension. I did not remember the model. So I asked, if I could quickly use the computer, logged into my Platform and looked it up. Just as easy. In other instances I just pulled out my iPhone, logged into my Platform – using the standard browser, and edited some workitems. I did not even have to write an iPhone App for this. Although I might in the future.

What did I do with the old workitems/goal instances that I had already created in salesforce.com including attachments and notes? Within two days I migrated them completely into my Azure Workstream Platform. How? Salesforce.com offers web services to read the content. So I pulled out the Web Service Description (WSDL) from my salesforce application – which as we remember were custom objects – into Microsoft Visual Studio, generated WebService Proxies for that, mapped them into my Business Object Structure and then pulled the content over. That’s it. From that point on I as productive in my own Azure Workstream Platform. And I am until today.

I will explain more about the functionality of the Business Objects, that I created, soon.

  • Share/Bookmark

My life in the Cloud – My Goals Management

December 3rd, 2009 Frank Michael Kraft No comments

I always had the problem of how to manage my tasks. Outlook Tasks? If you have more than 100 – that makes no sense. If they are structured? I tried MS Project. But MS Project demands too much structure as of my taste. Furthermore there is always this problem of: You have a file on your PC that you can only open with this one program: MS Project only on your PC. How often had I to re-install MS Project?

Well – I thought I would go to the cloud. I logged in force.com and defined my own Business Object “Goal”. That for me was the better term than Workitem, because I think it is more important what to reach instead of what to do (and probably reach nothing at all). That helps me to keep focus. It is a constant reminder to me not just to do things, but always to ask: Why? What do I want to reach, if I am doing this and that – or just not do it.

I defined the “Goal” Business Object. I wanted to make it hierarchical with subgoals. However this is not possible with force.com. You can only have a two level hierarchy  of business object – like invoice header and invoice item. And you can not define the hierarchy within the same object (goal – subgoal = goal). Strange. What you can do however is to define a relationship of a goal to another goal and call it “subgoal”. This still gives me the usability I need. I get a subgoal create partition in the goal screen and I can navigate to the supergoal (after I have defined the field). So all seems fine? No. If I delete a supergoal I would expect, that subgoals are also deleted. Not so with that type of relationship.But in practice I can live with it, because I am not deleting Goals so often anyway, because I work with a status which is manually set. I keep the completed goals for reference purposes. More than once it happend to me that I asked myself: How did I do that three weeks ago? This and that proceture (e.g. installation of something – to a second computer). Then I was happy that I could just select the old goal and look into the detailed descriptions. The only thing that I am missing here is the same thing as with the missing deletion function: The deep copy is also not possible – i.e. to copy a goal with all of its subgoals, so that I can use it with a fresh status. For this coding  would have to be done – and I was not willing to learn APEX – the force.com programming language – at this stage. I’d rather live with the compromise.

My Goals in Force.com

So after a little bit of trying I was able to create my goals and subgoals, attach notes, attach files, attach tasks (which I did not really use), manage the status of them, prioritize them, even create relationships to other force.com business objects like opportunity, and search and create my own selections and reports. That was better than any tool that I had used before. And I could access it from everywhere – which I actually needed. I can access it with iPhone as well, even though the salesforce client does not support custom business objects (like my “Goal”). So I have to use the browser. This is not so user friendly, but possible.

In the meanwhile I created about 1.500 goals all in all, most of them subgoals and sub-sub goals. I could work quite well until I thought: How much work do I actually have to do? So I added the field “Remaining Days” and “Remaining Hours” for the Remaining Effort (I tend to keep it simple). This is an absolutely great feature: Add a field on the fly with an existing database and use it right away. However what I wanted of course was to aggregate the effort of subgoals and sub-sub goals to the supergoal – but depending on the status (not count completed ones). So I was at the point again of learning APEX or not. I had a look over it, but I thought: Why should I learn the proprietary APEX and then live with the limitations of the platform (e.g. only two level business objects)? How I resolved this situation I will report in another post.

  • Share/Bookmark
Categories: Cloud Tags: , , ,