sobota, 10 listopada 2007

Marriage of Prince2 with Microsoft Solution Framework

Very often there pop-ups the question like: 'What of methodologies do you know/use?'. There is usually some smart answer like PMBoK, RUP or SCRUM, but when the question is drilled down, it appears out of the blue that there is just the set of unique practices - the mixed salad from everything what market offers and world wide web says about. There is nothing wrong with it and furthermore it is a wise strategy to collect patiently the practices, which truely works. Wise senior executives will slow down the saint paladins, who coming back from the training are trying to change the whole company into the Six Sigma or whatever else. Of course this type of change is possible, but it must be implemented incrementally and it must respect existing well-working practices, even if they do not fit to the template.

For a long period of time I have been using (or I have tried to use) the MSF and I am quite used to it. Of course, there had to be some compromises each time and it was never the pure implementation. For example just once I had the situation where there was the true separation of the project and product manager roles.

Nevertheless at my current position, there is a strong rule across the whole department to use the Prince2 methodology. This type of situation, common and strong support from top executives, does not happen often. I am currently on my learning curve of the methodology and I must admit that only things, which you do not know scares you. Furthermore, it seems to be a good fit to treat a Prince2 as a general flow of documents on higher, execuitve level, where written documents are necessary to take some serious, strategic decisions and MSF as a parallel, technological flow on a tactical level.

The main flow of the Prince2 is more-or-less as follows:
  • [DOC] Project Mandate
  • [PROC] Starting up a project (SU)
  • [DOC] Project brief
  • [PROC] Directing a project (DP)
  • [PROC] Initiating a project (IP)
  • [DOC] Project Initiation Document
  • [PROC] Directing a project (DP)
  • Stages after stage
  • [PROC] Closing a project (CP)
  • [DOC] End Project Report

DOC : Document
PROC : Process

DP is mostly about decisions of a steering committee : 'do we continue a project or not?'
There can be any number of stages, one after the other

Stage is in fact the mixture of the four processes: Controlling a stage (SG), Planning (PL), Managing Product Deliver (MP) and Managing Stage Boundaries (SB), but to simpfly these things I called the thing Stage.

The Prince2 methodology definitely causes formalization of the project, but in case of a big nterprises that is actually a good approach especially at the beginning and at the end. After the key decision is taken each stage of the project may be passed to MSF solution, where we already have the Vision phase managed and there is a time for all the remaining 4 phases – planning, development, stabilization and implementation. These are strongly technical activities, which are not in scope of Prince2. The best sample is a planning phase, which has totally different meaning. In Prince2 that is about the way how the plan is constructed: what will be delivered (products), what are the linkages between products, risk management, estimation and master plan. In MSF it should be actually called design and that is splitted on conceptual and technical planning of the architecture.


At the end of the whole project the deliverables (work packages) provided by MSF, should be checked within the Prince2 Controlling A Stage (SG) process or Closing a project (CP). This double checks that final result goes along with expected and defined within Project Initiation Document.

Assuming the business case of the big company A, which request the delivery of the big software product X and a smaller company B, which is a pure software house. The company A may use Prince2 and company B the MSF, without bigger problems in communication. Actually Prince2 itself predicts that company B may use different methodology (not Prince2) and it is a main purpose of the whole Managing Products Delivery (MP) process.

Furthermore the whole concept is not new, when we speak about Prince2 and RUP (I really found the link after writing the first version of this document) ;)

sobota, 3 listopada 2007

How to be happy?

My manifesto says that this place is a techblog, but at the end of it I have hidden the option, that under specific circumstances each or all the rules may be broken - here we are. I can not stop myself from writing you below the 10 rules of happy life wirtten by psychologist PhD Krzysztof Szymborski, which I have read in "Polityka" newspaper:

1. Do not avoid sex - inimate closeness with the other person increase our selfopinion
2. Turn off TV
3. Smile - even forced smile makes you feeling better
4. Call to a friend
5. Delight nice moments
6. Walk 2 km with a fast tempo - medium physical excercises favour the feeling of euphoria
7. Take the job, which you like and during your free time engage in social activity - became a member of choir or plant a tree in public square
8. Enjoy from what you have
9. Each day make yourself a pleasure and give yourself a time to really enjoy it
10. Each day try to make something good to somebody else

