Tuesday, April 2, 2013

The design studio method

This a quick collection of resources on the method of "Design Studio", a collaborative, iterative, agile, and lean way of approaching the challenge of a new system, application , or any tech product design.

A great video session by William Evans a quick run on why and how to run the design studio.
An article by the same dude with more details http://uxmag.com/articles/introduction-to-design-studio-methodology
 A slide deck with enough details on design studio by Adam Conner 

Remember to be prepared ahead of time with agile collaborative research on the following:

Personas: exploring your target users, how they think, how they operate daily and how the system or product you are building will help them.
User Scenarios: storytelling of various scenarios that the users (personas) of the system/product will perform to achieve their goals.
Business and User Goals: an important list produced by the cross-functional team during the project chartering.

Monday, November 14, 2011

7 essential Q & A on tech start-up and entrepreneurial foundation

In a interesting Skype conversation ,  a dear friend and I had the following Q&A which focused on essential points about founders relations, pre and early days for a technology start-up.

Host: How to divide equity among software start-up founders to achieve fair distribution and sustainability for the start-up?
Mouneer: equity is relative to risk, the first risk is the seed funding so this can give you initial assessment on how to divide things; based on share of the initial funding, then comes the time at which a founder started with the start-up. If there are 3 persons who started the whole thing, they get bigger shares, since they took on more risk, in other words at which stage a dude joined the group of founder.
Then comes the hires, the emloyees that founders hire; are they willing to take equity to compesnate part of their package OR they are totally risk-averse and they are only interested in "safe" salary.
This is the quick answer in a nutshell.

Host: right

Host: if it's software  startup and doesn't need much capital investment in the beginning. The investment is in effort .. how can you quantify dividing shares ?
Mouneer: interesting; this brings us to a very important factor which is the type of contribution.
Let's say there are 3 of you, one of is the contributor of the patent of the breakthrough idea on which the company will be based, and the 2 are great in execution and business; in this case the valuation is arbitrary
 and is based on TRUST amongst you. Yet for me it would seem that the techy dude gets a bit bigger share than the other two.
A great book on reflection

Host: I see. How can you guarantee the start-up sustainability after everyone has got his defined share in the company .. how to protect the company from its owners possible fuzzy attitudes  :) ?
Mouneer::) well, to begin with, it is essential to elect a leader.
The group need to have a leader and always reflect; periodical retrospectives are essential to see how you are doing on Business, on Execution Process. on Technology Challenges , AND on people dynamics and relations at your start-up.

Just as important, you have to agree on principles and values that your start-up will operate accordingly, and also agree on ROLES of each founder dudes. Remember that simple rules that will guide the relationship are extremely important.
Work iteratively on "what if scenarios", what if we disagreed on the choice of technology stack, architecture model, buy vs. built a component? what if we have different opinion on details of the business model and/or timing of potential business model growth?

[I do recommend Business Model Generation book here]

Host: great .. in these what ifs .. what if someone decided to leave and join another venture or work for a multinational company .. how can this be handled .. the company is mainly built on efforts and shares will reflect those efforts and commitments ?
Recommended for those who want to get things done
Mouneer: I see your point,  your fear is valid  BUT , it is part of the risk you are willing to take; this takes us back to the choice of "los amigoz", the founders. The very initial choice of the partners. Remember such risk comes with the package :)
Read point number 4 in my previous blog post here 7 rules towards successful entrepreneurial business

Mouneer: do you know about the bus-syndrome?
Host: no,what is it ?
Mouneer:  it is when a developer or a founder is hit by a bus on his way to the office :)
this is part of everyday life risks, we only try our best to select our partners, a wife when selecting a husband and vice-versa a partner when selecting a co-founder and then it is fate, serendipity or lack of it.

Host: yeah , sure .. nice example, but I meant the exact situation which is choosing to leave .. that's to protect the company not me or my partners .. even if I left .. I don't want the company to get destroyed because I left .. but in case of any bus syndrome events .. it's something you didn't decide about .. it happened to you and was not chosen by you so you don't carry its responsibility
Mouneer: My belief is that a risk-taker cannot catch ALL exceptions, you cannot handle all exceptions.
A start-up is in inevitable risk in its early days/months; and value is based on the collective values that its members/founders create. Once it takes off, the start-up is past its infancy and it can cruise control on its own if wisely, intensely and passionately run.
Mouneer: I believe one cannot build a company that's bus-syndrome-proof since day one ESPECIALLY a tech start-up.
Host: Great, this is very helpful.

