piątek, 21 marca 2008

Microsoft Solution Framework - tips and tricks

I have refreshed lastly my knowledge about the MSF. I have looked backward and deep into my soul and here there is a short list of my private suggestions if you think about going into the direction...

Choose carefully MSF3 or MSF4
There is quite a big twist in Microsoft approach to the MSF lastly. When MSF3 is the loose set of good practices written on paper, MSF4 is their implementation within VSTS... some people say even that MSF has been monetized. MSF4 defines two main templates and guidance - MSF for Agile and for CMMI. There is an option to define your own process with Template Editor, but that is not an easy process.
In general...

  • Option 1 - If you have small team and you want easily customize the process - MSF3 will be a good choice and set of VS Pro licenses will be fine.
  • Option 2 - If you work within big corporation, in distributed geographically team, keeping a standard is a problem... you may think about MSF4 and convincing stakeholders to spend a lot of $ for VSTS installation (that is not just about buying licenses - you have servers, administrators, infrastructure - all the heave equipment).

BTW, if you are in second option and you works with open technology, you need to consider RUP and Eclipse from IBM. There funny thing to write but in first option you may do .Net projects with RUP and you may do J2EE projects with MSF, even when MSF+Visual Studio belongs to Microsoft and RUP+Eclipse belongs to IBM.

Do not be religious
You just read what MSF is about, you are very excited... Lets rock, lets put it into play...
No, no... Hold on for a sec... go for vacation... Chill down...
Whatever you do, does not do it because the paper says so. MSF is just the tool to realize the goals. Which goals? What do you want to achieve? Whatever you do, does not forget that you are about improving things.

Introduce Framework step-by-step
Anayze the current status! Do you have some well working processes? Take care about them and protect them. Do not hesitate to customize MSF, so old-well-working things stays where they are.

If something works wrong, indentify 1-3 the biggest problems and solve them using particular mechanisms from MSF. Daily builds, bug triage, zero bug bounce - these are the good candidates at the beginning... Does it work? Do people like it? It is MSF... Lets start the new project with 5 phases, but if there is project manager in Prince2 meaning, do not hestiate to unite Program and Product manager role if that is necessary.

Team model in practise
Team model in MSF is quite unique and white paper says that each role has to work in each phase. That is not totally true. Release Management comes into play rather in the final phases. Keep in touch with the guy, but does not insist on having him at each meeting and 100% engaged into the project at any stage.

The other story is User Experience fellow. The main problem is, that there is so little people with this profile on the market. In practice very often the role is taken by business analist... and that is fine. In similar way the Program Manager role is often classic Project manager and Product Manager is Sponsor of the project. As far as it works... lets leave it ;)

Use trade-offs
Trade off theory has helped me often in practise to leverage new requirements and staying assertive - nothing is for free!

- Of course we can add the functionality! What do I get in return? Extra time or person? When he will be on the board? In 2 months? Ok... When he is on board we will analyze the new functionality ;)

In very taugh times you may mention fourth dimension - quality; triangle story extended to tetrahedron (three sided piramid)...

- I may agree to add new functionality, within the same timeframe and resources, but you must approve to me on paper that you accept lower quality of the final product.

... Yes, that is just the intelectual trip ;)

>Keep the balance between the phases
If envisioning took 1 week, the planning will probably take around 1 month. If during planning you have done all the key Proof of Concepts in code, you may close the developing phase in next 1 month. Stabilizing will the next 1 month and Deployment about 1 week.

For example... It is quite common error, that when things goes wrong the stabilization time is cut off. The effect? The same time doubled or tripled is spent during Deployment. That is a dark side of Project Management that in crasis, the taught situation must be faced and not just postponed.

If you prepare the schedule in planning phase, do not expect that you will be able to close 3 next phases in 2 months and 1 week, if getting to the point since the beginnig of the project took you over 2 months - there are some exceptional situation, but at least look in the mirror and answer yourself where these exceptions truely are.

