IgorShare Thoughts and Ideas

Consulting and Training

Archive for the ‘Community’ Category

Building responsive scalable cloud Web applications with ASP.Net MVC4, WebApi, SignalR and Knockout

Posted by Igor Moochnick on 04/03/2012

Thanks for everyone who’ve attended my CodeCamp presentation. Thanks for organizers for making it happen.

I’ve had a chance to build the realistic distributed application live-coding from scratch. The application consisted from 2 roles – web role and a worker role. During the demo I’ve used the Amazon AWS cloud, but the similar technique can be applied to Azure deployments.

The audience was great and engaging even though we didn’t have enough and I was flying through the code.

The code I’m publishing (Amazon AWS demo) is a beautified version of the one we’ve created during the Code Camp.

Stay tuned for the mirrored Azure demo code…

NOTE: This is a simplified version and should not be treated as a real-life application.

Posted in Amazon AWS, Cloud, Community, Presentations, Training | 2 Comments »

RavenDB introduction and overview: presentation for Architecture Study Group

Posted by Igor Moochnick on 02/17/2012

We’ve had a lot of fun with a small party talking about RavenDB, it’s functionality and quirks. We’ve wondered of track into more advanced topics of Replication, Sharding and Security so I totally forgot to talk about the transactional support for RavenDB (including DTC). Now I know for sure that 2 hours discussion about RavenDB is not enough. It looks like I’ll need to split the presentation into the “intro” and “advanced” parts.

I’ve updated slides on SlideShare with the latest revision.

Posted in Big Data, Community, Presentations, RavenDB, Training, Tutorials | Leave a Comment »

BlueMetal’s very own Phil Young speaking on BigData with Windows Azure Hadoop

Posted by Igor Moochnick on 02/14/2012

Looking forward to this great talk by Phil and a kick-butt demo from Abe….

Windows Azure ‘n’ Action Café: Windows Azure Hadoop – Big Data: How can the Windows Azure Hadoop Service unlock business insights?

Wednesday, Feb. 15th,’12:00-1:00 PM EST
http://www.eventbrite.com/event/2669254813

(Repost from Carmen Taglienti blog)

Posted in Big Data, BlueMetal Architects, Business Intelligence, Community, Data Analytics, Hadoop, Presentations | Leave a Comment »

RavenDB introduction and overview: presentation

Posted by Igor Moochnick on 02/01/2012

Here is the other part of our presentation for the NEVB user group – Overview of RavenDB. Due to some technical problems was no able to show much of the code and really feel bad about that. Hope to get another chance to talk more about RavenDB.

Posted in Big Data, Community, Presentations, RavenDB, Training, Tutorials | Leave a Comment »

NoSql Introduction presentation

Posted by Igor Moochnick on 01/31/2012

Recently Phil Young and I gave presentation about NoSql, RavenDB and Hadoop to NEVB User Group. This was our first presentation of this kind and format and we’ve had a couple of snags running it, but, I promise, we’re getting much better at that.

photo-1

I’ve just published the first portion of the slides about the NoSql introduction. Feedback is always welcome.

Posted in Big Data, Community, DB, NoSql, Presentations, RavenDB, Training | Leave a Comment »

AppFabric Service Bus Queues and Topics presentation (for Boston Azure User Group)

Posted by Igor Moochnick on 12/20/2011

Recently we’ve delivered a presentation to the Boston Azure User Group on how perfectly the cloud technologies are aligned for development for the Mobile Apps and clients. My coworkers from Blue Metal Architects delivered great content about integrating iOS (featured iPhone and iPad) and Windows Phone with the cloud. I’ve covered the use of the AppFabric Service Bus Queues and Topics – these technologies are perfect for communications for partially connected clients (like mobile ones).

Posted in Architect, Azure, Community, Continuous Education, Messaging, Presentations, Service Bus, Training | Leave a Comment »

Hello from the mobile-me

Posted by Igor Moochnick on 10/31/2011

Today, with our super busy schedules, we’re badgered into producing (anything and everything). This is how our employees make sure to get as much as possible ROI (return on investment) out of you.

I’ve always felt that there was not enough time to consume and to learn in general. This was alway bugging me because I felt that my value was declining with each and every passing day and I was afraid that something new in the world will be born without me learning abou it.

I hope that this situation is going to improve going forward. Recently I got myself an iPad. This allows me to get more content consumption on the road and on a couch.

With this post I’m, in fact, testing a WordPress application for iPad.

If it works as expected, will try to start posting on my blog the links to noteworthy content and, as usual, you are welcome to comment.

Posted in Community | Leave a Comment »

The Most Important Principle of the Lean Software Team

Posted by Igor Moochnick on 05/29/2011