It is amazing. Pure, solid and complex, huh?
I need to implement this design pattern ;)

środa, 31 października 2007

Microsoft Business Intelligence Days

Mood: 4 free days ahead :)
Music: Smushing pumpkings, Bleeding the orchid

I have just come back from the Microsoft Business Intelligence Day. I usually do not like this type of events, as I believe that having exactly the same amount of time you may usually find more on the web. The main reason why I still force my self to move my ass off, is a willingness to meet new people or old friends ;) This time I found not only this, but also quick review of new, interesting MS product(s).

As it is easy to notice, I put some interest into SharePoint area as I do believe that it is for now one of the most promising point in whole Microsoft’s products portfolio. In the same way as an age ago they started to provide products on MS platform, they start now to provide the services basing on SharePoint+SQL Server platform; actually, services in SQL Server 2005 are visible literally ;)

SharePoint and SQL Server are somewhat high maintenance women, when we speak about hardware requirements, but there is no doubt that it is one of the best on the market, when we speak about true plug-and-play approach. That is why, I am quite sure it is a perfect shoot for standard applications and MSP market. As a bonus it provides the customers the interface, to which people are used to as it is fully compliant to the whole Office package. Sharepoint is nothing more than web collaboration extension of Office package.

There is number of interesting actions, which happens in Redmond right now about SharePoint and the most important from my perspective are:
  • Reporting Services (as the most visual of new SQL Server 2005 services) allowing you to provide quickly SQL query on the web, within the complex and out-of-the-box web platform, which includes the security mechanisms, alerts etc.
  • Excel Services – in fact the Google Spreadsheet competition ;)
  • Enterprise Project Management – the MS Project on the web finally after so many years!!! It seems also like within this product, there will appear the Project Portfolio Management bought with UMT. I hope that adoption of the product will go quicker than usage of NetIQ solutions within MOM>SCOM and smoother than incorporation of PlaceWare into NetMeeting>Microsoft Office Live Meeting.
  • Pefromance Point Server – long awaited complex web GUI for BI functionalities like budgeting (actual versus plan) process.
As you can see most of these products are nothing more and nothing less than just web, collaboration-enabled version of various MS products. Heave usage of SharePoint+SQL Server bundle is a promising trend and I am quite excited looking where it goes.

The conference was about the last bullet (PPS). I was quite sure, that I will see (as friend of mine said) the SharePoint with number of color bullets and arrows. Consider for a second SharePoint as a tree and PPS as lamps and chains. When you put is together you will get the Christmas tree ;) What my surprise was, when I saw… Proclarity! Yes, the next product, which MS bought and now they sell it under the different name with couple of additional sauces ;)

The approach is quite smart, as it is always better to buy the ready to use product than bleed producing it from the scratch or maybe the corporation is so big, that it can produce the breaking through technology only buying it with some smaller company ;) The Performance Point Server is actually relatively young product and MS officially says, that it was not sold in Poland yet! There is a living blog of development team. It consists of:
  • BizSharp – the tool which helps to plan the OLAP cubes; they does not promote the tool too strongly and treat it mostly as kind of support application; in Google, there is just 1180 findings!
  • Business Scorecard Manager – the simple, standalone application, which allows you to create in drag-and-drop way the BI reports for publishing on SharePoint pages as WebParts (when you use link, be aware that live demo is loading infinitely)
  • Proclarity Analytics – the horse power of the whole solution including desktop and web client, with all the candies like the decomposition tree, strategy map and perspective view (on-line demo under this link works smoothly; is it the metaphor of the whole solution?). It is quite visible that buying Ploclarity, MS bought also number of interesting patents ;)

It was what I took from the Tomasz Kwiatkowski (real demo!) and Paweł Borowiecki (business talk) session. Fellows tried to play cool buddies, but it turned out a little bit artificially. Luckily the content of the whole presentation was quite solid; I took out from the session clear vision, what the whole thing does and what the PPS from user perspective is. They hidden smoothly the double nature of the whole solution – it is Proclarity inclduing GUI, but it can be SharePoint also ;) I think the whole thing is still in transition phase. Under this condition, the try to charge the regular client 80k$ for about 25 clients installation (Performance Server + CALs + SQL Server with 25 CAL + consulting company for 3 months period of installation – the price for SharePoint Server, which is not included as in standard they offer free Windows SharePoint Services!) seems to be relatively high price, even after impressive demo of “ready-to-use capabilities”.

