Warning: include(/home1/george/public_html/wp-content/advanced-cache.php): failed to open stream: No such file or directory in /home1/george/public_html/wp-settings.php on line 84

Warning: include(): Failed opening '/home1/george/public_html/wp-content/advanced-cache.php' for inclusion (include_path='.:/opt/cpanel/ea-php74/root/usr/share/pear') in /home1/george/public_html/wp-settings.php on line 84

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home1/george/public_html/wp-includes/load.php on line 760
project management – Tales from the bits http://talesfromthebits.com This is a blog about technology, computer science, software engineering and personal notes from these fields Fri, 17 Jun 2016 16:53:16 +0000 en-US hourly 1 https://wordpress.org/?v=5.1.16 3 Deadly mistakes during requirements gathering http://talesfromthebits.com/2014/04/3-deadly-mistakes-during-requirements-gathering.html Mon, 21 Apr 2014 16:11:46 +0000 http://talesfromthebits.com/?p=710 What are the 3 deadly mistakes that you can do during requirements gathering?
First, let me tell you a secret. There are more than 3 deadly mistakes you can do during software requirements gathering. I will focus on the deadliest 3. So let’s start! At the moment you start interviewing the client for the software she needs to build, starts the software requirement gathering process.
1. We have a tendency to assume things. My advice: Assume nothing. Especially if you have experience in the domain, it does not mean that everyone follows the same processes or uses the same vocabulary. Check all the assumptions you make with the client to create a common vocabulary and be explicit with all your communications. Add the vocabulary to all documents that you create. If you are new to requirements gathering then listen and make sure you understand everything that the client wants. Ask questions to get clarifications and take notes.
2. The client usually omits to communicate to you some very fundamental tasks that perform daily. This is not done on purpose. They have become “automatic”, part of the daily routine. Ask to observe, if possible, the working environment, the people that will use the system. Go and talk with them. Make sure that you want to make their life easier. You will find more information and you may probably discover additional pain areas or missed stakeholders. Be careful how you communicate your interest for their jobs. You are there to help everyone, you are not there to criticize or comment in a negative way. You are there to help remove the repeated mundane tasks that they perform. Tip: Map the workflow and you will discover the missing steps.
3. Accepting imprecise language from the part of the client. For example, the client says “I want a beautiful design” or “The system has to be very fast” or “The system has to have a log”. All these statements are vague. The requirements have to be precise. It is the analyst’s job to make this happen. What is the definition of beautiful? What is the definition of fast? What to log? Be as specific as possible, draw screen mockups, discuss about responsiveness of the user interface.
The above 3 mistakes left unaddressed ensure the failure of your project.

Do you have more mistakes to suggest? Please feel free to add to the list.

]]>
Top 10 Reasons to Get your Project Management Certification http://talesfromthebits.com/2013/12/top-10-reasons-to-get-your-project-management-certification.html http://talesfromthebits.com/2013/12/top-10-reasons-to-get-your-project-management-certification.html#comments Mon, 30 Dec 2013 07:06:25 +0000 http://talesfromthebits.com/?p=725 Why you should get your Project Management Certification? Are you still thinking if you should get certified or not? Below you will find the top 10 reasons why you should get certified are soon as possible. Just to clarify, by Project Management Certification I am referring to the Certifications given by the Project Management Institute (PMI). I am a Certified Project Manager Professional (PMP®) with more than 15 years experience. I have managed many projects in different domains but mostly I am managing Software Development Projects in high demanding real time environments. You may have heard the motto “Failure is not an option“, with Project Management skills you just make it happen. It is not magic, it is knowledge and experience.

