Month: June 2013

Entity Framework Code First with AWS SQL RDS

In this article I’m going to take you through the steps for using Amazon RDS with Entity Framework code first. I will not be covering any details related to Entity Framework. First you need to install AWS Tools for .NET. Then you will need to open up the AWS explorer from visual Studio View menu. Remember you need to have your account setup with Amazon Web Services. From this you can manipulate your AWS account.


So first I am going to create a database using the AWS RDS. Here I will be selecting the Amazon RDS (Relational Database Services).



Mapping Agile Project Management to phases of Traditional Project Management

In this article I am going to talk about how we could map agile concept in a traditional project management phases. This is highly useful when moving from traditional methods to agile. So first of all what are the phases of traditional project management.

Initiation: During the initiation phase even before getting the team and infrastructure, you need to get the business case ready. You need to convince the project board about the ROI. i.e. whether this project worth of investing money and knowledge. Once the project board is presented with what the project is going to do to the business and when they approves it, you can look into identifying the budget, the team, the infrastructure, etc.

Planning: In this phase we prepare the schedule, resource planning, preparation of the firm budget and a cash flow plan, resource plan, risk management plan, etc. Also we can finalize the team and the infrastructure required. You may want to plan for change control management, issue management, etc. as well.

Execution: So after all the planning is done we are ready to roll out with the execution. During this phase you need to monitor and control various activities such as development, testing, change control, release management, etc. and ensure that the team is on track and delivering the requirements according to the plan.

Closing: At the end of the project you need to package up everything and ship the product to the user. You also can allocate time for end user training, preparation of user manuals, UAT, etc.
I am sure that all the audience are aware of the activities in detail which are executed during these phases. Here I have given a brief description. What my goal here is to discuss how agility can be implemented on top of these phases.

This is what I do. For me we have to do initiation and planning up to some extent before beginning. Remember doing agile is not just starting with it. You need to do some preliminary planning first. This will totally depends on the nature of the project. If your company is focusing on software products you may have to have product road map with several releases during the year. So if you want to get some new features done and some long hanging bugs fixed then initiate an internal project. You may want to get the involvement of the product managers and convince them about the priorities that you have set. You can use the planning phase to carry out traditional PM work as mentioned above.

Few tips on creating effective user story strategy

When we are practicing Agile, we don’t use comprehensive documentation, instead we create user stories. User stories are by definition a conversation between the user and the development team. Basically we convert the user requirements to User stories. So these requirements must fall into the INVEST acronym.


I – Independent: Should be able to execute it without any dependency to other features.
N – Negotiable: Requirements are not contracts or promises, because there are too many details to be discovered to actually understand the problem.
V – Valuable: Should be valuable to the end user, i.e. expressed in a way that is easily understandable by the end user.
E – Estimable: These are used in planning and if the team lacks the domain knowledge or if the item is too large to be estimated then it does not meet this criteria.
S – Sizable: The item should be easily fit into the coming up iteration. If it is too large to be included then it has to be broken down to much smaller items
T – Testable: Ability to define the acceptance criteria for the requirement.

Pitfalls of Agile that Project Managers need to look out in Fixed Cost Projects

When using Agile for fixed cost project there are few things that Project Managers need to look out for. In Agile, as we all know, the software is delivered incrementally and at the end of each iteration there is working software ready to go production. This gives a crystal clear view of the software development to stake holders (the chickens). But in fixed Cost projects there are few things that Project Managers need to look into and address them early as possible.

Customer understanding of the agile process
We need to give a clear picture of agile process to the users and explain their part of the process and how important it is for them to participate. For example provide constant feedback at the end of each iteration to eliminate waste and to ensure the team will deliver the required system. Therefore the Project managers need to ensure that there will be customer representatives allocated to review the iterations and provide feedback. This feedback is highly important and essential for the success of the next iteration and the next, and ultimately the success of the project. You have to remember that as a project manager that agile method can only be successful with constant customer feedback.
So this has to be explained to the end users and need to get their participation.