SDLC – Project Management

Project Management complements the SDLC when it comes to Project Quality. It provides a method of managing these unique project efforts, which increases the odds of attaining cost, schedule and quality goals. Since not all projects warrant the same level of cost, schedule and quality goals, it is important to define, as part of the project management process what these objectives are. Is the customer constraining the time of the project, do they have a limited budget, or are they looking for a "cheap" vs. "high-performance" application? These questions are critical in ensuring that the SDLC efforts are not under- or over-designing the application, which will lead to a dissatisfied customer.

The primary benefits of a good Project Management Process will:

  • Provide consistency of success with regard to Time, Cost, and Quality objectives
  • Ensure customer expectations are met
  • Collect historical information/data for future use
  • Provide a method of thought for ensuring all requirements are addressed through a comprehensive work definition process
  • Reduce Risks associated with the project
  • Minimize scope creep by providing a process for managing changes

The basic assumption of a waterfall model is that it is sequential, yet iterative. It requires a strong Change Control process, which is typically not defined directly within typical SDLC programs. One of the benefits of an effective project management process is a strong change control system, which ensures that all the SDLC documents are updated and maintained as changes are approved, further supporting the notion of improved quality through effective SDLC.

There are two major areas, which significantly affect the effectiveness of the software development team. 

  1. First, Management commitment is critical.  Without strong management support, circumstances will affect our ability to satisfy the customer and meet our project and product objectives. Management that is willing to intervene, when asked to, will further increase the probability of successfully delivering a quality product.
  2. Finally, customer involvement and their willingness to understanding and support the defined SDLC and project management processes is the final hurdle in achieving ultimate success-a satisfied customer. There is no replacement for spending time with the customer and gaining their commitment as an involved team member. The first step is to involve them in detailing the comprehensive business requirements. The most successful software development projects are those where customers understand the value of documenting thorough requirements and work iteratively with the software vendor providing input on the progress.

In summary, an SDLC process by itself, although the basis of successful development can’t ensure success without a clear organizational commitment from each of the "micro-climates". An SDLC process that assumes it can succeed on its own, will fail. An SDLC process that doesn’t have management and project management support to ensure product quality and project quality, will fail. An SDLC process that doesn’t allow for iterative efforts and a partnership with the customer, will fail.

Advertisements

Talking about Visual Studio 2005 Community Integration

 

Microsoft has added a Community menu item to in the new VS.NET 2005 IDE. This resourceful menu will cut the time it takes to search for what we may be looking for while coding.

Through this menu, we can perform the following:

  1. Ask a Question – which takes you to Microsoft’s forum pages.
  2. Send Feedback – which takes you to the MSDN site where you can submit bug reports, post questions, comments and more.
  3. Check Question Status – This takes you to your own personal forum(s) pages.
  4. Developer Center – which takes you to the Visual Studio .NET 2005 MSDN home page.
  5. Codewise Community – This takes you to the MSDN Codewise Community of developers.
  6. Community Search – This lets you locally and remotely search for community related sources such as the ones mentioned above.

These are all sub-menus under the Community Menu, you can find the Community Menu before the regular Help Menu in VS.NET 2005 IDE.

Setting Targets and Goals

 

Managing by Objectives helps ensure that the organization is moving towards achieving its goals. Teams get together and agree their objectives and agree the strategy they are going to adopt in pursuit of their overall goals.

 

An objective may be defined as “something which has to be accomplished, either as a point to be aimed at (a target), a plan or a project to be implemented or completed, a standard of performance to be achieved and maintained, personal development objectives to be achieved, or values to be maintained.”

 

 Characteristics of a Good Objective.

The SMART criteria may be used to define a good objective:

S = Specific

M = Measurable

A = Agreed

R = Relevant

T = Time related

 

(I) Specific:

The objective/target must be documented in the Performance Review Form setting out what is to be achieved and within a specified time frame.

(ii) Measurable:

There is little point in agreeing objectives unless one is clear how performance will be measured. There are several types of measurement systems including the following:

·        Impact measures – e.g. completion of a project, number of clients availing of a service.