So, enough said, let’s talk about the Top 10 reasons to get your Project Management Certification list:

  1. Demonstrate your Project Management Skillset. Yes, you are managing projects for many years so it is a must to have your skills certified. Show to everyone that you know the current project management standards, processes and best practices.
  2. Show that you understand what contingency is and how to manage it. You also indicate that you know how to estimate a project.
  3. Show that you understand how to perform risk management and also how to lower the risks for the projects you manage.
  4. Prove that you know how to maintain the scope of the project and guard it against “scope creep” by implementing proper change management processes.
  5. Be part of 460,000 PMI credential holders around the world.
  6. Give yourself a competitive edge. When companies are hiring they will prefer the one with the certification and the experience that the one with only the experience.
  7. Be able to talk about quality and implement quality management for your projects.
  8. Your PMP® certification will bring more value to the company you are employed.
  9. You are demonstrating you personal drive to acquire more knowledge in the field and remain current.
  10. Distinguish from other project managers who are not certified. Demonstrate your life long commitment to Project Management and to learning.

For me it remains a mystery(?) why some project managers prefer not to get certified. I have talked with many project managers without a certification and I have found that they do not know some basic Project Management knowledge areas such as proper scope management, risk management, process optimization, etc. These project managers, probably are afraid to take the test, they afraid of not passing the test. The fear of failure. Alternatively, they might be are so locked in with their beliefs that refuse to change and learn new skills. My advice: Be different, get certified!

What do you think?

]]>
http://talesfromthebits.com/2013/12/top-10-reasons-to-get-your-project-management-certification.html/feed 2
7 Steps for Effective Meetings http://talesfromthebits.com/2013/12/7-steps-for-effective-meetings.html http://talesfromthebits.com/2013/12/7-steps-for-effective-meetings.html#respond Sat, 28 Dec 2013 12:27:29 +0000 http://talesfromthebits.com/?p=663 To run effective meetings, and get the good reputation that comes along,  you need to do some planning and thinking before the meeting. Have you ever got stuck into a meeting that you could not see the end coming? Have you ever got stuck in to a meeting that you wonder why you were invited? If your answer is yes, keep reading.

The 7 steps presented below helps you achieving more effective meetings.

Before the meeting

Preparation is a key element to success.

1. Scope: You set the scope of the meeting. What is the meeting about? Choose a title that represents the purpose of the meeting, like “New office planning”.

2. Time and Location: Instead of having a meeting title like “New Meeting 14:00” or a similar generic description prefer something more specific like “New office planning 14:00 – 15:00” which has a detailed title and also a starting and ending time. You guess it right! The place is missing. You have to state where the meeting is going to take place. “New office planning 14:00 – 15:00, Meeting Room 1 @ Main Building”. The duration of the meeting depends on the agenda of the meeting. If there are many participants allocate 40 or even 60 minutes for the meeting. If there are few participants you can allocate 20 minutes for the meeting. Proper time management is a key element for effective meetings. Needless to say, if the key persons cannot attend you will have to reschedule your meeting.

3. Agenda: You define the contents of the meeting. Write a list of the items that will be discussed during the meeting. This is the agenda of the meeting. Next to each item of the agenda, write the allocated time. You may also include the owner of the particular item and the objective of the discussion.

4. Agenda buy-in: Distribute the agenda by email to all participants of the meeting with a note asking for their feedback and to also add to the list any other item that they think belong to that meeting and send it back to you. Ask them particularly to reply to you and not to all. You do not want to start an email discussion before the meeting. Ask also to receive their reply by a certain date. You may also request their questions regarding specific topics of the discussion. Review the list and distribute it to all participants, latest at the next day of your deadline.

During the meeting

5. Time: Start immediately the meeting with the first topic for discussion. Manage the time and be careful not to overrun the allocated time.

6. Topics: Keep presenting the items for discussion. Ask for comments or questions. If no one has questions then move to the next topic. Give the floor to the owner of the item to present it. Make sure that the presenters stick to the allocated time. Sometimes this may be difficult especially if the presenter is a senior manager or your boss.

Ensure that the meeting stays on topic.

After the meeting

7. Meeting minutes: Send the meeting minutes to all participants. Ask them to add any item that feel that was left out of the meeting minutes. If there are items left uncovered schedule a new meeting.

