Egyptian Developers Conference 2008 Videos Available

Emad Lotfy, a software engineer in test and fellow developer in my company, discovered yesterday that the EDC 2008 videos are now available on the EDC 2008 official website.

See the videos NOW.



If I happen to choose only one session of those I attended then it’ll be Andrew Pardoe’s CoreCLR session (part 1 end of this file, and part 2 beginning of this file).

Other than that,, there’s Also Ahmed Bahaa’s VSTS 2008 and beyond session (this file), Ahmed Farrag’s SAAS session (this file).

Those are the best of what sessions I attended though . I’ve gone through the videos quick and clearly the other Silverlight videos are good too.


The videos are released for the 2nd time in developer conferences arranged by Microsoft Egypt. The first time there were problems that made the videos unusable and actually made some of them unavailable at all!

This time, Microsoft Egypt, congratulations. You have done a very good job. My friend could download the complete videos and I can see almost all the videos I was looking for. GREAT!

However, there’re still some issues that I tell here for people to avoid:

  • The video files are not related to specific sessions. They’re just related to conference rooms and then conference days then just numbers. You’ll also find some sessions split into tow videos.  you need to watch for this (I don’t know how – in my case, my friend just downloaded al the videos for us).
  • When you go to a link of a conference room and you want to go to another room, SOMETIMES this will not work. Click the address bar of your browser and press ENTER again to re-navigate to the page (do not try to Refresh (F5)). I think there’s some problem with the conference rooms links being LinkButtons and tryign to AJAify them or.. I don’t know
  • Ahmed Nagy’s Session about VSTO has no links (Should be Khafraa A Room: Day 02: CD 02, because I see myself in beginning of CD 03 asking Ahmed Nagy about his session after it’s complete :D). I would recommend it if it was there. Not sure what other sessions I didn’t notice are not there.

EDC 2008 Post 02 : The Agile Way

Day 1: Session 1 [Arch. Track]: Introduction to Agile Software Development   (By: Ahmed Sidky)

Ahmed introduced himself as one that has a master about CMMI and 1st of those to get PhD in software related stuff i Egypt. He spoke in Agile Egypt event before and works in coaching teams implementing Agile. He’s someone who knows what he’s talking about.

“Agile” means flexibility. “What would you do if the customer came to you saying he can only afford a single day of work ? Hint, based on what you provide, he may find a value in investing in one more day of development”. While many in the audience said that they may provide a prototype (which Ahmed interpretted as non-functional one), he wanted to remind us all what our job is. We are not software developers, as software means nothing to the customer, we are “value providers”. A prototype will not benefit the customer. He’ll not gain/save money out of it! What you want to provide in only a single day of work would be the smallest piece of working software, the most important single feature you can develop in a day maybe. Again, until the software is working, it has NO VALUE. You should start giving you customer true value that he only then can afford another day of development!

Agile is all about this, “value driven”. In the 60s when people started to note the major problems of the very limited software at that time, “over budget”, “doesn’t meet schedule” and “don’t meet expectations”. Later, Waterfall came to solve this, but still in the 90s we face the same problems. A paradigm shift was needed. People started looking to the industrial process management to learn from. That’s where all the stuff like CMMI came from.

Later, in 2001, 17 practitioners  started thinking: “What are we doing right”. They didn’t come with something totally new, but were looking to things that already existed in the late 90 like eXtreme Programming (XP) and Scrum. They introduced what they called “The Agile Manifesto“. It didn’t aim to be be a silver bullet or a solution to everything, instead, it focuses on “showing us our existing problems early enough”.

A Flexible Process

To dig into Agile, Ahmed first introduced the “Process theory”. There’re two kinds of processes:

  • Defined Process: Where you guarantee that whenever you include the same input in the process, you always get the same output. This applies to industry, but it -by definition- does not apply to software. If you give the same requirements to different developers or even to the same developer in different years, would you get the same software ??
  • Empirical: That’s just the opposite of the defined process. The output is always subject to change.

Continuing, and in many other parts, I felt we developers were sort of wrong audience for this session, as a lot of talk I believed was for project managers more than for developers, although we had a debate about that point. Ahmed went talking about how most PMs try to treat software as a defined process “Get all specs then build”. Don’t they try to put fixed estimate for the software? How would you get that unless it’s well defined? (A quick note was that there still are ways to get fair close estimate with empirical process as well). He talked about the story of trying to create a house in 4 hours. It was planned for 4 hours but was actually even done in 3.5 hours, but hey, it took 6 months of planning!