Host: How can we document our agreements and make a contract that guides them?
Mouneer: You can improvise.  But bear in mind that trust is more important than any written agreements, especially in Egypt where such legal documents are not really binding.
A very simple agreement written and signed is not legally binding , it is more of a moral reminder that we have an agreement; in other words, if a dude wants to quit, it is not the piece of paper that will prevent him; you know what I mean?
Host: yeah, sure, he will quit anyway :D

Host: but such a document can be important to protect the company sustainability and other partners from any decision taken by one of the partners to quit
Mouneer: Sure; that's why it is advisable to have legal papers agreed upon and signed
Just BUT don't over do it;  make it simple.
Host:  thank you very much Mouneer.
Mouneer:  most welcome, certainly my pleasure.
Best of luck!

Friday, August 12, 2011

How do you prevent scope creep in agile projects when usability testing?

The question "How do you prevent scope creep in agile projects when usability testing?" was posted on Quora.com and since sign-up to this site is invitation only, I thought I'd try to answer this question here:

In a fixed time and/or fixed "scope" projects the struggle is to attempt to fit as many features as possible within the pre-set time span, and to guess the best possible set of features that will satisfy both users' and stakeholders' needs and goals. in our team we came to learn that editing, prioritizing and re-prioritizing the always growing backlog to fit into a certain timebox is best done thru collaboration of product owners and UX folks (and the rest of team) using models like "Kano Model" or the model where you can slice and distribute features/MMF/MVF (or whatever you call it) into essential, safety, convenience and luxury categories; then continuously expose your daily, weekly etc.. decisions to both project goals and actual users and stakeholders feedback (after each iteration, release, cycle). Jeff Patton has some great insights on this very topic that have been of great help www.agileproductdesign.com

More to come on this topic soon.

Wednesday, April 27, 2011

How NOT to get promoted to your level of incompetence

Many of the software companies in Egypt are following management ideas that are not only harming their business but also harming the career path of the "mind workers" AKA employees.

Whatever your role is in a software team or company, it is inevitable that you think the promotion usually means taking a managerial position. Sounds good, right? more money, a better office, a big fat title.

Think again, especially if you into software because this is what you love to do. Think again before you are promoted to a level of incompetence which happens when you are mechanically assigned to do something that you really don't enjoy; you are doing it, because you believe that "this is how it is done, junior, senior, lead, leader, project manager, department manager, director".

This is a cliché or pattern trap; we are trapped into the patterns and terminologies of traditional management:

  • hierarchy 
  • subordinates
  • management executives
  • project management 
  • subordinates
  • directly report to 
  • etc.

We are blindly following without even considering that there might be other ways; just like a fish that discovers the existence of water, when she is out of the sea.

Before getting excited about a promotion to be a project manager; think first:

  1. is this really what I want to do?
  2. what my real passion is about?
  3. is there other ways to get promoted into the path of my passion?
If you are a programmer with a passion to write code , solve problems and build great software; you don't necessarily have to become a PM (project manager) at a point in time if you don't want to. Here's one possible alternative path for you:
  1. programmer
  2. experienced agonistic programmer in several technologies
  3. experienced programmers in technical excellence programming and design techniques
  4. specialized senior programmer in a broad technology stack
  5. technical team mentor and a senior programmer
  6. technology architect
  7. senior architect
  8. R & D unit chief engineer OR programmers mentor and trainer
  9. technical director OR technology and technical excellence mentor and trainer (yet still a programmer)
  10. have your own technology start-up with partners where you complement one another.
Here's an iconic example for programmers: Robert C Martin aka "Uncle Bob":

"Robert C. Martin has been a software professional since 1970. In the last 35 years, he has worked in various capacities on literally hundreds of software projects. He has authored "landmark" books on Agile Programming, Extreme Programming, UML, Object-Oriented Programming, and C++ Programming. He has published dozens of articles in various trade journals. Today, He is one of the software industry's leading authorities on Agile software development and is a regular speaker at international conferences and trade shows. He is a former editor of the C++ Report and currently writes a monthly Craftsman column forSoftware Development magazine.