Are you using these steps for your meeting? What would you add to these steps?

]]>
http://talesfromthebits.com/2013/12/7-steps-for-effective-meetings.html/feed 0
The power of checklists http://talesfromthebits.com/2013/09/the-power-of-checklists.html http://talesfromthebits.com/2013/09/the-power-of-checklists.html#comments Tue, 17 Sep 2013 19:33:09 +0000 http://talesfromthebits.com/?p=538 A checklist is an ordered list with the provision to mark each list item as completed. It sounds very simple and it is. The challenge is to create the proper checklists for the tasks. There are many professions that use checklists. The airplane pilots, medical doctors, in quality assurance of software engineering, there are part of standard operation procedures in various industries.

Dr. Atul Gawande author of “The Checklist Manifesto: How to Get Things Right” explains, in detail, the benefits of the checklist. He points out some hints about the checklists. For example if the list is too long the people will not use it. Checklists are not only for simple things, as he points out, but also for complex things, especially when the unexpected occurs. In unexpected situations our stress level increases blurring our thinking. Checklists and training can rescue us from such situations. A situation like this was the US Airways 1549, where 90 seconds after takeoff and while was climbing it crossed the path of the geese. They lost power of both the engines. The main pilot, Sullenberg, took over the plane from his copilot and his copilot immediately pulled out the engine failure checklists to see if he could put them back online. With the help of luck and the professionalism of the pilots, the airplane was saved.

I have great personal experience creating and using checklists. I am using checklists daily both at work and home. I am using a checklist when I create a new project, when I gather project requirements, when I do risk management, when I check test plans, when I deploy software to production servers. I am keeping a version number of my checklists and make sure that I have and use only the latest version. I have realized additional benefits using checklists. They are great to capture experience. I am updating the list to include checks or tasks that prevent delays and / or failures. This is a great time saver which is another great characteristic of the checklists. Having great checklists helps you also to delegate some tasks more efficiently. You do not have to explain everything if they have the required training they can just follow the steps to get the right result.

I am looking forward to hear your experience with checklists.

]]>
http://talesfromthebits.com/2013/09/the-power-of-checklists.html/feed 2
Time management – How to use your time efficiently http://talesfromthebits.com/2013/08/time-management-how-to-use-your-time-efficiently.html http://talesfromthebits.com/2013/08/time-management-how-to-use-your-time-efficiently.html#respond Sun, 04 Aug 2013 11:44:03 +0000 http://talesfromthebits.com/?p=497 Time management is something we all do all the time either consciously or unconsciously.

We all have 24 hours per day in our disposal but some of us use the time more efficiently and effectively than other. My goal was to optimize my time as good as possible in order to get the most out of my day.

There are several steps that you need to take to start organizing your time. I can tell you what I did and how organized my time. If you find it useful you can try it too.

First of all I used the 20-minutes as the basis of my time allocation strategy. By using 20 minutes as the basis you can do 3 things in an hour. In contrast when you use a 30 minutes interval you can only schedule 2 tasks within an hour. Interestingly, all calendars either support 15 minutes and/or 30 minutes’ intervals. I have not yet found a calendar to support the 20 minutes interval. My advice, do not let the software that you use manage your time. Take management of your time to your hands. Use 20 minutes intervals. Use a paper agenda if you want.

Second, design your day in advance using a to-do list. In order to do this step you need to write down all your tasks for the next day. As soon as you do this you need to set the priority for each one and sort your list with the high priority tasks first. This is a tedious task so I used my ipad to accomplish it. I used the Toodledo – To Do List application.

Third, you need to schedule your tasks. Arrange them for the next day using the 20 minutes intervals. If you feel that a task will take more than 20 minutes then use 2 20-minutes intervals. It is important not to break the 20-minutes rule. Do not forget to allocate time for organizing the following day’s tasks. I tried to use Pocket Informant Pro but it does not support 20 minutes intervals so I end up using 3 15 minutes intervals. Other than that Pocket Informant Pro is an extremely useful application to have.