My clear vision was slightly blurred during Krisitina Kerr speech, who started to talk something about Monitoring and Planning servers being a part of the whole solution. I must admit, that even now after 15' browsing, I am a little bit lost in the whole complexity of the whole architecture, even knowing a little bit about OLAP. If it is just for implementation engineers, why to torture pure decision makers with such a level of information. BTW, plus for MS, for organizing headsets with english-polish translation; it was visible that surprisingly many people used it.

Summarizing in numbers, the whole conference was quite interesting even if there was about 60-70% percent of marketing talk cover like Monitor>Analyze>Plan flow around the Strategy bubble and just 30-40% of some real show. Only? Maybe, as much as!

90% of time was spend on presentation layer, which is definitely the coolest part and small part about the sweat and pain of collecting and clearing data (actually only Jarosław Szybiński touched that topic). I know from practice, that it is the most often the hardest part of any BI implementation (definitely not plug-and-play, regardless from how good the product would be). This I can forgive, but what I cannot forgive though, is that some sessions had the same content – it happened even once that some guy showed part of demo, which was just showed couple of hours before and it was publicly noticed!

In fact it was the only visible set-back. For such a mid size conference, it is not much and the whole thing was organized quite nicely. Year after year MS in Poland learns how to make truly social events. This time during the lunch break, they let people enter into the dark dinning room, where you had Halloween pumpkins (conference was 3 days before Helloween, which we traditionally in Poland celebrate differently from US citizens) and they left the place dark for some time; delicious ;) Also budges had interesting, modern outlook and about 83,4% of people had them attached, what I treat as a proof of acceptance ;)

The T-shirt is from Microsoft Technology Summit 2006 and budge is from the conference. I feel like MS Christmas tree commercial ;)

sobota, 27 października 2007

EPM Adventure - 1st Chapter

Mood: That is Saturday!
Music: The best videoclip ever and one of the best song

The topic of the day is to remove the EPM project. The task seems to be easy, but as some the things in real world it is not as simple as it seems.

1. Quick introduction
Within our installation of the EPM, there are three types of "projects":

A. Proposals - these are things, which you establish before the project is opened. It is very useful to plan and report the prepartion period and/or offering process etc.
B. Projects - that is a real project, with a regular project plan in MS Project
C. Actions - that is set of post-project tasks like support and/or closing things, which have not been included into the project period

The categorization has some special meaning as only Projects can have the real, advanced schedule, which you edit in MS Project. Proposals and Actions has just some simpler Web schedule editor which has limitations like you can not add two persons to one task.

2. The case

The problem is that user with "Project manager" role can easily remove his Proposal and Actions, but there are some big problems with Projects. As there appeared more and more out-of-date projects, I was willing to clean my desk up.

The first lead was saying that it is enough to change a status of the project...but the field was uneditable :(

The next lead was about finishing the work flow...but that did not change much and published projects, where still visible.

Couple of words about SharePoint workflows in here. That is truely a cool, new feature of MOSS. I strongly advice to take a second and have a look at two workflows implemented by default in EPM - acceptance and feedback collection, they truely work fine. Unfortunatelly just limited number of ready-to-use things is available for now and if you want to create some consistent, customized set of workflows you need to involve some SharePoint programmer - there is still not too many on the market.

But coming back to the main case... I had to make couple of other unsuccessful tries (like tring to remove all reources from the project, but I could not remove myself :( ), before finding out that the simplest solution is the best. It is enough just to open MS Project and right click on the project :)


3. Conclusion 1 - from administrator
And now the most funny part of the whole adventure. I came to my SharePoint administrator, told him about all my problems and my succcess. He looked at me, a little bit surprised and said...

- Well, you should be able to do something like that even with your privilleges

This short setence explains, why removing Proposals and Actions was so easy comparing to Projects. On the other hand it means that EPM has some security whole and even when the "delete projects" privillege is not added you still can do a trick from the MS Project - it is just enough to have the privillege of managing projects from that tool. How slimy bastard am I ?! :)