This is what we (I think he means PMs) try to do with software. But it doesn’t work. A great situations Ahmed told is that he once said to a customer “Do you want to 6 months to get you something you don’t want or wait 2 weeks to give you something you don’t want ??”. Because we all know the very first release of the software will not be what the customer really need. Adaptation to change is by default. The key is: “Inspect and Adapt (change to fit)”. Ahmed confirmed, this is just a different mind set. You could be doing Agile while still using existing process like CMMI.

The Principles

Ahmed went first on more detailed talk about the Agile Manifesto. The manifesto says:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

A point highlighted was that the right part after the word “over” in every line is still valued, it’s just values less vs. the left side. He asked, when the deadline is getting close, and you are missing features and specs for them, would you focus on documentation or working software?? The point is, we all already follow this manifesto, but we normally only follow it “IN CRISIS MODE”.

Then, Ahmed moved into the key principles behind Agile (sample  details). First, the highest priority should be customer satisfaction. After all, that’s the one who pays for the software :D. You achieve that by keeping a value stream, that means keeping an early continuous delivery of valued software.

Another principle is welcoming requirement (plans / expected results) change – eve if late in development! Of course it should be understood and even communicated to the customer that this does not come for free. If the customer accepts the cost of change (time/money), then they should be welcomed. To know about the change as early as possible, we get to the next principle, deliver “working software” frequently (2 weeks to month), with preference to the shorter timescale. Also, another related principle is that business people should work daily throughout the project. Of course business people does not mean the customer here, but the business analyst

The next one is interesting; Build around motivated individuals, the  motivation is expected to a result of the team’s self management nature. Also, another principle almost already mentioned is that working software is the primary measure of progress. The key point here is that your progress is not where you are in  the plan (requirements, documents, design,…), if your plan says you have 2 months to finish and the actual takes 4, this means you were at 60% of progress, not 80%. Other principles are abut promoting sustainable development, and simplicity.

Then Ahmed went on confirming, this is all best for self-organized teams. The whole team reflects what’s gone wrong / right and realizes the need to change. The paradigm shift to “Value Driven” approach makes you consider delivering the highest value at the beginning. Sometimes up to 45% of the features in some projects are almost never used. In agile, the client tells what he wants to be developed for the next iteration. He knows better what makes best value to him. Of course there still should be a planning iteration.

Afterwards we saw a picture of 15 or more developers sitting on their desks in a cube-less office with dual monitors per desk (the dual monitors reminded me of the office in SilverKey!) and having a big data show monitor. On the walls so many sticky notes with different colors, one is red. That was room for Ahmed to explain the value of pair programming, code review, and the very interesting walls thing. The sticky notes on the walls were actually work items, yeah, features and bugs. A manager passing by can easily see the walls as a real-time graph of functionality vs. quality (feature progress vs. amount of bugs). This is the point here, visibility and communication vs. cubes! It’s that developers are people, not resources, which even inspires the point that people have good days and bad days as well.

Of course agile promises that this can achieve customer satisfaction as well as team moral. It comes when all the developers have enough common understanding (remember, the developers altogether put the estimates) of the risks, system design, and have a common perspective about the whole project.

The last thing was promoting again practices like automated unit test (yeah, and TDD), and pair programming. and reminding that agile is all about minimum process, yet, maximum value.

I think the session was one of the good sessions in EDC, mainly a very quick skimming and introducing practices. Some areas I felt targeted PMs (who are not intended audience of this conference), but maybe I say that as I’m over concerned with “delivering process to developers” since my dotNETwork session (also on agile), “Scrum For Developers“. I think in general Ahmed is a very heavy speaker. I’ll love to attend a session he presents, hopefully on more advanced level topic (God Willing).


EDC 2008 Post 01 : Starting up writing (You may skip this post!)


Hey there. As promised, I’m covering the Egyptian Developers Conference 2008 that took place last Sunday/Monday.

WARNING: I have so many sheets of notes that I don’t know when to write, so, I’ll either stop writing at some point or throw a very big pile of text to you :D.

For the same reason, I’m not sure whether I’ll be able to make well-sized sub titles, also, will relay on referencing to related resources when possible.