Fourth, have in mind that your schedule will change the next day due to unforeseen or urgent events that you did not know at the time you prepared your schedule. This is something normal. I will give you some hints on how to prioritize your time to make room even for emergencies.

Fifth, cross out the tasks that you accomplished. It is very important to see your progress and have a feeling of achievement.

Let me know your comments or ideas on the topic.

 

]]>
http://talesfromthebits.com/2013/08/time-management-how-to-use-your-time-efficiently.html/feed 0
Agile Software Development and Fixed Price Contracts http://talesfromthebits.com/2013/08/agile-software-development-and-fixed-price-contracts.html http://talesfromthebits.com/2013/08/agile-software-development-and-fixed-price-contracts.html#respond Thu, 01 Aug 2013 09:47:42 +0000 http://talesfromthebits.com/?p=490 After a long time working a project manager and as a program manager, I found a really toxic combination that can have unpredictable results for the company and the relations with the client. You need to combine the agile software methodology with a fixed price contract to get into trouble.

In order to fully understand the toxicity of this combination we need to explore each ingredient.

Agile software methodology

In this area fall all agile methodologies such as SCRUM, extreme programming (XP), agile modeling, kanban and many others. In a nutshell agile software development is based on iterative and incremental development. The product and the requirements evolve over time through collaboration between self-organizing, cross functional teams. Agile software development is great to use when all the requirements are not clear from the beginning or the requirements are changing frequently.

Fixed Price Contracts

Fixed price contracts put the risk on the side of the vendor. The vendor agrees to perform a specific work for a specific amount of money within a predefined deadline. Usually, fixed price contracts have an overhead because the vendor needs to clear all requirements and identify all the risks before agreeing to a price and accept the risk transfer.

Problem areas

The two definitions are not compatible from their basis. Agile allows a project to start without having all the requirements defined whereas a fixed price contract, in order to calculate the cost, has a prerequisite to know the requirements in detail before the beginning of the project. One thing is sure in software projects, that changes will occur to the requirements. In Agile, changes are incorporated, without effort, in the methodology. Changes, most of the time, have the tendency to increase costs. Fixed price contracts should have clauses to manage changes via a clearly defined change request process. The overhead that an Agile project will have to track all the changes in the requirements along with refactoring and code optimizations is very high and is also extremely difficult to follow the changes successfully. Time will be wasted in lengthy meetings, change request validations both of which are not compatible with the Agile methodology.

Recommendations

Avoid at any cost this combination. It is one of the certain ways to lose money, clients and bring bad reputation to your company.

 

]]>
http://talesfromthebits.com/2013/08/agile-software-development-and-fixed-price-contracts.html/feed 0
Risks in Software Projects http://talesfromthebits.com/2012/06/risks-in-software-projects.html http://talesfromthebits.com/2012/06/risks-in-software-projects.html#respond Sat, 23 Jun 2012 09:40:24 +0000 http://talesfromthebits.com/?p=440 So, you are managing a software project and you are wondering is there a way to successfully deliver the project on time and within budget? What are the risks in software projects?

The answer is yes but you need to identify and manage the project’s risks. Remember that risks can be positive or negative.

This is an informal introduction to risks for software projects coming directly from my experience in project management. I am managing software projects for many years and I have found some common problems in almost all software projects that if you do not handle properly can lead your project to disaster. I have used different software development methodologies from Waterfall to Scrum.  In addition, I am preparing a series of articles dedicated to risk management that will be available in the near future from this blog.

Let’s start!

Managing or coaching a project team is a very exciting experience. The good think is that it is in your hand to make this experience a positive one for all involved in the project. Think positive and be proactive.

Scope

You have to have a vision statement for the project and commitment for the top management for your project. If you do not have that do not even think on starting your project.

An example of scope is “Go to the Moon” as set by President John F. Kennedy‘s on May 25, 1961

Make sure that you have a list of deliverables that are in scope and also that you have an out of scope list.

Requirements