Mr. Martin is the founder, CEO, and president of Object Mentor Incorporated. Object Mentor is a sister company to Object Mentor International. Like OMI, Object Mentor is comprised of highly experienced software professionals who provide process improvement consulting, object-oriented software design consulting , training, and development services to major corporations around the world."

Start now to consider your options and be one of a kind in your area before blindly becoming yet-anther-PM!

I will keep adding more options for the various functions found in the software community. Please share your suggestions.

Thursday, April 14, 2011

metaphor for the creation of software

People, People, People steering their own process with agility while incrementally discovering about the software and delivering it with skills and excellence.

Click here for a bigger version of the sketch

Friday, January 7, 2011

Are You in A Winning Team?

People in the making of software; when you discover your winning team, work your a** out to stick to that team; it does not matter then whether you do agile, lean, waterfall, fountain, CMMI level X, ad-hoc or whatever,  why?

  1. Because you are success will be augmented
  2. Because you will keep learning
  3. Because you will be in the state of doing what you love without the disturbing noise of an often-storming teams
  4. Because the team will help you grow exponentially
  5. I hate to say this word, but I will -synergy- :)
How do I know I'm in the right team?
  • you are able as a team to produce results NOT status reports and justification and blame emails and meetings
  • you are looking forward to go back to work everyday
  • you are learning something new everyday
  • you trust that everyone in the team and trusting their intentions to produce positive results, outcome (in our case working software and a happy user)
  • you and your team when facing problems, you focus on root causes and how to solve the problem at hand rather than on circumstantial events and blaming

WARNING: if you notice that a team member is focusing on maximizing his/her own wins and securing their position regardless of the collective outcome nor the well-being of the team, then DO something about it or RUN! because "any team will perform to the level of the person who cares the least about what the team is doing" quoting Christopher Avery. This means if you really care about what the team is doing and you do nothing about the least performer, you and your team will only achieve just as little as that least person who cares.

I worked with quite a few great teams and I'm so lucky to continue to work with one of the most effective trustworthy high performing team now that I'm going to work my a** out to stick to and grow. 

For a great source on teams in software and other domains, I highly recommend Christopher Avery's blog and sessions here http://www.christopheravery.com/agile-teams. And here's an interesting video and presentation by Mr. Avery http://www.infoq.com/presentations/teamwork-an-individual-skill.

Monday, December 27, 2010

Matrix "I know Kung Fu!" method of learning; is it here yet?

More Arabic audio books available here. Click Here

Yes, it is the same topic again, Audio Books and Podcasts. Until the time learning becomes as easy as they used to do it on Matrix the movie like when Neo learnt Jujitsu in a jiffy :
I so believe that one (if not the only) accelerated learning tools available is audio books.

But isn't video more superior than audio version of any knowledge? Yes it is, and No it is not! here's why:

  1. You can augment the value of your time vertically by listening to an audio book while doing something else; stuff like but not limited to the following: driving, running, walking, cooking etc.. In case of a video version, you cannot do that.
  2. While video version might be superior since it engages the visual sense as well, the audio version of knowledge is an imagination igniter; it keeps your mind in a continuous active state of visualizing and linking what you are hearing with your experiences and previous knowledge.
  3. You can harvest a lot of knowledge in so little time; have you ever thought that you can read 2 books or more in a week!

The benefits of exposing one's mind to various knowledge areas are countless; this is beneficial to one's professional, social and spiritual life. If you think reading and learning is a lengthy process and you hardly have the time to finish your work and have some fun, then you definitely need to consider Audio Books now.

The pace of discoveries, inventions, knowledge is accelerating exponentially; listening to Audio Books is just one way to help us keep up with this pace. Whether you have an iphone, ipod, zune, a mobile phone that plays music, an MP3 player, a flash that goes into your car audio system that has a USB interface, then all you need now are the books. You can buy , borrow, or download them.

Many Arabic literature audio books are available for free download. Click Here!

More Arabic audio books available here. Click Here

Hundreds of audiobooks , and you may also volunteer to contribute to the recording of the books . Click Here:

LibriVox Fundamental Principles

  • Librivox is a non-commercial, non-profit and ad-free project
  • Librivox donates its recordings to the public domain
  • Librivox is powered by volunteers
  • Librivox maintains a loose and open structure
  • Librivox welcomes all volunteers from across the globe, in all languages

Start listening now!