Use bug triage
I bet my surname domain on the short setence - BUG TRIAGE WORKS!

Things, which are not monitored once per a time, go into the chaos stage. Let's face it - reparing bugs is boring and painful work to do for developers. Everybody knows it. Anyway it must be done though, in the same way how you must clean your flat (at least once per a while). Project Manager must be sometimes a mommy who says: "Sweetheart... Clean your room tommorow, ok?" or "When finally you will put these dirty socks into this damm wardrobe!" :D

Having whichever Bug Tracking System (excel / customized open source project / customized SharePoint poratl with lists / commercial product / VSTS ) is at great help - anybody may quickly see what happens with bug #645.

- Hey Bart! Our CEO has looked today in our BTS and he has asked about this problem with dockable windows. Can you add him some comment about #645 and send him a link?

...and this is it - you definitely will not loos by knowing what MSF is about ;)

piątek, 7 marca 2008

Heroes happen here - {in Warsaw}

Mood: Too much paper work, too much organizational stress, but... finally weekend incoming

Yesterday (6.III) I have attended to MS conference Heroes Happen Here in Warsaw, which was sold as countrywide premiership of Windows 2008, VS 2008 & SQL Server 2008. It happened 7 days after the premier in LA (27.II), where quite a big show took a place including Steve Ballmer speech - do you prefer pictures or text from this event?

Comparing Warsaw HaHaHa to LA event or MTS 2007, it was quite modest one, but I liked it as I am not the one who screams seeing fireworks. In fact that was the Microsft&Parnters RoadShow around Poland presenting the bundle of new products. The split on admnistration and programming part was very smart and working well. MS became much better in organization of these events last years and they served quite good, standard package: hotel Gromada; 4 coffee brakes; good food, which you could eat staying in crowdy place (the only constant disadvantage); and nicely looking hostesses. The service was generally decent with one exception, which I have finally figured out - stuffy conference rooms, which made everyone sleppy, but only the technical staff could do it without a shame ;)

Hey man! Who are you? Stop to talk about logistics! The conference is about gaining the knowledge!

Yes, that is true and this is why it was a fruitful day - I had good, quick review of my knowledge about .Net Framework and 2 out 4 speeches were really good.

I must mention new MS ISV Evangelist Barłomiej Zass, who had sold MS religion in eatable way. He did not go with easy way showing just bullets, but he spend visible amount of time to prepare the real examples of "how VS 2008 makes your code shorter". Some of these samples were a little bit marketing like the new face of Unit Tests (descendant ACT was not mentioned), but most of them truely made me thinking about buying the thing, when I saw houndreds lines of code decresaing to dozens with usage of LINQ tricks. At the end there was one thing, which truely surprised me... Version Digresion- he described the versioning strategy, which set up the rules of making the build AFTER EACH check-in. Furthermore, this rigoristic approach is even tougher in some companies (luckily in US), who turns on the red lights and trumpets in open space, if some developer checked-in the wrong code, which does not compile!!! Can you imagine this? How motivating is that, to double check your changes (at least if they compile) before you check-in. Good and scary!

The 1st star of the conference was though Bartosz Pampuch from Comarch. I must admit, he is the one, who makes me beliving in polish MVPs. He taught among others the perfect answer for any architectural question - IT DEPENDS! :D The laugh was iterational :D His nice slides warmed up the audience and his great speech showed plenty of real-code situations including positives and negatives of new MS solutions. He was brave enough to show sincerly the problems when making transactions with WCF, WWF is not easy to understand and acceptable by final users (what is the story with this Properties panel? Why that is so complicated? :D) and some problems with scalability of WWF. This is why his positive feedback about .Net 3.5 was so reliable and at the end of his part, you are willing to play with "his" toys. It was very visible that this fellow has a fun working with these new technologies and he had the ability to share it with others.

And at the end I came back to my workplace... Emails, Words, Excels and other "cool" stuff... Trying so deseprately and unsuccessfully clean up my desk, so I can open for 4 hours straight at least VS 2005 ;)
web metrics