You have to have business requirements for your project. This is a tricky one because you need to define how you will accept the business requirements. Things to be watching for when you deal with business requirements:

  1. Are numbered. Helps traceability
  2. There is no ambiguity in the requirements.
  3. Are specific
  4. There are no conflicting requirements
  5. All stakeholders where involved during the requirement gathering sessions.

 Team

Select the best that you can afford or are available. Do team building activities. Remember the Tuckman‘s stages of group development: Forming – Storming – Norming – Performing – Adjourning.

You goal is to create a cohesive team that can perform effectively and efficiently. There will be some frictions but is up to you to coach the team successfully out of a crisis.

The team have to know the technology they are going to use to build the software. The better your team, the better the possibilities of success for your project.

Software Architecture

Do the software architecture phase. If you use Scrum you can do this before you start your sprints or you can have your first sprint dedicated to software architecture.

Allowing time for architecture will save your team (and yourself) a lot of wasted time. Software architecture is a huge subject to be analyzed here. Involve a software architect. Software architects can depict the system is such a way that the system’s behavior will be visible to the business and the implementation teams. The architecture is the primary carrier of system qualities such as performance, modifiability, and security under a unifying architectural vision. Developers see the details of the solution but many times fail to see the system as a whole.

Risk Management

Plan to have frequent (weekly) risk management meetings. You need to identify, assess and prioritize the risks of you project. Leaving your risks unmanaged is a way to ensure your project’s failure.

Estimation

There is always the risk that you did not estimate correctly the effort. Always use more than one estimation method and triangulate. This is a difficult task but if you have performed the previous phases then you and your team have a very good understanding of the challenges of the project and you will be able to create a realistic estimation. You estimation should include all time needed to finish the project this means also time for meetings etc. Remember that various deployments take time and also that there will be bugs in the software. Again, this is a very big topic and it will be covered separately.

In addition according to Cerpa Narciso and Verner M.June. (2009), the 3 factors that contributed most for an in-house project failure are that the delivery date impacted the development process, project was underestimated, delivery date decision was made without appropriate requirements information.

Quality Assurance

Involve your quality team as early as possible. Make sure that they can create test cases out of the business requirements. Use a team of testers.

Quality Assurance will help you with validation and verification of your project. Validation ensures that “you built the right thing”. Verification ensures that “you built it right”.

Audit your development team that they are using the defined quality processes.

If you do not have a quality system in place you are in trouble. Standardizing processes of software projects enforces a unified way of project delivery in the organization.

The most commonly used quality frameworks are the ISO 12207, the Capability Maturity Model Integration (CMMI) and the project management body of knowledge (PMBoK). (Fairley, 2009, p.10)

Executing the project

The way you execute your project is key for the project success. There are different ways to execute your project; this depends on the methodology you are using. Here also experience helps.  There are several keys to help you succeed.

  • Know the status of your team and resolve issues as soon as they occur. If you rely in weekly meeting then you are losing valuable time. Always state the duration, the purpose of a meeting and the expected outcome.
  • Be sure that you have a change request process in place. Changes will occur and you have to be ready to handle them.
  • At the end of each phase have a show and tell with the client.
  • Do team building activities.

There are many things to say for project execution. The above list is by no means complete. Project execution is a big subject that I will treat separately with articles in this blog.

Communication

Have everyone informed. Create a communication plan. Be proactive and not reactive. Create status reports and manage the expectations of the involved parties. Failure managing the expectations introduces unnecessary risks to your project. Communication can take up to 70% of your time.

Environment

Your project is not in isolation. It interacts with the surrounding environment. Changes in the environment affects your project. For example inability off subcontractors to deliver their work might affect your project’s success.

Epilogue

Is the above list complete? No, it is not complete. It is a starting point to help you see some major areas that can hurt your project. With this article we only are scratching the tip of the iceberg. Managing software projects is really exciting and requires full commitment of your time and effort. Good luck!

References

Cerpa Narciso and Verner M.June. (2009). Why did your project fail?. Commun. ACM 52, 12 (December 2009), 130-134. Available from: http://doi.acm.org/10.1145/1610252.1610286