DISCLAIMER: This is still a very personal perspective thing. Of course I missed parts of the presentations, forgot some parts, and didn’t care about other some, and even over and under estimated a lot of topics. This is just to open doors for you to read on, NOT MEANT TO BE REPLACEMENT TO SESSION ATTENDANCE but it should help.

When the session videos are uploaded, I’ll sure blog about that as well – God Willing.

The Keynote

Hmm, I find the keynote this year very interesting, especially looking back to MDC 2007’s keynote, with so much cheesy talk and kid-TV-shows-like stands!

It started with some sort of making-of videos of the guys who worked on organizing the event. That included few advices like "keep mobiles silent" and "Don’t sleep :D" and such in a very friendly funny way. Then was simulating the decision to get a celebrity to the keynote, simulating failing tries with some famous sportsmen and singers :D, and then choosing Michael Koester from Silverlight team instead :).

The Silverlight Guy

Michael is a very interesting guy. You love to talk to such person. He was focusing in his keynote speech on students which was weird because neither the conference nature as we know it, nor the nature of topics this specific year target students, but that clearly Microsoft Egypt guidance. To target students in the keynote and professionals in the sessions!!

He started by telling brief of his prof. story, the companies he shared in creating – the most that survived and the few that didn’t go well. He pointed out himself as a sample of the effect of technology in people’s life, being from a farmer family, the only one to join univ. in his family actually, and now working for Microsoft.

Afterwards, he turned into what drives technology. That’s the "experience" as he identified – referring to the user experience. He pointed it out as the fundamental multiplier of technology. A sample was how Google’s new experience and "clean competition" they caused changed Microsoft’s thoughts of technology, and the "Dragons" book talking about such kinds of effect. He also highlighted the importance of "connected" "global" natures of experience.

Afterwards, he went to the different mindsets in work, from "getting the task done" to "delivering experience". An example was how many needed to know mechanics when cars first appeared, and how many need to know now to drive them. Another example was demoing (With Ahmed Adel from Microsoft Egypt) the use of XBOX controllers to navigate through Virtual Earth map. It was very fun demo, the 3D features for going to streets in US was very impressive :D.

The he went into the nature of the industry. It’s a mix between telecommunication and software that form the "Technology" industry. Somehow that let to the S+S (Software + Service) shine. He focused on the variety of clients existing today (Win, Web, WPF, Silverlight), and tools (VS, Expression). He was also very passionate about PopFly. He thinks it’s now just a mash-up tool, but this is as it’s still a new baby, that he believes will later become a development enviroment that lives on services. A sample usage of it he mentioned was connecting to concert tickets data source or so, combining that with a map, and putting all that as a mashup in facebook or myspace.

The message he wanted to deliver although he knows sounds little cheesy is to "Never underestimate the power of technology. It changes lives, and nations. "And it starts with you", he added, "Students".

The Egyptian Catalyst

After Sherif El Touny (Microsoft Egypt) introduced the sponsors, he gave the talk to Hanan A. Mageed from LINK.NET. I recall Hanan from the developers conference last year when she talked about developer communities. Although I believed she was underestimating any community effort by any non-profit group or any corporation that doesn’t have her company’s name in it, she was very convincing and impressive even to a guy like me who would argue all the relations she mentioned in her talk. This time I totally agreed with her in everything she mentioned, so, she was even more impressive.

Hanan went to the local side.She started her presentation with pessimistic phrases about local situations in Egypt that started to appear lately in online communities. Her point was to go against such, as she titled her presentation "iHOPE" (where "i" stands for IT :D). She spoke in numbers first, showing how IT revenue of 40 to 50% increase in hope to reach 1 Billion (starting from 250 Million), It was interesting to see her mention companies that last year have either came to or expanded their work in or recruited from Egypt, like many Indian companies, Microsoft, and Google.

Continuing the talk in number, she mentioned that we have 300K graduates, 17K of which are engineers, including 2400 IT ones – Not all are ready to be hired. Skills are what brings investments. She highlighted communication skills and team collaboration, and professionalism and avoiding dealing in personal way, respecting differences whether in opinions or whole culture (like traditions that might sound very weird to us), adaptation, and willingness to learn new things.

Finally, she spotted, "It ‘sounds’ very simple, very basic to handle", and ended her presentation with a statement contradicting the main negative statement of the ones she started showing. Very inspiring, Hanan :).

