CASoft Blog     CASoft Blog

         Communication Aspects in Software Engineering

22 June 2009

TFS for Project Management

Filed under: Agile,Project Management — Tags: , , — admin @ 19:31

Team Foundation Server (TFS) is a Microsoft offering for source control, data collection, reporting, and project tracking, and is intended for collaborative software development projects.
It is not just a bug tracking tool.

It is available either as stand-alone software, or as the server side back end platform for Visual Studio Team System (VSTS).

TFS Architecture:

When creating a project, there are 2 project templates to choose from:

  1. MSF Agile:
    • Provide Work items and Processes that support Agile programming approach
    • Based on MSF Agile, it stretches the Agile approach to comply with CMMI Maturity level 3.
    • It is 150% larger than MSF Agile, for example MSF Agile has 25 work product artefacts, MSF CMMI has 59.

TFS manages pretty much everything as Work Items:
The recommended links organisation is as follows:

Queries and reports can be developed in order to retreive any data from TFS. There are existing reports, such as Bugs rate and Remaining work.SharePoint Web Access allows web access to all the information in TFS: Work items, Queires, Reports, Documents, Source Control, Builds and also Timesheets. SharePoint can be used by project Stakeholders, including the Customer if you wish.

SharePoint Project Portal provides documents repositories for projects and Wiki features.

The Integration of TFS and Excel allows to extract any data from TFS into Excel, using queries. The data is copied in the spreadsheet and can be refreshed from TFS at the press of a button. The data can also be edited in Excel and be published in TFS. Charts can then be developed in Excel.

It is also possible to develop pivot-table that access the TFS database directly (instead of running a TFS query).

There are also plug-ins to TFS, such as:

  • Calibre VSTS Add-in, which allows synchronisation of requirements with the tool from Borland
  • Test Director Synchronisation Engine, which allows synchronisation of bugs with the Quality Centre.

Also TFS Power Tools, to be downloaded, offer very interesting features, such as:

  • Process Template Editor
  • Work Item Editor
  • Custom check-in policies
  • TFS Server Manager
  • TFS Client Tool
  • Alert Editor

Finally TFS 2010 will offer the following additional features:

  • Architecture Explorer, which is a graphical visualisation of code
  • 7 diagrams UML supported, for design and share diagrams
  • Tools for test cases management, such as tooling for better documentation & test
  • Test Impact View, which allows to run tests impacted by a code change only
  • Enhanced Vision Control, with gated check-in, branch visualisation & build workflow

20 June 2009

Effective Thinking

Filed under: Project Management — Tags: — admin @ 10:56

In order to think effectively, one needs to avoid rules of thumb and short-cuts.

Heuristics for effective thinking:

  • Availability heuristics: Recall most vivid memories
  • Representiveness heuristics: Judge something with something else it looks like
  • Anchoring heuristics: Judge something with its distance from the anchor

Thinking traps:

  • Selective perseption
  • Contrast effect
  • Rationalisation effect

Short cuts:

  • Cognitive laziness => Need to gather more information, concrete facts and figures, short-term and long-term consequences.

Biases and Assumptions:

  • Consistency bias => Examine your motives regarding the problem
  • Confirmation bias => List possible causes of past outcomes. Purposefully focus on contradictory evidence. Seek input from impartial 3rd party
  • Hindsight bias
  • Attribution biases (self-serving bias, egocentric bias or fundamental attribution error)

Problem Solving Mindsets:

  • Apathetic mindset
  • Adaptive mindset
  • Analitical mindset

Decision making styles:

  • Despote
  • Judge
  • Waffler
  • Safety blanket

Obtain a wide range of experiences and maintain a learning log.

19 June 2009

Ellipse ERP modules

Filed under: Business Analysis — Tags: — admin @ 17:02

In a nutshell, Ellipse ERP is organised as follows:

1- Maintenance:

  • Equipment Register (Core)
  • Work Orders (Core)
  • Standard Jobs
  • Equipment Group Identifier
  • Equipment Tracing / History
  • Projects
  • Maintenance Scheduling
  • Work Groups