·        Reaction measures – e.g. satisfaction survey of clients/customers.

·        Time measures – e.g. meeting deadlines, clearing waiting list backlog, and response times.

·        Quality measures – e.g. quality assurance reports.

·        Financial measures – e.g. income and expenditure.

 


Measurement techniques should meet the following criteria: –

  • Measures should focus on results
  • Teams must have control over the achievement of the goals
  • Measures should be objective and observable
  • Teams must have access to relevant data
  • Existing measures should be used or adapted wherever possible

 

(iii) Agreeing Objectives:

Team Leaders should bring their team together to take part in setting objectives with a view to reaching agreement. These objectives should be set in line with the overall goals of the organization and the agreed service plan.

The steps required to agree objectives:

  • ·        Identify and agree the key performance areas for the team.
  • ·        Ask the team what goals they believe can be achieved for each of the key performance areas.
  • ·        Discuss the suggested goals and agree on any amendments.

·        Agree on the performance measures that can be used or the sort of evidence that can be obtained to indicate the extent to which targets/goals have been reached.

(iv) Realistic:

If objectives/targets are to improve performance and motivate team members there is no point in making them too easy. They should be challenging, aimed at developing team members and giving them a real sense of achievement. They must also, however, be realistic.

Teams should avoid setting objectives which are over-optimistic. Teams should set objectives which are within their control and capability and in line with available resources.

It may be necessary for teams to amend their objectives during the year due to circumstances outside of their direct control. This flexibility is important. External factors may change one of the priorities of a team, rendering their original goals unobtainable during the performance review period in question. It is important, however, that the objectives/targets are not amended unless absolutely necessary as this would discredit the process. The role of a Team Leader when faced with a problem is, wherever possible, to encourage team members to identify what other actions need to be taken to overcome the difficulty rather than to change direction.

 

(v) Time Related:

Objectives should be completed within an agreed time scale. The expected time lines should be specified in the Performance Review Form.

Visual Studio 2005 IDE – Refactor Menu

Visual Studio 2005 IDE – Refactor Menu
———————————————————–

In VS 2005 IDE, you can notice a new menu named "Refactor" placed next to
"View" menu. This new feature (available only in C# and J# – Beta 2 version)
helps the developer to improve the quality of code by restructuring it
internally. Following are the options available on the Refactoring Menu.

1. Extract Method: This is to split a method into many fine grained methods
which are reusable.

2. Rename: This is used to rename an identifier i.e. field, variable, method
etc.

3. Encapsulate Fields: Creating a property to encapsulate a field.

4. Extract Interfaces: Creating an interface which is implemented by current
class.

5. Promote Local Variable to Parameters: Moving a local variable to
parameter level.

6. Remove Parameters: Removing parameters from methods, indexers,
constructors, delegates.

7. Reorder Parameters: Changing the order of parameters.

8. Generate Method Stub: Automatic code generation based on the consumption
of a method.

9. Add Using Unbound Types: Automatic inclusion of namespace for an unbound
type.

For more information on Refatoring in VC#, see this article on MSDN

http://msdn.microsoft.com/vcsharp/default.aspx?pull=/library/en-us/dnvs05/html/vs05_refac.asp

 

Visual Studio 2005 Community Integration

Microsoft has added a Community menu item to in the new VS.NET 2005 IDE. This resourceful menu will cut the time it takes to search for what we may be looking for while coding. Through this menu, we can perform the following:

  1.  Ask a Question – which takes you to Microsoft’s forum pages.
  2. Send Feedback – which takes you to the MSDN site where you can submit bug reports, post questions, comments and more.
  3. Check Question Status – This takes you to your own personal forum(s) pages.
  4. Developer Center – which takes you to the Visual Studio .NET 2005 MSDN home page.
  5. Codewise Community – This takes you to the MSDN Codewise Community of developers.
  6. Community Search – This lets you locally and remotely search for community related sources such as the ones mentioned above.

These are all sub-menus under the Community Menu, you can find the Community Menu before the regular Help Menu in VS.NET 2005 IDE.