Fairley, E. R. (2009) Managing and leading software projects. IEEE Computer Society. John Wiley & Sons., Inc., Hoboken, New Jersey

Project Management Institute(2008A) A guide to the project management body of knowledge . 4th edition. Newton Square, Pennsylvania: Project Management Institute Inc

Project Management Institute (2008B). Practice standard for project risk management Newton Square, Pennsylvania: Project Management Institute Inc.

]]>
http://talesfromthebits.com/2012/06/risks-in-software-projects.html/feed 0
Software Project Management Basics – Part 2 http://talesfromthebits.com/2012/01/software-project-management-basics-part-2.html http://talesfromthebits.com/2012/01/software-project-management-basics-part-2.html#comments Sat, 14 Jan 2012 17:15:13 +0000 http://talesfromthebits.com/?p=280 Roles in Project Management

Before we go any further we will define the different roles in project management.

The Project Manager

The project manager has responsibility for a specific project(s). The Project Manager’s purpose is to achieve the project goals within the predefined constraints of time, money and quality. The project manager is the main communicator between the various project stakeholders and the project team. Within the role of Project Manager is also to manage expectations. Every group of stakeholders may have different expectations from the project (system). Failing to address and communicate efficiently and effectively the system to various stakeholders may result in a project failure if the various stakeholders refuse to use it. For example, is the system user friendly and covers all the major issues that the end users of the system have? It is better to involve the end users in the process and get their feedback and support that to demo the finish system and find out that they do not want to use it.   Involvement of stakeholders early in the system design also acts as a fear remover. The new system is not something vague and unknown. It is not something that will move them from their comfort zone. It becomes tangible and the fear goes away resulting in better acceptance of the system.

The Project Manager (PM) resolves conflict. Conflict can occur between team members, customers and team member, between managers or even between departments. The Project Manager should address immediately the problem and try to resolve it in a positive and beneficial to the project way. Avoiding the resolve conflict may result in project failure.

In the role of PM is also to facilitate meetings acting as the chairperson. Chairing effective meetings needs well preparation and discipline. A guide on how to prepare and hold successful meeting will be available to download soon from here.

The PM usually reports to the CIO (Chief Information Officer) or CTO (Chief Technical Officer) of the company. In big organizations the Project Manager may report to the Project Management Office and / or a Program Manager.

Project Leaders report to the Project Manager. System analysts, programmers report to the Project Leader. According to the resource plan of the project other specialities may be assigned to the project leader.

The Project Team

The Project Team includes the Project Manager, the project management team and all the individuals that work in the project. A typical software team will have a system analyst, programmers, end users, web designer, quality assurance, testers, technical writer, database administrators. Some roles may be occupied by the same individual in smaller projects.

Management

It is the upper management. The CEO (Chief Executive Officer), the CFO (Chief Financial Officer), Functional managers (human resources, procurement, finance, accounting)  and IT Managers. It is important to note that a project will fail without support and approval from the upper management.

Program Manager

Program Managers manage related projects. A Program Manager works together with the PM to provide support and guidance for each project in the program. Usually a Program Manager interacts with more than one Project Manager.

Project Management Office(PMO)

The PMO is a central body in the organization that organizes and coordinates the projects under its supervision. PMO primary goal is to standardize and improve project management processes by the use of standards (ISO 9001, ISO 12207:2008, CMMI-Dev 1.3, Six Sigma), best practices and metrics. PMO provides to the PM among other things methodologies and policies about the project, training and mentoring, lessons learned, tools and resources for the project.

In the next article we will discuss about the Project Scope Management.

Link to the previous article of the series.

References

Project Management Institute(2008) A guide to the project management body of knowledge . 4th edition. Newton Square, Pennsylvania: Project Management Institute Inc

Project Management Institute(2012). The web site of PMI.