4. Conclusion 2 - project archivization
Just next step after I found out how to delete projects, the question has appeared how to archive the content and unfortunatelly the EPM does not provide any tool for it. If you have various type of 20-30 libraries per project and number of various documents distributed among them, lack of such a tool is quite painful. It is the next proof that EPM is quite a young solution and I hope that engineeres from Redmond will come up soon with some cool rocket science, which will allow me to do a trick with one click just for some extra 100$ in new version of EPM 2011 or 2012 ;)

5. Links
Just by the way I have found couple of nice links, which my be useful to you

niedziela, 21 października 2007

Project planning and EPM

Mood: Regular, despite it is the election day in Poland
Music: Bedshaped- Keane

Black screen. At the bottom appears the sentence written with the white, bold Verdana 18

7 years ago – Microsoft Project 2000

A manager is sitting in his cubicle and creates in silence the project plan in MS Project 2000. At the end, when he created his masterpiece (at least he thinks so :) ), he is willing to dispatch the tasks to a team. He starts the painful road of tries and dies.

1. Tasks
At the beginning he is ambitious and he wants to share the appropriate tasks to appropriate people. He notices that he can do it by emails! Wow! Great thing! He sends these… but somehow, after some time he is reported that some of the tasks does not reach the recipient, team is bitching and complaining

2. Project plan
He becomes less ambitious, so he wants simply to send everybody the whole project plan. Yes, you can do it. But the reader… must have the full, commercial installation. Bitching and complaining again.

3. Microsoft Project Central
I bet you did here about it. The solution were not too popular, despite it was quite interesting – the installation over the IIS is quite simple and the only disadvantage was a relatively not-comfortable way of browsing the whole plan, especially when it was a little bit more complicated. Bitching and complaining again.

So finally our poor manager, printed simply the plan in 5 copies and passed it manually.
Seven years passes.

Now the manager is sitting in front of the Project Web Access opened from the IE (maybe even Firefox), where the one sees, the central deck with all the flavours:
  • Schedules (personal and teammates)
  • Risks
  • Tasks
  • Status reports
  • List of projects in which we are involved
Yes, there is a difference and furthermore future seems to be promising even more.

The end
of the trailer… Let’s come back to the real life.

Since some time my company uses the Microsoft EPM Solution; I must say there is a lot of complaining in the house, that many things does not work as it should, but these are the most often some organizational / implementation problems. At the end of the road, personally I am pretty amazed by the capabilities of the system. It is still quite new version of the system, not adult yet, but it has truly great perspectives - the marriage of MS Project with SharePoint seems to be great shoot. I am pretty sure that many people on the world, looking at the screenshoots, says "Finnally". It would be actaully quite nice thing for MS commercial :)

The most important thing is to explain that EPM is not just the MS Project via Web Page, but the true implementation of the heavy weight project management methodology like Prince2 or PMBoK. It is a true Project Management Office.

Of course the tool is just a tool – you can build the chair with the hammer or kill your neighbor. If you have no common and detail vision of what you want to do with IT (whatever IT means for you :) ), you should clarify first the processes before the installation, instead of believing in the mysterious panacea for everything. There are no silver bullets – there is always the sweat and pain of the change management :)

I am just getting on the path, but I can already enlist couple of things...


Cons

  1. The solution is relatively young and not too many companies are using it
  2. There are still some small bugs like you can change the name of the project, but the portal name will not change
  3. Lack of archiving mechanisms
  4. The hardware requirements are pretty high
  5. System could be slightly quicker
  6. Administrator must know SharePoint solution in details
  7. You must have appropriate SharePoint license, which is not cheap
  8. Just couple of very simple workflows is installed and any new require coding
  9. Limited capabilities of creating a plan for Proposals and Activities on the web
  10. You still must to have couple of smart key users, who make the system living

