Archive

Archive for February, 2011

Hey programmer, how fast you can develop a project?

February 23rd, 2011 No comments

This is an age which time travels before ideas. i.e., you might encounter the subject of deadline before you come to know about the idea or requirement details.

Depends on below properties, answers varies:

  • Number of years of experience – if you a manager,
  • Level of knowledge – if you are a manager,
  • Process – you or your company follow,
  • Type of organization you work,
  • Type of project,
  • Architecture of the project,
  • Number available resources,
  • Timeline of the project,
  • Budget of the project etc.,

 

For a successful project at least some of the above points are mandatory. You can deliver a project in a fortnight but quality matters.

Level of Knowledge and Number of years experience

If you are an expert in the field which project need to be executed, then you an deliver the project really fast. But it is not always an easy task for a manager to train his team to make up with the same level of knowledge. But a manager can build a base for the project to work on. When team members are from different environments, and different environments use different processes, there might be a conflict-of-base occur. Every one including the manager must be patient enough to listen to others and build a powerful base. There will be convincing and negotiation in between, but sufficient time must be available for all these. This will be an one-time process so all the future projects can follow the same base.

Technology changes every day, so it is very important to update knowledge day by day and make necessary changes in development and coding styles from time to time.

When the technology or domain/concept is very new for the team, there will be a learning curve involved and the deadline of the project will be a bit far.

Number of years experience must not be taken into account always. As I stated already, technology changes everyday and none get the opportunity to use all the technologies. So gap is a gap. For  a programmer, coding concepts and types of project handled remains same but the complexity of requirement and advanced technology he might use differs which surely impacts the deadline.

Process

Current world is for Agile, SaaS, Extreme Programming, Cloud etc. I still believe you cannot deliver a 99.8% quality product (hate to say 99.9% in this busy world) without using any of the standard software development processes unless it is a single line of code. Let me discuss in a generic point of view.

There is no any company without a process. Process emerges automatically and get it aligned with the team. Fact is, it is not an easy task to change the process in a sudden. There will be much repulsion from the team members regardless of how complex and ugly process they currently have.

Most customer-centric organizations unknowingly use Agile. They work closely with the customers and as a result most of the projects will be success. They get enough time for development directly from the customer and there will not be any deadline hazards as customer is aware of what is happening at the development center. The major demerits will be unexpected extension of scope which results in missing track of change requests and resource allocation problems for other projects.

Type of Project, type of Organization and number of resources.

As long as you have expertise, you can touch any domain. Similar projects you can deliver very fast as you will be able to use the same code base and in most occasions just a re-skinning of application will be enough. When ever you touch a new domain or technology, there comes a learning curve and situation differs. Company management must keep account of this fact and give sufficient time for developers to cope with it. From second project onwards they will be okay.

When you estimate or sign-off a project contract, please do commit the schedule by keeping in mind that you have N number of resource and together they can finish the project in N number of days. You must be having proper benchmarking and proper tracking of all the projects in hand. You might want to work on different projects simultaneously or some of your projects might be in maintenance mode so all needs time. Put sufficient buffer. Your developer might be able to finish a complex task in 1 day’s time but he might get struck with a minor coding bug which result in spending more than two days.

Many company owners are very proud to say they got a flat-hierarchy in their organization. But for the success of projects, a defined organization structure is mandatory. There must be one person who can take decisions. Unfortunately for most small companies, there will be multiple people handling customers and because of that all starts management and at the end developer gets over pressured and there comes production decrease. Proper tasks and resource handling must be done from a singe source. It is very important to keep the communication transparent so that task overlapping will not occur and we can control the deliveries up to an extend.

Trust each other

When you give a job to a person, give some freedom also and do not put un-necessary limits. He must get the feeling it is his job and he must take responsibility. If one is not good for a job, then he will get eliminated automatically from his position. In a typical organization, when you are assigned a job and you get an official status enquiry from another person of same level – there comes a doubt of trust factor which results in imperfection of the job.

Dedication and commitment towards the company or people comes through trust only and you cannot buy it with money.

Work pressure

If you do proper project management – planning and resource allocation, there will not be any question of work pressure. When the pressure from top increases, quality of the produce decreases. Check any project you know. All long running projects will face fail-over problems or performance issues when the time is running. Such projects lacks because of short timelines.

For small projects like a contest or campaign, there wont be much issues as the project will be up only for a short period of time. You must now expect product quality and timely delivery unless you have sufficient number of expert resources.

End Notes

Words never ends, but in this dynamic – busy world, I have limited time for these articles :)

© NinethSense Feb 2011

VN:F [1.9.18_1163]
Rating: 4.4/5 (8 votes cast)

Get in Love with Your Customer

February 22nd, 2011 No comments

If you are a business man or marketing professional, you definitely would like to read this.

 Get in Love with Your Customer by Anthony Assaker

 

Points:

  1. Be available
  2. Know your customer
  3. Don’t make promises that you can’t keep
  4. Outshine your competition
  5. Under promise and over deliver
  6. Listen and deal with complaints
  7. Educate your staff
  8. Make it easy for your customers to do business with you
  9. Be consistent and take an extra step
VN:F [1.9.18_1163]
Rating: 5.0/5 (4 votes cast)

Facebook Dev – tab not displaying

February 19th, 2011 No comments

Edit Settings –> Advanced –> Sandbox Mode –> Disable

VN:F [1.9.18_1163]
Rating: 5.0/5 (1 vote cast)
Categories: Web Design

Ajax-JQuery issue with ASP.NET

February 16th, 2011 No comments

This was an annoying problem for me but after a research I found a useful link and fixed.

URL: http://blog.dreamlabsolutions.com/post/2009/02/24/jQuery-document-ready-and-ASP-NET-Ajax-asynchronous-postback.aspx

Problem: when you use jquey inside Update Panel, everything will work smoothly until you trigger an event. After asynchronous postback your animation will stop and/or design will break.

VN:F [1.9.18_1163]
Rating: 0.0/5 (0 votes cast)
Categories: ASP.NET, DOTNET

How to get Unicode values in .NET

February 7th, 2011 No comments
foreach (char c in "Hello ?????")
{
	textBox2.Text = textBox2.Text + "-" + ((int) c);
}
VN:F [1.9.18_1163]
Rating: 4.5/5 (4 votes cast)
Categories: C#, Code Snippets

Extract video id from Embedded Code

February 1st, 2011 No comments

Here is the sample C# scrilpt:

        public string GetYoutubeCode(string youtubecode)
        {
            Regex regex = new Regex
		("http://www.youtube.com/embed/([A-Za-z0-9\\-_]+)");
            Match match =  regex.Match(youtubecode);
            string ret = string.Empty;
            if (match.Success)
            {
                ret = match.Value.Substring(match.Value.Length - 
			(match.Value.Length - 29));
            }
            return ret;
        }
VN:F [1.9.18_1163]
Rating: 0.0/5 (0 votes cast)
Categories: C#, DOTNET