Sommerville, I (2006) Software Engineering 8th edition. Addison Wesley

]]>
http://talesfromthebits.com/2012/01/software-project-management-basics-part-2.html/feed 3
Software Project Management Basics – Part 1 http://talesfromthebits.com/2011/12/software-project-management-basics-part-1.html http://talesfromthebits.com/2011/12/software-project-management-basics-part-1.html#respond Thu, 01 Dec 2011 13:49:05 +0000 http://talesfromthebits.com/?p=229 This article aims to provide a very brief introduction to Software Project Management. It is the first of  a series of articles about project management. The articles include tools and templates to help you manage a software project.

Software Project Management (SPM) is the planning and leading of a temporary endeavor undertaken to produce a software product. Software Project Plan is a part of Systems (or Software) Development Life Cycle (SDLC). In a nutshell, SDLC is the process and the model used to create or evolve a software product. The SDLC starts with an idea. If the idea is feasible a project plan is initiated. Then the phases of analysis, design, code and testing are executed. The software at the end of the cycle is  placed in production to be used by the end-users. There is a plethora of SDLC models from sequential to iterative to agile. We will examine these models in a later article.

A short description of each phase:

Analysis

The input to this phase is the statement of work (SOW). During this phase we define the system, we break it down to sub-systems in order to fully understand what is requested. We need to involve the users of the system and gather detailed requirements. It is important to allow amble time so all the projects goals are analyzed and understood. This is the phase that we create the business requirement (BR) document.

Design

The input to this phase is the BR document. During this phase we create the functional and non-functional requirements of the project. We desing screen mock-ups, create entity-relationships diagrams of the database, process diagrams and all needed supporting documentation. UML can be used to depict the critical part  of the system. At this stage we clarify all the requirements and we make sure that we have also a table of all business rules related to the requirements. Prototypes may be created at this phase to clarify the functionality of the system. The output of this phase is a complete and detailed description of the system to be implemented.

Code

The actual coding of the system.

Testing

Testing includes unit tests, code reviews, black box testing and user acceptance tests. We will revisit testing in a later article.

Close-Out

The project ends, the product is delivered to the customer. We record lessons-learned. We initiate the maintenance of the product. We archive all the projects documents.

There are two major project management methodologies. The Project Management Body of Knowledge (PMBOK) and Projects in Controlled Environments (PRINCE 2).  PMBOK defines five process groups common to almost all projects: initiating, planning executing, controlling and monitoring, and closing. PRINCE2 defines eight major processes: starting a project, planning, initiating a project, directing a project, controlling a stage, managing product delivery, managing stage boundaries and closing a project.

Why is project planning important?

It is almost a certainty that poor or no planning of a project will result in problems. The CHAOS report of 2009 indicates that 68% of software projects were either challenged or failed. (Worthington, D, 2009).  Project planning helps reducing the over-budgeting or over-scheduling problems.

A Software Project Plan should encapsulate all the work needed to deliver the product to the end-users.    A software project as any other project has a definite start and end date. A software project is constrained by scope, quality, schedule and budget.

First we need some definitions:

Stakeholder: Any person or group of persons or organization(s) that is impacted by the project.

Scope: This can be further decomposed to Project Scope and Product Scope.  Project scope defines the work to be accomplished to deliver the product. Product Scope describes the functions that define the software product. The product scope is defined in a business requirements (BR) document.

Quality: It can be defined as the percentage the software product satisfies the requirements expressed by the stakeholders.

Schedule: The  chain of activities and their duration over time from start to  finish of the project

Budget: The money needed to complete all the work of the project.

The constraints are interconnected, if you change one constraint it affects at least another factor. For example, if the customer increases the scope then the time to complete the project will increase and it is almost certain that the cost will increase too. We will see later on how to manage the changes to the project scope.

In the next article we are discussing the different roles in project management.

References

Project Management Institute(2008) A guide to the project management body of knowledge . 4th edition. Newton Square, Pennsylvania: Project Management Institute Inc

Sommerville, I (2006) Software Engineering 8th edition. Addison Wesley

