Thursday, April 29, 2010

How to start implementing agile practices in your company ?

Implementing an agile method in your company may requires continuous and progressive changes to raise stakeholders commitment and culture to handle those new packaged practices ,thus you may start by implementing actions that have an almost direct impact on quality assurance issues and development life cycle to make your team more productive and rigorous through the release process. Here are some of the points you may start with, to help you going through:

Just in time and lightweight requirements:
Keep the requirement level at the minimum required to start the development process.

Automated repeatable unit tests :
Test must be integrated throughout the lifecycle, not at the end .Test scenarios should be written before the development starts (knowing that you would write them anyway!).

Software release must rely on customer feedback :
Don’t waste your time developing unusable functionalities that wouldn’t add any business value to your software; focus on getting the most important features and items first to the market. Make them prioritized to get the better of agility and flexibility.

Stick to a regular software release cycle:
Fixed release cycle (iteration, sprint) is vital, it creates routine (stakeholders, departments, team members) and routine increases productivity. At the end of each release, all features must be completely done and functional, this ensures a clear and complete vision toward the software development progress, reduced risk and higher value.

Get the best of your stakeholders:
By making them working toward a shared goal.

Remember, the success of your project is all about making your stakeholders happy :).

Wednesday, April 21, 2010

How to get the job done within your team



As leader you often have to provide and inspire guidance, instruction, direction, leadership to your team through all the project life cycle, to break through the mediocrity and inspire success where there was no success before, here it is some of my favorite tips to get people accomplish their tasks :

Create a Vision:
Effective leaders supply a shared vision; and inspire people to achieve more than they may ever have dreamed possible. To inspire you must be able to articulate a shared vision in a way that inspires others to act making work exciting.

Know your people:
Give your team enough time to know you, this how you could gain respect, avoid the impact of their subconscious judgment, know what should motivate them, and learn about their Strengths.

Lead by example:
Always show your people the good example, share fully their hardships and privations experienced during the work process, your authority and ability to motivate will increase exponentially for doing so.

Keep Giving Feedback:
Always keep giving performance measurement to your team member, Depriving people of feedback causes them to create their own referential that may not be adequate to the results or success criteria you want your team to accomplish.

Push your people to care about the job:
Don’t stress them, they will lose focus and won’t perform adequately.

Reward:
Take the blame for their mistakes and give them praise for their success.

Trust:
Create an environment of trust, trust is essential in all human relationships – professional or private, there is no place for snipers in a team.

Set goals:

General rule of thumb that greater or more difficult goals actually increase performance, help your people visualize themselves reaching their goals also makes achievement of those goals more tangible

Create routines:

Routine help creating habits, habits increase productivity.

Just remember, that your job as a leader is to keep the work exciting beyond the day-to-day tasks.

Tuesday, April 20, 2010

Revamping Morocco JUG




Actually I'm working with some of my friends on revamping the moroccan java user group, inspired by the egyptian experience we aim to be at the same level, and to rise up the Java skills on morocco.

As our first step is to involve more people on the Java world here in morocco, we should start to work on universities and Engineering schools to get in touch with young engineers and developpers to be able push them up on the software industry with a strong technical and architectural skills on Java technologies.

For further information, please visit and join: https://moroccojug.dev.java.net/