It is essential to talk about the Lean teams and not only about the Lean companies. Let’s be realistic – most of the current companies are not Lean. I predict that it’ll take a whole generation for software companies to shift from the “old ways” to the “new ways” of Software Development and there is not a lot we can do to change this dynamics. It takes a lot of effort to persuade the current management generation that the “new ways” are much better than the “old ones”. Usually the conflict lies in the “ego” world – whose “ego” is bigger.

One of the principles of Lean Software Development is to “Respect People” or, sometimes it’s reads as, “Empower People”. This directly contradicting the “old ways” where the principle was 100% opposite – the strict “top down” management and control. The “top down” development was a result of that principle where the top level requirements were translated into the top-down architecture which, in it’s order, was translated into a components with a strict plan of dependencies and schedules.

In my personal opinion this principle should be at the second place following the very first and essential one “Eliminate Waste”.

Let’s see what this principle is about and why I see this is one of the core ones:

  1. It’s all about Training:
    1. Training is essential to increase your team’s potential.
    2. The team should be a self-sufficient, self-organizing and self-managing organism.
    3. The people should be trained to the point where they can get a requirement and deliver.
    4. The right training will ensure that the delivery is up to your standards, up to industry standards and contains all the necessary artifacts (i.e. documentation, architecture, testing, installation and configuration instructions, etc…)
  2. Move responsibility to the lowest possible level:
    1. Developers are much closer to the “metal” and to the technology.
    2. They know more about the technological problems that may arise during the development process and they can foresee the conflicts in the requirements.
  3. Encourage pride in craftsmanship:
    1. Encourage people to be passionate about what they do and how well they do it.
    2. Encourage the team to get evolved in the community or, at least, in a cross-team communication. Make them share the ideas and present their achievements.

I hope, the points I’ve discussed above, make pretty compelling explanation why we have to Empower the teams and the people. If you still not convinced and you’d like to ask a usual question: “Why do we need the management and the managers”, I’ll give you my favorite answer: “To empower people, to make them succeed and to provide them with all the support they need to fall into the pit of success”.

The managers should:

  1. Remove impediments
  2. Train
  3. Guide
  4. Advise
  5. Support
  6. Empower
  7. Recognize
  8. Foster
  9. Mitigate
  10. Resolve conflicts
  11. Encourage
  12. Catch errors

The managers should never:

  1. Discourage
  2. Punish
  3. Micro-manage
  4. Downplay

All the above is very well summarized by a very old aphorism: “Find good people and let them do their job”. If you, as a manager, found right and smart people – they’ll do the right job. If the people are not “right and smart” – then why were they hired in the first place?

Posted in Agile, Community, Lean, Thoughts, Training | Leave a Comment »

ProductCamp Boston: Building lean products with distributed agile teams

Posted by Igor Moochnick on 04/12/2011

A week ago (Sat 4/2/2011) gave a presentation about tips, tricks and best practices that can greatly help you to build products with the distributed teams.

Product Camp Boston 4/2/11

Thanks for the organizers of the ProductCamp (http://productcampboston.org/) and all the attendees for making a great event.

Posted in Agile, ALM, Community, Composite Applications, Continous Integration, Design, Kanban, Organization, Presentations, Thoughts, Tutorials | Leave a Comment »

Motivation is THE core of the successful projects

Posted by Igor Moochnick on 01/01/2011

I’ve worked with and been a part of many teams. The teams were composed of many different individuals with a lot of differences in behaviors and opinions. I was always curious why certain projects succeeded and why failed. I’ve concluded that the success or failure can not be contributed to a lack of experience or expertise of people, in average companies are hiring more or less equally skilled teams, but it was directly correlated to how the teams were motivated. Especially how the individuals on the teams were motivated and passionate about what they do.

I’ve spent a great deal of research on how to “cultivate” the motivation and passion. My experience showed that it is possible but very complicated in our corporate structures with the existing management structures, tight schedules, estimates and reward/punishment feedbacks.

The best confirmation to my thoughts and certain solutions to the problem at hand I found in the amazing and dynamic TED presentation by Daniel H. Pink (below). He is a great writer, blogger and a speaker with 4 books under his belt.

In this presentation he says that – “Self Direction Works Better”. We have to “Maximize Purpose Not Profit”.

To increase the motivation and the passion of our teams and team members we need to cultivate:

  1. Autonomy
  2. Mastery
  3. Purpose

Only the ROWE (Results only Work Environment) companies produce more successful projects.

Some of the successful examples of these theories are: Wikipedia, Google, Atlassian, etc…

I loved this presentation and I highly advise to everyone to check it out:

There is also an animate version of this talk done by RSA. If you like more visual presentations check this one out:

Posted in Agile, Community, Organization, Thoughts, Tutorials | Leave a Comment »