Pros

  1. Common and nice GUI, which is truly user friendly after a while
  2. Very extensive administration/installation options and scalability
  3. Good integration with MS Project 2007 and Office 2007
  4. Focused on collaboration – discussions, alerts, white boards, lists, document libraries
  5. Wide possibilities of customizing – in fact new project runs the new SharePoint site using the template
  6. Nice idea of Proposal (before project) > Project > Activity (after project)
  7. Well-planned reporting mechanisms - eg. reporting hierarchy with accept-decline, status reports
  8. Nice workflow mechanism from user point of view - eg. Acceptance and reviews collection
  9. Possibility of creating any other SharePoint site side by EPM, when necessary like the Bug Tracking System
  10. Smart key users have the place, where they can show their talent
    (if you need more what MS Marketing says)

Before you turn on the system for users

  1. Establish the common vision of users groups, roles and privileges sets
  2. Establish the hierarchy of reporting and mechanism to control the way it works (or not)
  3. Establish the projects life cycle in the system (including projects versioning) – saying that we are Prince2 or PMBoK is not enough
  4. Establish some audit mechanisms to standardize content of the system, avoid duplication and ensure that system works well providing real data
  5. Train all users, especially key users
  6. Establish some working, feedback chain from users
  7. Avoid packing everything into EPM- if you need department site, create the separate SharePoint site
  8. Prepare for integration with the other systems
  9. Except the production environment, prepare the test system, where you can (pre)test various settings
  10. Remember that the main goal of the system is to make the life easier; it is for people and not backward

Other solutions
iPlanner
PlanView – (PlanView vs MS EPM)
Business Objects EPM XI

And at the end... EPM has actually very various meanings, but anyway I hope that at the end of the implmenetation process you will be the monkey walking on two feets :)

And couple of screenshoots (sorry for polish)...
1 - start screen with tasks, schedules, schedules to approve, status reports, problems & risks plus list of projects

2 - Schedules approval screen with filtering options and possibility to send marked elements directly to superior with a comment (at the bottom)

3 - Projects center

4 - Resources center (yellow lines are employees and green are their tasks)

5 - Your tasks list

wtorek, 16 października 2007

5 ways to produce valuable software

Mood: Regular
Music: This time instead the music - watch this!

Answering a question posted on the LinkedIn

If you truely plan to create the valuable software you must remember that your targets are...

1. Focus on the solution - fix the problem!
Joel Spolsky said once that, if you plan to make software it must fix a REAL problem - rule number. The best possible, the coolest solution will be bad, if it is just a toy. If you truly make the others life easier and customer surveys are saying that it means your product is good.

2. Focus at users - be stable, intuitive and user friendly!
The solution should behave as we expect it to behave. Whatever you say the MS Office package is quite a good sample in here (definitely 2k and 2k3). As my old IT teacher said… if your mother can install it, without a question and without the manual plus she knows how to use it after some time without cross wording – it means you are there.

3. Focus on the customer - has good value/price factor!
Of course, the best solutions are free solutions, but I guess we speak about the commercial packages. There are some articles, which are saying that there is a rule: “the barrier between 0$ and 10$ is bigger, than the one between 10$ and 100$”. That is a reason why it is sometimes better to provide the complex solution, which comparing to the other, similar things provides simply more USEFUL functionalities (1) for smaller money. Notice that most of users, use just a couple of small tools and most of them are free.
Wise price list may be a key to success. I love solutions like ZoneAlarm or AVG, which are free for private use and cheap for business.

4. Focus on fun - be cool and fresh!
LinkedIn the best sample for me – it is so easy to see if the company worked with some professional graphic / GUI expert or not J

5. Focus on community - do the they space for sharing knowledge between users, listen to them and support them
It applies also to non-web solutions; SAP has a very strong users communities. Microsoft focus less on the centralized MSDN right now and more on the communities, which supports people answering the direct questions. If the product vendor takes care about this community, it grows and helps to improve the product – that is a part of the Web 2.0 movement.
If your product is big enough, it should provide some place for plug-ins and platform for external developers to write extensions (AppExchange from SalesForce is good example).

... and this is it. So simple and so hard in the daily life, where you need work out the common vision of your product; it is so easy then to loose some or all of these focuses :)

poniedziałek, 8 października 2007

5 best ways to have the house full of bugs