2- Supply Chain (Requisition, Approval, Consolidation, Pick, Acquit Receipt):

  • Catalogue (Core)
  • Inventory Management (Core)
  • Suppliers (Core)
  • Purchasing (Core)
  • Warehouse Management
  • Forward Purchasing Agreements
  • Repairables
  • Inventory Tracking
  • Transport
  • Disposables
  • Entitlements

3- HR:

  • Personel
  • Payroll
  • Leave / Absence Management
  • Time and Attendance
  • Position Management
  • Recruitment
  • Training
  • Performance Management

4- Finance:

  • Journal Holding
  • Chart of Account
  • General Ledger
  • General Ledger Statistics
  • Journals
  • Management Accounting

5- Administration:

  • System Administration
  • Table files

Applications naming conventions:

  • MSO – Online Programs
  • MSB – Batches
  • MSR/A – Reports
  • MSS – Subroutines
  • MSQ – Smart client applications
  • MSE – Web Applications
  • MSF – Data Files

17 June 2009

Staff Development

Filed under: Project Management — Tags: — admin @ 16:36

When it comes to staff development, one wants to start by identifying the Leaders. Here are a number of theories that can help in identifying Leaders:

  • Trait theory: Charism, Intelligence, Confidence, Influence, Business knowledge
  • Equity theory: Efforts rewarded fairly
  • Behavioral theory: Combine reaching specific goals and building relationships
  • Contingency theory: How leaders adjust under different circunstances
  • Situational theory: Strong leaders adjust to the needs of employees

Transactional leadership sets expectations and reward system, and manages by exception.
Tranformational leadership builds relationships, leads by example, and endeavours to make positive changes.

Developing staff through Organisational Development:

  • Change management
  • Knowledge management
  • Learning organisations

Organisational Development Interventions:

  • Total Quality Management: Eliminating defects in processes.
  • Six Sigma: Client orientation and management focused methodology for improving quality.
  • High-involvement Organisations: Entrust employees at all levels as decision makers.

Human Process Interventions:

  • Leadership development
  • Team building
  • Conflict resolution
  • Emotional Intelligence

Human Resource Development Interventions:

  • Performance management
  • Diversity programs

16 June 2009

Personnal Accountability

Filed under: Project Management — Tags: — admin @ 16:19

“I’m holding you accountable for the outcome.”

Lack of Personal Accountability may show through Negativity:

  • Emphasis on blame or deflecting fault
  • Complaining tone
  • Expression of frustration or fear
  • No real productive answer
  • No suggested action
  • Judgemental tone

Positivity, on the other hand, is usually partnered with Personal Accountability:

  • Emphasis on helping or solving the problem
  • Willingness to take positive action
  • No accusation
  • None-judgemental tone
  • Emphasis on being open-minded and taking responsibility

Choose your attitude. Play. Make their day. Be present. Be world class!

15 June 2009

Empower and Motivate Employees

Filed under: Project Management — Tags: — admin @ 11:43

Of all the areas of project Management, people have the greatest potential to shorten software schedules across a variaty of projects. In order to be highly successful, Project Managers want to foster a motivating and energizing culture within their teams.
Motivation can make or break projects. It is undoubtedly the single greatest influence on how well people perform. Research studies have demonstrated that motivated Developers can produce up to 10 times more than their unmotivated counterpart.
Many common management practices however are penny-wise and pound foolish, trading huge losses in morale for minor methodology improvements or dubious budget savings.
Although motivation is a soft factor, the knowledge of how to motivate Software Developers is not a total mystery.
For most people, motivation comes through empowerment, autonomy and trust. The major motivation inhibitor on the other hand is fear.

Providing the best environment to promote motivation:

  • Give interesting job and challenging work
  • Provide personal development and flexible policies
  • Eliminate fear
  • Make eye contact and smile
  • Take responsibility – don’t pass the buck
  • Be honest, loyal and work hard
  • Get inside the other person frame of reference
  • Solicit suggestions and act on them
  • Expect people to succeed
  • Be teachable – commit to learning
  • Inspire – touch their heart
  • Handle every single transaction with each and every person, no matter who that person is, as if you will have to live with that person in a small room for the rest of your life