The EDC Logo, "Fodoooly"!

The last part in keynote before demonstrating the day agenda was announcing a new way to win prizes. You tell in the EDC website what sessions had the EDC logo in one of the slides. There’s one or more in each track. This reminded me of similar thing in old children magazine called "Maged" where you would look for the face of a cartoon character called "Fodooly" in the drawings of every issue :D :D.

Side Talk: The Registration Process

Before the keynote, I met Mohamed Wahby, one of the guys who carried out the work that made the event possible. We talked about the new registration process they had for the event this year.

The process is as follows:

  1. You go to the EDC site, get the mobile phone of a contact in a delivery/shipping company you call to get an "invitation". You can use it during normal business days/hours only of course.
  2. You wait for 3 to 4 days to get the "invitation". Actually the name is very ambiguous. It’s like a "ticket". You pay the conference fees to get the "invitation".
  3. You go back to the EDC site to register for the event using the registration code. without this, you have done nothing (although you paid already).
  4. The dead line for the process was a week before the event date. The process stared about 10 working days or before the deadline.
  5. Once you teach the conference, you look for the desk that has the first letter of your first name to get your fancy name tag :).

I told Wahby that so many people thought that it was a weird process, very manual process for the biggest software company in the world!

The reason for this that not many noticed – Wahby said, is that the regular registration process used to require very large lines/queues that were very annoying and remain the same size for hours. This is because the on-site payment, and having to "print" the nametag on-site as well. Both billing and printing took so long, and Microsoft Egypt wanted to take the hassle of those hours to be split over two weeks instead.

Actually, when you think about it, it really makes sense. There were very small waiting lines this year :). Wahby agrees that the big mistake about that is starting the process to last for only two weeks, and that it should take longer than that. I’ve suffered from this myself as I and my fiancee paid the fees very soon and few days after registration got FREE invitation code that was totally useless by then :D (well, not exactly, I gave it away to a friend who was about to miss the the deadline for registration).


EDC 2008, Do you remember? (Because late always better than never) – Post 00

A Promise

The day before Microsoft EDC 2008 (Egyptian Developer Conference), I promised to blog about the conference minutes as I see them through my eyes, as I used to do with the MDC (Middleeast Developers Conference, I was the first blogger to write about its minutes and main reference, although I started writing the 3rd year!!!) and any conference I get into as an attendee not a speaker.

Usually, I blog about the conference day at the night of the same day. Once it took me a day after the conference was over. In EDC, although I have explicitly promised to blog about it, I have written none!! Actually, this is because I had so many notes this year (more about that below), I’ve got buried under so many mid-term exams and quizes at universities, had to write another document about Enterprise Service Bus (ESB) Messaging for work purpose, and yeah, I had other reasons as well. Still,  I was lazy.

The Notes

One of the reasons for not writing is that in EDC 2008 I had so many notes. More than I had in any conference ever. I have around ONE HUNDRED small sheets of notes. Most notes are very small reminder bulletins, some of them consist of one word, because those are meant to be the “compressed” version of the notes. Typically I read a word or more in my notes, and this turns into a statement to a a paragraph in the blog post.

I don’t really know how come I got with this huge amount of compressed notes that I found it’ll take me ages to extract in this blog. Maybe because my beloved fiancee was there this year. Sure this made me more enthusiast about the event, and gave me more power. BTW, she’s a very clever/smart fun developer too.

Late Better Than Never, Or, Now What?!

So, I have decided to keep my promise. I know it’s over 10 days since the EDC is over and maybe nobody is interested in the topic any longer, but I’ll bet on it. Please if you are interested, encourage me to extract more notes by sending an email or writing a comment out here.

The EDC videos are not released yet. Microsoft Egypt has kept the promise to publish the videos only once of 5 MDC rounds, and it was a weird story. The notes are not meant to replace the videos though. Those are VERY PERSONAL TAKES on the conference minutes the ways I saw them. The target of posting them is sharing different personal opinions with you friends and the rest of the community, and to provide “keywords” for those interested in the session topics to use when googling the topics online.

This is how the game will be:

Instead of the usual style of one post per conference day day, it’ll be one post per session of group of few sessions. I’ll add a new tag “EDC 2008” to the blog tags besides (“Local Events” and “EDC“) so that you can find them easily in one place. I’ll make a post every day or so – God Willing.

Hope this may have use to anyone around :).