Mood: Just after sex
Music: Elektrobank

There was a question on the LinkedIn "What are the Top 5 reasons that NEW applications are released to production prematurely?" and just 4000 letters to answer it! Not enough... Full answer published below...

It is quite hard to discuss with such a guru like Joeal Spolsky, who answers perfectly your question directly in the article. Anyway the life is about the challenge, so lets try to watch fellows, who causes that software is immature. They say:

1. We do not need QA!

It sound crazy, but that is true and I met it couple of times. Many software houses do not have the regular QA team! It happens not only because “we can not afford” (the number 5 on Joel’s list), but also because the decision makers believe “we do not need it”! I met once a very clever director, in a mature consulting company, who believed (despite number of my suggestions), that consultants can perfectly find all the bugs, when preparing the demonstrations and installations!

If QA exists, very often these guys are responsible for the other duties like builds, version management or configuration. I know the companies, where one tester is controlling the work done by 15 developers! Joel Spolsky says about 1 tester per 2. Gurock goes even further writing about dedicated software - one per one. In my opinion well trained programmers, who does unit tests can have 1 tester per 3 programmers, but they definitely need QA team, who is focused on testing and nothing else.

2. QA is tiring and boring!

Many people feel it inside their hearts and they are not strong enough to admit it. We are amazed by the possibilities of new technologies and so tired because of countless number of errors. Who like the messenger, who brings the bad news? Who wants to hear about hundred of the very specific situations, when the system does not behave, as it should? Why do we need to repeat the same routine (test script) again and again and again? Ooo my goodness, do you report the same error again? The damn QA team… they are the pain in my ass!

This is why many errors are hidden under the carpet, some inconvenient scenarios are omitted and test reports are so optimistic. It is so rare to hear: "Yes, that is sometimes boring, but it is necessary to do and I will not release the product without having this check list working in 100%!". I promise my QA team nothing else than sweat, pain and… support.

3. I want just demo version!

Very often the sponsors of the projects want just to feed sales forces, so they can present the amazing, break-through functionalities on the conference. The first one, the second one, then there is a first client... lets just install it only for this customer. We will do the real re-factoring later after we cash this deal. The real horsepower is irrelevant until the regular users start to report zillion of bugs and then the witch haunt starts :)

The other variant of this story is “add this, this and this functionality, and keep the quality!”. Sometimes it is simply impossible to froze the scope of the application (especially when agile methodologies are used) and then the application may truly explode with number of functionalities :)

4. Automated, unit self-testing is the panacea!

Part of many agile methodologies is the automated unit testing. Each function should have the shadow function, which automatically tests its effect. The idea is truly great, widely popularized, but even when the company says loudly that they use XP or Scrum only some functions are truly automated. Furthermore, in the situation, it is quite easy to neglect the other type of tests like integration, platform, destruction etc. Do we need it, if programmers do the tests on the lowest level?

Yes, we need them! If you do not do all these things, they will happen sooner or later unless you bankrupt before the first commercial release :)

5. Do not write papers - just test it!

If the QA team is not instructed to document the scenarios, work done, errors – they will not do it! Most of people prefer to speak than to write, to keep the knowledge than to share it. The decision of the final release must be based on hard, written information like the number of bugs per test iteration (how close are we to Zero Bug Bounce ), level of code coverage by tests, performance and security test reports plus number of the others. Feelings are not enough in this business!

QA team is paid for being a couple of steps before any user and knowing the strangest possible way of using the software (Joel’s 3rd story). If the final user is finding some unknown bug, the QA team fails . Not all bugs must be fixed, but all of them must be documented! You can do it only if you keep some reasonable level of documentation – check lists (test scenarios), bugs registry with reproduction list and statistics.



At the end I want to express quite brutally that the most often the business decision makers are responsible for these things as they take care about quality only verbally! Their declarations are not followed by real actions and investments. The regular quality reviews are neglected as the new, cool functionality or the customer behind the door is more important. Most of them are not capable to stay with Sara Ford talking at channel 9 until she gets into the lab. Yes, she is not sexy and she is boring :)

ps.
She probably can not also dance as the one on the videoclip, but she as amazing as the one :)
 
web metrics