In his book “Rapid Development” Steve McConnel describes the following:

“Compared to their Managers, Developers are somewhat more motivated by possibility for growth, personal life, opportunity for technical supervision. Developers are much less motivated by responsibility, recognition and interpersonal relationships with subordinates.”

Developers and Managers are motivated by different factors, and this may contribute to miscommunication.
In order to motivate a Developer, it is recommended to emphasize technical challenges, autonomy, the chance to learn and use new skills, and career planning.
Let Developers focus on what they like doing most: developing software. Provide opportunities to learn and expand skills. Avoid excessive pressure.
Allow Developers to experience meaning in their work, responsibility for the outcome of their work, and know the actual results of their work activities. Avoid interuptions and distractions. Respect the need for time off.
Developers grow tired of working for unappreciative companies and rewards are therefore important to long-term motivation. Giving certificates of appreciation for example has proved efficient.
Endeavour to catch people doing something right or great, and give them a sincere praise:

I noticed you did [something great] on [that date] .
I appreciated it because [its effect].

Celebrate special events. Provide T-shirts or mugs personalised with the project’s or team’s name.

Proper execution of a performance review can significantly increase or decrease motivation. Take the time to prepare and make sure your performance reviews increase motivation.
Some performance management system are so complicated and bureaucratic however that the simplicity and ease of coaching has gotten lost. Coaching is a simple conversation and one can use the following structure:

  • Opening statement: “I want to talk to you about [general area of performance].”
  • Observation: I’ve observed [behavior].”
  • Impact: “The impact is [impact on the job].”
  • Request: “From now on, I’d like you to [improved behavior].”

Morale Killers:

  • Developers are sensitive to being manipulated by management. They want management to deal with them in a straightforward manner.
  • One of the quickest ways to drop the motivation to zero is to present Developers with an impossible deadline.
  • Lack of appreciation for efforts
  • Inappropriate involvement of technically inept management
  • Not involving Developers in decisions that affect them
  • Productivity barriers and road blocks
  • Low quality and short-cuts
  • Heavy handed motivation campaigns

Finally, competition can get people to stretch themselves beyond what they even thought possible, while having fun. Most people will go a long way to try to win a fair competition.
Encourage team spirit by organising competitions between teams (not individuals). Make sure every team gets to win at some point or another. Recognise the teams for their strength anyway.
Make sure these competitions are about work (no dress or photo competition), and they are about productivity and fun (not just fun and not just productivity).

9 June 2009

Coping with Difficult People

Filed under: Book Review — Tags: — admin @ 10:55

Robert M. Bramson has identified several patterns of behavior exhibited by difficult people, in his book Coping with Difficult People.
These patterns of behavior are:

  • Hostile-Agressive : Pushy and uses intimidation. Arbitrary and arrogant.
  • Complainer : Gripe without offering a solution. Seldom takes action to rectify a situation.
  • Silent-and-Non-Responsive : Not very communicative. Relies on others to share their feelings and thoughts.
  • Super-Agreeable : Never commit themselves. Fear rejection.
  • Negativist : Are fatalists. Often nay sayers.
  • Know-It-All : Self-appointed experts. Condescending.
  • Indecisive : Delays making decisions. Fear of hurting or alienating someone.

Project Managers will improve their skills significantly by having a good understanding of Bramson’s work, as he provides a good insight on dealing with several types of difficult people.
Failure to deal with difficult people at meetings, for example, may result in achieving nothing. It also creates atmospheres of negativism that last long after these sessions are dusted.

Get it from

8 June 2009

Java and .Net Interoperability

Filed under: Technology — Tags: — admin @ 15:48

JNBridge delivers a message-oriented bridge between Java and .NET objects, undertaking a JMS client on the Java side and .NET remoting on the CLR side.
JNBridgePro provides a proxy system that handles garbage collection gracefully. It provides Java object implementations to .NET Remoting.

JNBridge –

Older Posts »

Powered by WordPress and