Worthington, D (2009). Imagination, process failures doom software projects. SD Times

]]>
http://talesfromthebits.com/2011/12/software-project-management-basics-part-1.html/feed 0
10 iPad 2 Applications For Project Managers http://talesfromthebits.com/2011/11/10-ipad-2-applications-for-project-managers.html http://talesfromthebits.com/2011/11/10-ipad-2-applications-for-project-managers.html#comments Sat, 26 Nov 2011 10:43:25 +0000 http://talesfromthebits.com/?p=211 (Last updated on December, 18, 2013)

Communication is vital for the project manager. Having access to the latest project information is also equally important. iPad is an important tool to help you in your daily tasks of managing a project. Personally, I use a combination of tools for my day to day tasks. Can iPad replace the desktop or your notebook? The answer to this is most probably no, but iPad can help you regain your mobility. You do not have to carry around a laptop. iPad is a perfect replacement for your laptop. I use remote desktop connection (RDC) to connect to my work computer from everywhere by using a combination of 3G or WiFi with a VPN. All the information I need is readily available on my fingertips without having to carry around my laptop. I also connect my iPad to the overhead projector which allows me to use collaborative tools with the project team or with clients. The results are amazing!

Below is a list of 10 iPad applications which I have installed and use daily on my iPad.

1. Toodledo – To Do List – Toodledo is a powerful, online to-do list. Keeping track of all your tasks will help you avoid disorganization, stay motivated and be more productive. Check it out.

2. Note Taker HD This amazing app enable you to take handwritten notes and create diagrams. Very handy when you want to communicate your ideas during a conversation. Also a must if you are attending a workshop. I attended recently an Agile Project Management workshop and I used Note Taker to capture some whiteboard drawings and add notes to the pictures. It was really great and very useful after the workshop to remind me of some key areas without having to carry around paper notes.

3. iThoughtsHD (mindmapping) – CMS Very handy during requirements gathering. iThoughtsHD imports and exports mindmaps to and from many of the most popular desktop mindmap applications such as Freemind, Freeplane, XMind, Novamind, MindManager, MindView, ConceptDraw MINDMAP, MindGenius and iMindmap. I am also using iThoughts to define the scope with the key stakeholders (including the project team). The visualizations are far better than any spreadsheet. Connected to the projector I create the WBS in real time with input for everyone attending the meeting. After the meeting I can email a PDF file to the participants from within the application. I tried also opening the mind map with Freemind and the integration works perfect.

4. Quickoffice. With its easy-to-use interface lets you edit  Microsoft® Office Word, Excel, and PowerPoint files. It provides  access to multiple cloud service providers including MobileMe, Dropbox, Google® Docs, Box.net, Huddle and SugarSync. Quickoffice was acquired recently by Google.

5. Pocket Informant Pro It is a great productivity tool. Syncs with Google Calendar and Toodledo. Very well designed interface. I can see both my appointments and tasks together. In my opinion this is a must have tool for project managers.

6. Evernote You can take notes and synchronize them with your other devices (desktop – laptop, etc).

7. Remote Desktop Lite – RDP I started using the Lite version for about 4 months. It works very well. I tested the connectivity both over 3G and WiFi. I made the decision to purchase the full program, Remote Desktop – RDP. It supports: Landscape mode.- View only mode.- Mouse left/right click, drag , hover and  wheel.- WOL (Wake on LAN). – Printing. – NETBIOS name support for easy configuration – Banners with extra keys (ctrl, alt,shift, arrows f1 f2…). You can lock the screen and you can use two fingers to scroll. It a far better solution accessing your work PC from your iPad than having to carry around a bulky laptop.
Microsoft Remote Desktop – Microsoft Corporation is also a tool to consider for RDP.

8. Dropbox Great free service to share files.

9. iBooks Helps you organize your project management books.

10. Skype for iPad This application needs no introduction. Couple it with a monthly subscription for maximum benefits. I lowered my telecommunication costs significantly.

Feel free to send me your favorite project management tools for the iPad.

]]>
http://talesfromthebits.com/2011/11/10-ipad-2-applications-for-project-managers.html/feed 3