Pages

Monday, October 25, 2010

Software Architecture in an Agile Development Environment using the Sashimi approach

teamworkAgile software development methodologies are  now widely accepted and utilised within the software development industry. There is however a lot of debate on how to perform effective and efficient software architecture within an agile environment.

In an non-Agile environment there is usually a lot of architectural discussions and decisions are made at the beginning of a project, practice which is discouraged in an agile environment.

So the question remains, how do you ensure that your architecture addresses the business requirements whilst keeping up with the agile practices. One of the 12 principles of the agile manifesto says that “the best architectures, requirements and designs emerge from self-organising teams”. I believe that this is the key to incorporating software architecture into the agile development approach, self-organising teams..

An Agile environment involves shared responsibility. The traditional role of the architect, as the one who defines the high-level solution, is diluted. The software architecture is performed by the entire team. This practice does not remove the need for a software architect, it just means that the architect contributes to the discussion with a broader and probably more experienced perspective, nevertheless all members of the team contribute towards the architecture of the software.The whole team participates in discussions and understands the consequences of design decision as they are made and, more importantly, these design decision are constantly evolved and evaluated.

Most of the architectural challenges are tackled by including them in iteration reviews, stand up meetings or any other development meeting. These discussions usually include lots of charts, diagrams, white boarding and other techniques. All of which helps to understand architectural challenges and to cement agreed solutions into everyone’s minds.

Software Development Compilation





Welcome to the October 24, 2010 edition of software development compilation.

Software Development Management Articles
Software Architecture in an Agile environment using the Sashimi approach - Agile software development methodologies are  now widely accepted and utilised within the software development industry. There is however a lot of debate on how to perform effective and efficient software architecture within an agile environment.
Reader’s Sponsored Articles
Jennifer Saksa presents Software Buying Trends posted at NCH Software Blog.

Bernice Frankel presents Top 20 Mobile Education Apps: iPhone vs. Android posted at Masters Degrees, saying, "Mobile educational apps can give you an edge in and out of the classroom. Here are 20 great mobile education apps, 10 for the iPhone, and 10 for Android phones."

Lindsay Samuels presents The Bookworm?s Guide to the iPad: 100 Tips, Tools, and Tutorials posted at Library Science Degree, saying, "With any new piece of technology, confusion, turmoil, and frustration can quickly set in when spending so much money, along with learning something new. To help, the article has compiled a Bookworm’s Guide to the iPad: 100 tips, tools, and tutorials."

Chris Davis presents Robot Wars: 10 Recent Developments in Unmanned Warfare You Haven?t Heard About posted at Criminal Justice Degrees, saying, "When the war in Afghanistan kicked off, the U.S. military only had a handful of drones or unmanned weapons on the battlefield. Now it’s one of the military’s main concerns as they race to outdo the competition developing innovative robots that do the dirty work."

Carrie Oakley presents 40 iPad Apps That Librarians Love posted at Online Colleges, saying, "Librarians wear many hats at one time. Besides managing their space, they also organize events, reach out to the community and enhance the feel of the library, making it a timeless treasure that is making a major comeback."

Chirel Jack presents Freelance Jobs - Freelancer for hire posted at Hire consultant - Freelance jobs.

That concludes this edition. Submit your blog article to the next edition of software development compilation using our carnival submission form. Past posts and future hosts can be found on our blog carnival index page.

Share |

Sunday, October 17, 2010

Software Development Compilation




Welcome to the October 17, 2010 edition of software development compilation.

Software Development Management Articles
Common Challenges of Managing Software Development Articles - There are many challenges in managing software development projects. The following list discusses a few topics that have been highlighted as common challenges of software development. The list is not exhaustive, it does however highlights some of the common challenges I have encountered, and addressed, over past 10 years working in software development.
The use of mashups in the enterprise - A mashup is a technique for building applications that combine data from multiple sources to create an integrated experience. Many mashups available today are hosted as websites on the internet, providing visual representations of publicly available data.
I have been observing a new trend in the software industry where applications are there to serve data and not the other way around. Data is at the centre of the universe  and not the application.
Take twitter for example, it is all about the data and not the application. There are so many twitter applications available to serve the data. Business Intelligence proves that when data is utilised effectively it can help organisations to achieve competitive advantage and consequently make more money. Super,markets organise the products on the shelves based on data served to them via business intelligence products such as reports from data warehouses and other. Another example is blogging which is all about what the author is saying, the data. There are many different blogging providers on the internet and many more applications that enable bloggers to create their blog posts and publish them to their website.
Reader’s Articles
Maureen Fitzsimmons presents Top 20 Most Influential Obesity Experts posted at MPH Degree, saying, "If you are looking for ways to improve your ability to write research papers, you are in luck. Technology makes it simple to get help with research papers, as these 20 iPad Apps demonstrate."
Heather Sanders presents 50 Interesting Engineers Worth a Follow on Twitter posted at Blogineering, saying, "If you are interested in learning a little bit more about engineering, you can follow these 50 interesting folks — including some engineering students — on Twitter."
Chris presents Chuck Norris Google Facts posted at Martial Development, saying, "Read these all-original "facts" about Chuck Norris' involvement with the world's most powerful search engine."
J Dumire presents Computer Memory Issues? Excessive Pop Ups? And Slow Operating Speed? posted at LightSpeedPC: No More Computer Lag.
J Dumire presents Don�t Buy a New Computer! You Probably Don�t Need One! posted at LightSpeedPC: No More Computer Lag.
That concludes this edition. Submit your blog article to the next edition of software development compilation using our carnival submission form. Past posts and future hosts can be found on our blog carnival index page.
Share |
Technorati tags: , .

Sunday, October 10, 2010

Software Development Compilation




Welcome to the October 11, 2010 edition of software development compilation.

Software Development Management Articles
Common challenges of managing software development projects - There are many challenges in managing software development projects. The following list discusses a few topics that have been highlighted as common challenges of software development. The list is not exhaustive, it does however highlights some of the common challenges I have encountered, and addressed, over past 10 years working in software development.
The use of mashups in the enterprise - A mashup is a technique for building applications that combine data from multiple sources to create an integrated experience. Many mashups available today are hosted as websites on the internet, providing visual representations of publicly available data.
I have been observing a new trend in the software industry where applications are there to serve data and not the other way around. Data is at the centre of the universe  and not the application…
What makes a good software architect - I have recently read an interview with Ray Ozzie, Microsoft’s chief software architect where he spoke about his role as chief software architect and what makes a good software architect…
The effective IT manager – the importance of relationship building - Relationship building is an important skill that any IT manager should possess and develop in order to be an effective manager.
Reader’s Sponsored Articles
Bridget Nicholson presents 100 All-Time Greatest Popular Science Books posted at OEDb: Online Education Database.
Raphael Pereira presents Great resources to learn Haskell | Raphael Pereira posted at Raphael Pereira.
Jennifer Saksa presents Hello World! posted at NCH Software Blog, saying, "One software developer compares programing and trying to make user-friendly software to the "guest experience" in the restaurant industry and really taking the time to think about all of the little details and listen to customer feedback to help improve the entire process."
That concludes this edition. Submit your blog article to the next edition of software development compilation using our carnival submission form. Past posts and future hosts can be found on our blog carnival index page.
Share |




Friday, October 8, 2010

Common challenges of managing software development projects

devchallenges There are many challenges in managing software development projects. The following list discusses a few topics that have been highlighted as common challenges of software development. The list is not exhaustive, it does however highlights some of the common challenges I have encountered, and addressed, over past 10 years working in software development.
Interpersonal skills – managing the stakeholders
Every IT project is also a business project, interaction with the business is a must. When declaring a project I always insist on having non-IT project owners and stakeholders. Even the most back-office related project needs to be reported to the business. I have recently participated in a project to provide new desktops to members of my organisation. A key part of the project was to involve members of the business to articulate requirements and to evaluate potential options for a desktop replacement.
Interpersonal skill is a very important skill that every IT manager needs to posses in order to be successful. Managing IT projects of any type (software development, security, etc…) will require a lot of interaction with other members of the business. Establishing and nurturing a healthy relationship between IT and other business units should be one of the priorities for any manager within the IT department.
Unfortunately many IT managers fail to address this topic and in doing so they minimise their chances of conducting successful projects.
Business requirements – the uncertainty factor
One of the main challenges in software development is gathering clear business requirements. When a project fails, many IT managers blame the lack of clear business requirements or the lack of communication from the business to notify changing requirements. I personally think that IT managers should take responsibility for their projects, stop blaming and start acting on it.
In my experience, business users may think they are communicating their requirements clearly but once the software is built they realise that they asked for the wrong functionality. This happens way to often. One of the possible strategies to address this issue is to use an agile methodology that builds the system in increments and gets the business users to review every increment built. This way if the requirement is not addressed as the users expect the issue can be dealt with before the system is live. This can save a lot of time and money.
Project management – real project management skills please
I have seen a few development projects being managed by individuals who do not posses the necessary project management skills to manage a project, let alone a software development project. Sometimes good software developers that evolve into management positions fall into the situation where they need to manage the projects, however, more often than not all that they do is create a good looking project plan that once approved is never revisited again.
Regardless of the background of the person managing software development projects, it is necessary that he/she possesses real project management skills and a track record of successful delivery of real life projects.
Resource management – managing IT and non-IT resources
One of the challenges in delivering software development projects is resource management (IT and non-IT resources). Non-IT staff need to be managed from different perspectives depending on their role in the project. Business managers that are not stakeholders in a project only care about high level updates, project stakeholders are interested in detailed updates and they are the ones providing the requirements for the project. .
It is very important that IT personnel develop professional relationships with members of the business in order to support business related communications. This relates to the first point mentioned above where I mention that IT managers need to have well developed interpersonal skills. For more information on relationship building please visit the article entitled The effective IT manager – the importance of relationship building.
In terms of IT resources, the project manager needs to ensure that the right IT resources with the necessary skills and experiences are allocated to the various projects. He needs to make sure that resources allocation is based on the requirements of each project. If your project requires a lot of complex  T-SQL, the manager needs to allocate a developer that has enough knowledge and experience in that area in order to maximise the chances of delivering a successful project.
Software architecture – maximising the use of IT assets
When working on software development projects, it is important to maximise the use of previous development investments by reutilising your IT assets. An IT asset may be a web service, a stored procedure or any architectural building block of an application. Development managers need to be
managing their team in way that a valuable library of development assets is built and they need to ensure that those assets are reutilised whenever there is an opportunity to do so.
Te list above is not exhaustive and barely scratches the surface on challenges related to software development. Many of my readers will be able to add many more challenges. I guess that is what makes software development interesting, solving those challenges and enabling organisations to achieve competitive advantage through the effective and efficient use of technology.

Tuesday, October 5, 2010

The use of mashups in the enterprise

mashups A mashup is a technique for building applications that combine data from multiple sources to create an integrated experience. Many mashups available today are hosted as websites on the internet, providing visual representations of publicly available data.
I have been observing a new trend in the software industry where applications are there to serve data and not the other way around. Data is at the centre of the universe  and not the application.
Take twitter for example, it is all about the data and not the application. There are so many twitter applications available to serve the data. Business Intelligence proves that when data is utilised effectively it can help organisations to achieve competitive advantage and consequently make more money. Super,markets organise the products on the shelves based on data served to them via business intelligence products such as reports from data warehouses and other. Another example is blogging which is all about what the author is saying, the data. There are many different blogging providers on the internet and many more applications that enable bloggers to create their blog posts and publish them to their website.
History of mashups
Mashups have become popular within the last few years, along with the popularity of web 2.0. Early mashups used data to combine it with maps of photos. However organisations are becoming more interest in mashups for the enterprise.
Organisations are utilising mashups to combine their data from different sources to arrive at new, more creative ways, of utilising their data. Some of the uses may include combining data from multiple sources, apply business intelligence to it and display it to information consumers in a way that can help to utilise the information in a meaningful way.
Architecture of a mashup
There are some common architectural patterns utilised to create mashups. All mashups use REST (Representational State Transfer principles)
Data is the core element of any mashup. The data does not need to be stored in a database that is local to the application, It can be anywhere on the internet, served through web services serialised as XML or JSON. RSS feeds are another source of data for mashups because they are in easy to use XML format.
Web services are also utilised in mashups. They can be used to provide extra services to the data or used to transform the data on the mashup.
Developers should think of the mashup application as a combination of middle-tier and some business logic. The client is usually traditional internet or RIA applications.
The use of mashups in the enterprise
There is really no limit to how mashup can be utilised in the enterprise. Combining internally available data with information from the internet can deliver some interesting services to the enterprise. You may create a website to help customers to find service centres, on the same page you may want tot display local weather and traffic conditions.
Another potential application is the use of mashups to lookup data on the internet that would add value to the information available in the enterprise, You can use information from your CRM application and lookup extra data available from various sources on the internet in order to learn more about your customer or potential new customer.
Mashups offer great potential to enterprises by adding value to information that was previously unrelated and serving that data to internal information consumers to to deliver services to clients.

Saturday, October 2, 2010

What makes a good software architect

architect I have recently read an interview with Ray Ozzie, Microsoft’s chief software architect where he spoke about his role as chief software architect and what makes a good software architect.
Software architecture is a very complex and vast topic. It definition can be vague and the definition of a software architect can also be vague at times. In the past 10 years of experience in the ICT industry I have met many high level CIOs. I was always surprised to hear from some of them that they found that there is no need to have a dedicated software architect, they said that the role can be fulfilled by the CIO himself in combination with senior software engineers.
If the software engineer is competent in software architecture then in practice you have someone performing the role of software architect.
I have seen many definitions of the core competencies of a software architect. Some of them were so extensive that it would be hard to define the role.
Ray Ozzie’s says that a good software architect are the ones that have spent time building and debugging applications. He says that one can learn a lot by reverse-engineering applications. The more systems you develop and debug, the more you develop an understanding of what good and bad practices and design patterns. “It is the library of patterns that defines a good software architect”.
Ray Ozzie’s view makes sense. A good architect should have plenty of experience in order to develop a comprehensive knowledge of the patterns to use build applications.
A good software architect is the one that is always researching and learning about new technologies and how to apply them to solve real-life business problems.

Tuesday, September 28, 2010

The effective IT manager - the importance of relationship building

relationship-building Relationship building is an important skill that any IT manager should possess and develop in order to be an effective manager.
The IT department delivers technical assets that an organisation utilises to support its daily activities. These technical assets impact the entire organisation and therefore the IT manager needs to have an in-depth understanding of how the organisation operates, the needs of each individual department and the correlation between between the requirements of all business units within the organisation,
Delivering effective IT services requires a lot communication with members from different areas of the organisation, it is not an isolated service, communication is a vital aspect of delivering effective IT services.
When communicating with other members of the organisation, clients or suppliers, they will respond better to you if they like and trust you.
It is much easier to talk to stakeholders, internal or external, if they like and are open to you in the first place.
Networking as a key to relationship building
Networking is essentially about building solid business relationships. To do this you need good skills in creating rapport and listening.
If you can make a connection with people on subjects you have a genuine interest in, their confidence in you will grow. Use this connection to engage them and then ask genuine questions and just listen. They'll often tell you what you need to know. Strong relationships will inevitably stem from commonalities discovered in simple conversation.
Being interested in people
Building good relationships means being truly interested in the people you deal with, both from a business and personal view. While discussing business issues is usually the main purpose of speaking with someone, finding out something personal about them takes the relationship to the next level and makes the business conversation much easier.
Learning about hobbies, special interests, family, leisure time activities, organisation memberships and anything else that might be of interest will help you make a deeper connection with your peers. It is important to also be able to “read” individuals as you communicate with them. Some people are not comfortable discussing personal matters, you should be able to quickly understand this and make sure that you are not invading other people’s personal spaces or being inappropriate.  
The important thing is what you do with the information you get. When dealing with team members, suppliers, clients and stakeholders try to mix personal information in the conversation. Every contact doesn't have to be about business. It's about peeling away the layers of formality and resistance to improve your chances of achieving what you want to achieve from the interaction.
Promoting a culture that favours relationship building
The best managers are those that develop a good sense of community within the team and across business units. Establishing a healthy culture as part of the community can help win the hearts and minds of clients, staff and suppliers. Culture is about sharing values and a healthy culture will be one that has people who care about each other. In projects it's about creating a 'community' within the project team that shares a common purpose.
It's not just a nice idea. A healthy culture can give a team an edge both in performance and in attracting good quality team members which is of vital importance. A good culture includes (often unspoken) expectations about the way things are done. In a project team these can be about how members respond to inquiries, how they greet each other, and how they behave when the pressure is on.
It's about treating people with respect and listening to their point of view. This doesn't mean you have to agree, but it does mean you respect their right to think differently and to express their views.
Cultures need leaders to set expectations and offer guidance on what's important. As a manager you will need to be aware that people are watching you for clues as to how to behave in relationships with others. Actions speak louder than words.
Relationship with suppliers
The contractual relationship is often one that's all about who has the power. One of the best ways that managers can improve their supplier relationships is to develop loyalty. Loyalty is a two-way street and to earn trust of suppliers, project team members need to demonstrate their value. It includes being professional and respectful in dealings with suppliers, being efficient in delivery of orders and specifications and working one-on-one when the supplier needs it.
In essence, it's about remembering that suppliers are people too and will respond well to a personal touch. When making a judgment about how their client will be treated, a supplier can't help but consider how he or she is treated by that organisation. Managers can cultivate supplier loyalty through open and honest communication. Keep them informed about major decisions and show them you have thought about how decisions will impact on them.
Good relationships are a key to success
It's easy to have good relationships when everything is running smoothly. But relationships really count when projects or related activities start to come undone. As with anything that involves people, establishing processes to encourage good communication and relationships and make clear expectations, provides the cornerstone for success in any project.














Friday, July 23, 2010

Management theory and IT management part 2 - Organising

The purpose of organising is to efficiently achieve objectives through the combined efforts of individuals. Organising can be done at several levels including organisational , departmental, team and project levels.

Organisation Structure refers to the way jobs are divided, grouped and coordinated within the organisation. Organisational design is the process which managers use to organise the jobs, structures, reporting lines and all other aspects needed to achieve organisational goals.

There are several factors that may drive change in the way an organisation is designed. These include, changes in the external environment such as new competitors, changes in the legal or political systems, reduction in market share and others.

The internal environment my also drive changes in an organisation. Factors such as changes in key staff members, strategic direction and even organisational culture may drive the need for organisational design changes.

Organisational structured may be designed in an mechanic or organic way.

An organisation with  mechanic design is more structured, with more levels and reporting lines. It is not suited to operate in a volatile environment with high level of change.

An organic organisational design is less structured with less reporting lines and more individual empowerment. An organisation with an organic design can operate well in  highly dynamic and volatile environments.

An organic organisation design is characterised by cross functional and cross hierarchical teams, with free flow of information, decentralisation and less formalisation.

The IT organization structure should serve the purpose of the IT department depending on its strategy. IT managers must select the most appropriate structure based on sound justification and based on explicit coverage of their needs. If the structure does not fit the purpose, problems will begin to arise in performance, roles, communications and many others.

As the Information Technology field is continuously changing and emerging, IT department managers should review the structure of their IT departments and adjust them according to any changes in
the strategy or any input that contributed in the current structure (internal and external environments).

The IT management conducts the IT organization design process at strategic and tactical levels. It aims to achieve the following objectives:
1. Alignment to new strategic directions of the organization
2. Solve problems resulting from structure inefficiencies
3. Eliminate job conflicts
4. Minimize errors and deficiency resulting from human behavior
5. Clarify uncertainty regarding the hierarchy and distribution of work and
Responsibilities
6. Enable the ability of predicting results by minimizing the personal behavior options

The final design of the IT department needs to take into consideration the IT customers, services, functions and processes.

When all of those variables are considered the It manager can make an informed decision with regards to the organisational design.

The IT manager can implement a mechanic or an organic structure to achieve his objectives. It is also possible to combine a mechanic and organic structure within the same IT organisation.

A mixed design can take advantage of the best of both worlds. Projects that require a lot of control and centralised decision making can be organised in a mechanic, well structured way. On the other had, projects where the requirements are unclear and require flexibility, discussion and decentralised decision making can take advantage of a organic design.

Wednesday, July 14, 2010

Weekly Software Development Compilation

Welcome to the July 11, 2010 edition of computing technology.

The purpose of this compilation is to promote readership and feedback to posts on this blog and on other Reader Sponsored articles.

We hope you enjoy this week's compilation.

Software Development Management articles

Management Theory and IT Management Part 1 - Planning This is the first articl of a 5 part series with the purpose to analyse traditional management theory and its application to modern IT management.
The Benefits Realisation Register is a valuable tool to support the project manager to manage the realisation of anticipated business benefits available from the implementation of a new system

Reader sponsored articles

Thank you to all who contributed to this week's compilation

Thomas Bale presents Nettop HTPC Comparison posted at Tomology.co.uk.
Dave Moran presents Software Results: Good Enough Software: An Agile Definition posted at Software Results, saying, "A post about how the definition of "good enough" software should change with Agile development."
Beth Ziesenis presents TypeWith.me: Easy Online Document Collaboration posted at Cheapskate Freelancer, saying, "Thumbnail review of TypeWith.me on of the easiest and fastest solutions to share documents. This is a free online collaboration tool."
Samantha Miller presents 50 Ways to Use Twitter in the Classroom posted at Online University Reviews, saying, "critics of Twitter believe that the 140-character microblog offered by the ubiquitous social network can do little for the education industry. The listed projects provide them with a few ways to incorporate the site’s features into important and lasting lessons."
laptopreviews presents Lenovo IdeaPad Y460 Review posted at Laptop Reviews, saying, "An original, hands on review of Lenovo's solid y460 laptop."
That concludes this edition. Submit your blog article to the next edition of
computing technology using our carnival submission form.
Past posts and future hosts can be found on our blog carnival index page.



Technorati tags:

, .

Tuesday, July 13, 2010

Management theory and IT management part 1 - Planning

In the next few weeks I will be posting a few articles regarding management theories and IT management. It is a vast topic, I will not be able to even scratch the surface, nevertheless, the objective is to start a discussion on how contemporary IT managers are operating "in the real world" when considering traditional management theories.

The plan is to briefly discuss each management function and conclude the series with a brief discussion on modern theories and how they compare to the traditional ones.

If you have been through a management course you would have certainly come across the 4 management functions: planning, leading, organising and controlling.

IT managers that are primarily focussing on the technical aspects of the job will fail in their primary role,  which is to manage the team. It is therefore important that IT managers know what their management functions are and how to perform them.

The first of the five parts of this series is a discussion on Planning.

Planning

A very simple definition of planning follows: planning is the process of looking forward in order to develop activities in advance. It encompasses defining goals, establishing a strategies to achieve those goals and developing a detailed plan to achieve a set of objectives. Planning is a vital part of the organisational and departmental strategic process, it establishes coordinated effort, reduces uncertainty and establishes goals and standards to use when reviewing organisational performance.

Organisations operate in two environments, internal and external.  Effective planning should include both, the internal and external, environments.

The internal environment includes the organisation itself and its culture. The IT manager needs to know how to influence organisational / team culture in order to lead individuals towards achieving common organisational goals. Another important reason for IT managers to know their role with regards to organisational culture is the fact that IT managers are sometimes hired to change the culture of an IT department in order to increase effectiveness and efficiency. 

There are many perspectives of an organisational / team culture that the effective IT manager needs to consider in order to plan and lead his team. These perspectives include:

 Attention to detail - degree to which individuals focus on precision, analysis and attention to detail.
Outcome orientation - degree to which managers focus on results or outcomes rather than the process on how these outcomes are achieved.
People orientation - Degree to which management takes into account the effects of organisational decisions on individuals in the organisation (hard or soft HRM, but this is for another post).
Team Orientation - organising work in teams rather than individuals.
Aggressiveness - cultivate a culture of aggressiveness and competitiveness in order to achieve organisational goals.
Stability - degree of which decisions and actions are focused on maintaining the status quo.
Innovation and risk taking - degree to which employees are encouraged to be innovative and to take risks.

The IT manager can work on any of these perspectives in order to manage  his team's culture. Take innovation and risk taking as an example. An IT Development Manager may take a critical look at the product developed and compare it to the market needs and other similar products. This exercise may include a Gap or a SWOT analysis. Once this is performed the manager can promote a culture of innovation to plan and position his product into the market and be the first to innovate in his niche and therefore achieve competitive advantage and potentially increase his market share.

The external environment of an organisation is divided into two environment types, the General Environment and the Specific Environment.

The Specific Environment is composed of external entities that have direct impact into the organisation. These can include customers, pressure groups such as environmental agencies, suppliers and competitors.

The IT manager needs to actively manage the external environment to achieve certain goals such as developing a better software than the competition or get the best value for money from suppliers.

The General External Environment encompasses the broad environment in which the company operates. It includes the economy, political or legal issues, demographics and others.

With regards to the actual process of planning, there are a few tools that an IT manager can utilise to support the planning process. These include Gap and SWOT analysis. For the purposes of this article I will describe how a SWOT analysis can be performed to support a IT Development Manager in his planning process.
SWOT analysis is a strategic planning method used to evaluate the Strengths, Weaknesses, Opportunities, and Threats involved in a project or in a business venture. It involves specifying the objective of the business venture or project and identifying the internal and external factors that are favourable and unfavourable to achieve that objective. The technique is credited to Albert Humphrey, who led a convention at Stanford University in the 1960s and 1970s using data from Fortune 500 companies.

A SWOT Analysis will include the following:

- Strengths: attributes of the person or company that are helpful to achieving the objective(s).
- Weaknesses: attributes of the person or company that are harmful to achieving the objective(s).
- Opportunities: external conditions that are helpful to achieving the objective(s).
- Threats: external conditions which could do damage to the objective(s).

The following table is an example of some topics to include in a SWOT  analysis for an IT Development Manager:



Plans can and should be periodically reviewed and adjusted should circumstances change.

In summary, planning is a vital activity performed by IT managers. It involves looking at the internal and external environments that an organisation operates in and devise goals and strategies to achieve organisational objectives.

In the next post we will discuss the organising management function.

Sunday, July 4, 2010

Weekly Software Development Compilation


Welcome to the July 5, 2010 edition of Software Development Compilation.



Daniel Ros presents Used Nintendo 64 Console posted at Hottest Video Games and Cheat Codes, saying, "Find out the latest video games reviews, information on new games, beta testing, sales on video games and more."


Biswajit Basu presents Technolocus: Ethical Hacking: Footprinting Basics posted at Technolocus.


Biswajit Basu presents Technolocus: Ethical Hacking: Why does your port scanner show slow performance posted at Technolocus.



Biswajit Basu presents Technolocus: Tools Required for Assembly Language Programming posted at Technolocus.



Biswajit Basu presents Technolocus: How to use Emu8086 for assembly language programming posted at Technolocus.



Biswajit Basu presents Technolocus: Emu8086:Checking length of two given strings posted at Technolocus.



Biswajit Basu presents Technolocus: Calculating the average of 3 given numbers posted at Technolocus.



Biswajit Basu presents Technolocus: A Program for Multiplication of 2 Numbers posted at Technolocus.



Engelbert Hudson presents Top 25 Startups Revolutionizing Computer Forensics & Security posted at Masters in Forensic Science, saying, "Online identity security is a hot commodity, and the following 25 startups offer revolutionary techniques to protect and secure both individual identities and personal or business data."


Jennifer Saksa presents The Twitter Principle for Software posted at NCH Software Blog, saying, "Small files that are fast to download, install and start using."



Adam Park presents 10 Famous Computer Science Grads posted at Computer Science Schools.



That concludes this edition. Submit your blog article to the next edition of the Weekly Software Development Compilation using our carnival submission form.

Past posts and future hosts can be found on our blog carnival index page.

Thursday, July 1, 2010

The Benefits Realisation Register

The Benefits Realisation Register is a valuable tool to support the project manager to manage the realisation of anticipated business benefits available from the implementation of a new system

The register is not only useful to document and manage the realisation of benefits, it can also be utilised to evaluate and communicate the success of a project or of certain aspects of it.

The following list shows possible headers of the benefits realisation register:

  • Benefit
  • Current business process
  • Cost of the current business process
  • New business process
  • Cost of new business process
  • Who is responsible for realising the benefit
  • How will the process be evaluated
  • Realisation date
  • Realisation reviewed by

Benefit

Explain as clearly and succinctly as possible the benefits to be realised. An example could be "Reduce the amount of paper reports printed for manual approval."

Current business process

Describe the current business process.

Cost of the current business process

Explain the cost of the current business process so it can be compared against the new benchmark set for the new business process. Cost can be in dollar terms and in time, which should be translated to efficiency gains.

New business process

Describe as briefly as possible how the new business process will be. There should be enough information to clearly articulate how the new process is changed to support the benefit anticipated.

Cost of new business process

In this section the cost of the new business process should be estimated in order to enable the project manager and stakeholders to have clear visibility of improvement, or not, when comparing the new business process against the current one.

Who is responsible for realising the benefit

It is important to clearly define the stakeholders that are responsible for the realisation of potential benefits. The project manager is responsible for managing the project and to ensure that the best possible outcome is achieved. Nevertheless, business unit managers are responsible for the management and improvement of business processes associated with their units, they work together with the project manager to realise the anticipated benefits.

How will the process be evaluated

A brief description of how to evaluated the business process in question. This is often achieved by comparing both business processes, old and new, in term of effectiveness and efficiency.
Realisation date and Realisation reviewed by

The last two columns are purely for management purposes, to ensure that there is a history and log and the review of the anticipated benefits.

All things technology


Welcome to the June 23, 2010 edition of computing technology.


Jennifer Lynch presents 60 Awesome Search Engines for Serious Writers posted at AccreditedOnlineColleges.com.


Jena Ellis presents 10 Things to Learn in a Project Management Certificate Program posted at Online Certificate Programs.


Ariana Burgess presents New ActiveAgents for Windows and Mac make Napera Insight deployment even easier posted at Napera.


Mike Fitterer presents Changing the way the World Thinks About eSignature Services: Document Markup posted at DocuSign Blog.


Ariana Burgess presents Introducing the Evri Cocoa API posted at Evri Blog.


Jennifer Saksa presents Naming New Software Programs posted at NCH Software Blog.


That concludes this edition.

Submit your blog article to the next edition of computing technology using our carnival submission form.

Past posts and future hosts can be found on our blog carnival index page.



Technorati tags:

, .

Sunday, June 20, 2010

All Things Technology Blog Carnival - 20, June 2010

Welcome to the June 20, 2010 edition of computing technology.


Katie Gilbert presents Coming Soon to a Classroom Near You: 10 Things To Know About Robot Teachers posted at Best Colleges Online.


Heather Sanders presents 21 Infographics Every Computer Nerd Must See posted at Masters in Computer Science, saying, "Computers have become the lifeblood of our society. To that end, here are 21 infographics that any computer nerd can appreciate."


Canika Jackson presents 10 Must-Follow Twitter Accounts for Politics Junkies posted at Master of Public Administration, saying, "If you follow politics a little, or a lot, Twitter is the place to immediately gratify your desire to know what’s happening in the White House and outside of it."


nissim ziv presents Project Manager: Roles and Responsibilities posted at Job Interview Guide, saying, "The article provides general job description for senior project managers and discusses the responsibilities and requirements for project management positions.

This article can be applied for any organizational roles such as – product mangers, program managers, project leaders and IT managers."


AndrosenDsouza presents 10 Awesome Android Apps for Nurses posted at RN To MSN Programs, saying, "Your android phone puts all kinds of medical information at your fingertips, which not only helps you, but can help your patients also. These 10 Android apps allow you to access the latest medical research and diagnostic tools in seconds."


Brenda Harris presents 50 Free Resources for Controlling Your Online Reputation posted at Associate Degree Online, saying, "Now employers and universities can simply Google a name to see if the applicant is the right fit for them based on the things they do on the job and off. You never want to risk an opportunity thanks to your online reputation, so keep it in check with free resources that will make you look good on the web."


Victoria Kennedy presents Open Courseware & Public Domain Books on the iPad ? The Ultimate Guide posted at Masters Degrees, saying, "The iPad has an optional iBooks application that can be downloaded from the App Store, which displays books and other ePub-format content downloaded from the iBookstore. But, how does the iPad fare in the e-book department, and is it friendly to open courseware and public domain books?"


stanya16 presents 10 Killer Online Tools for Web Designers posted at Web Design Colleges, saying, "Web design has never been easier. Sure, knowing HTML helps, but with these 10 killer online tools for Web designers, anyone can get in on the fun – and take a few shortcuts."


Ariana Burgess presents Archive - Microsoft - Napera posted at Napera.


Mike Fitterer presents eSignature to Save Equity Residential Six Million Sheets of Paper Annually posted at DocuSign Blog.


Ariana Burgess presents Evri Blog posted at Evri Blog.


Leonard Gilhooley x presents 5 Excellent iPad Apps for ?Dr. Mom? posted at CNA Class Online, saying, "Apps that range from helpful reminders of health appointments to apps that can diagnose common ailments mean that Mom has an entire arsenal of medical knowledge at her fingertips."


Tom Tessin presents Top Android Apps for College Students posted at FCC Student Blog, saying, "The top Android applications that every student should consider when it comes to helping them with school."


Larry Brown presents Optimization part 1 posted at Computer Guides.


Case Ernsting presents The Office: A Study in Social Media Success posted at MetaSpring Blog, saying, "Getting started with internet marketing and social media is a complicated process. But have no fear! There are many examples to follow including The Office, Sharpie and a t-shirt company."


Wise Bread presents Make Money Online With Free Videos posted at Wisebread.


That concludes this edition. Submit your blog article to the next edition of

computing technology using our carnival submission form.

Past posts and future hosts can be found on our  blog carnival index page.



Technorati tags:



, .

Thursday, June 10, 2010

Knowledge Management, Decision Support Systems and Competitive Advantage

In today’s competitive business environment it is of vital importance for organisations to achieve competitive advantage. Without it, companies will not be able to operate and will eventually cease to exist. One of the ways in which organisations can position themselves to gain competitive advantage is through a strategic approach towards knowledge management and supporting disciplines.

Many organisations are becoming more alert to the significance of knowledge for efficiency and competitiveness. The main reason for this is the idea that knowledge management, and its applications, are the means by which creativity can be promoted, innovation facilitated and competencies applied in such a way as to advance the organisations and position them ahead of the competition.

An effective knowledge management strategy encourages individuals to communicate their knowledge by creating environments and systems for capturing, organising and sharing knowledge throughout an organisation. The purpose of knowledge management, thus, is to leverage an organisation’s intellectual assets in achieving and sustaining competitive advantage.

There are two kinds of knowledge, explicit and tacit. Explicit knowledge can be expressed in words, numbers, universal principals and so forth. It can be readily transmitted across individuals. Tacit knowledge however is highly personal and hard to formalise which in turn makes it difficult to share with others

In order for knowledge management practices to be effective it needs to take into consideration both types of knowledge. The management of tacit knowledge has more challenges than explicit knowledge; nevertheless tacit knowledge has the potential to generate greater advantages to organisations as it is unique and difficult to copy.

An organisation can achieve competitive advantage by differentiating itself from competitors and new market entrants. Intangible resources, such as tacit knowledge, are more likely to generate competitive advantage due to the fact that intangible resources are hard to copy.

As with any other business initiative, knowledge management needs to be endorsed by senior managers therefore it needs to be part of the strategic planning process of the organisation. An integrated strategic approach will ensure that the topic always has the visibility of top management and is always at the top of their agenda.

Once senior managers decide to implement knowledge management as a means to achieve competitive advantage, they need to take careful consideration as to how that strategy will be implemented. Organisations need to put practices into place that encourage the sharing of tacit knowledge. This knowledge not only needs to be captured but also shared amongst members of the organisation.

one of the barriers that organisations may face when considering knowledge management strategies is the inability to understand the impact of knowledge initiatives on business performance. It is important for organisations to appreciate and embrace the added value generated by Knowledge Management initiatives. This lack of understanding makes it difficult to justify and implement knowledge management strategies.

Implementing Knowledge Management

A few strategies to implement knowledge management have been devised including knowledge management score cards and knowledge management SWOT analysis. Any knowledge management strategies need to be implemented by directly relating it to real life work. If employees are not able to directly link knowledge management tasks with their daily tasks then knowledge management initiatives will become dull and individuals will not be encourage to positively participate in the new initiative.

It is also important to consider how computer systems can support the implementation of a knowledge management strategy.

A prerequisite to implement a knowledge management strategy is to understand and develop the infrastructure elements required to support the acquisition, management and transfer of tacit and explicit organisational knowledge.

As mentioned above, knowledge needs to be acquired, managed and transferred. Information systems can be used to support this process by implementing decision support systems (DSS). The purpose of such systems is to centralise data into a data warehouse and provide users with the ability to retrieve it and analyse it. The vast amount of data is given context and turned into powerful information which can be used to gain advantage over competitors.

Data Warehouses centralise information from various sources such as billing, customer relationship and document management systems. A strategy can be put into place to encourage employees to enter tangible and intangible information, which is ingrained in their brains (tacit knowledge), into a knowledge bank which is then transferred into the data warehouse and available to all employees of the organisation.

The Role of Strategic Human Resources Management in Knowledge Management

Organisations are composed of individuals who work collectively to achieve a set goal. It is therefore important to consider the fundamental centrality of human and social factors in shaping the attitudes of workers towards knowledge-sharing initiatives. There is significant potential for Human Resources Management analysts and practitioners to make a valuable contribution towards the development of knowledge and to play a central role in organisational knowledge management initiatives.

It is important to note that If HRM is about managing people effectively and if people’s most valuable resource is knowledge, then HRM and KM are closely interrelated. With this in mind it is important to consider that the knowledge acquisition aspect of knowledge management is about recruiting outstanding people and about helping them learn and grow as individuals and professionals. It is also about encouraging employees to participate in professional networks and communities of practice that extend beyond organisational boundaries. Knowledge creation is achieved by creating a supportive environment, through requisite HRM, for individuals, groups and teams in order to be challenged by the organisational problems, to search for the problems’ solutions and to innovate. Human Resources influence in knowledge management goes from the creation of positions and teams, to the provision of information feedback flows, to the design of stimulating remuneration and other systems of encouragement. It includes also investment in the training and development of human resources.

Conclusion

Knowledge Management is about leveraging organisations' intellectual resources in order to achieve and sustain competitive advantage.

In order for an organisation to achieve competitive advantage, it needs to differentiate itself from the competition. One way of achieving this differentiation is through investing in people and their knowledge. These are intangible assets which are impossible to copy and therefore offer the potential to differentiate an organisation from its competition.

Decision Supporting Systems, Data Warehouses and Human Resources Management play a vital role in the knowledge management process by providing recruiting the right people to the right job and by enabling the knowledge management process through information technology that support knowledge acquisition, sharing and, most importantly, the application of knowledge to support organisations to achieve competitive advantage.

References

Alhawary, F. A., & Al-Zegaier, H. (2009). The Successful Implementation of Knowledge Management Processes: The Role of Human Resources Systems "An Empirical Study in the Jordanian Mobile Telecommunications Companies". Journal of Information & Knowledge Management , 159-173.

Halawi, L. A., Aronson, J. E., & McCarthy, R. V. (2005). Resource-Based View of Knowlegde Management for Competitive Advantage. Electronic Journal of Knowledge Management , 75-86.

Hamza, S. E. (2009). Capturing Tacit Knowledge from Transient Workers: Improving the Organisational Competitiveness. International Journal of Knowledge Management .

Ibrahim, F., Edgar, D., & Reid, V. (2009). Assessing the Role of Knowledge Management in Adding Value: Moving Towards a Comprehensive Framework. Journal of Information and Knowledge Management , 275 - 286.

Smith, P. A. (1998). Systemic Knowledge Management: Managing Organisational Assets for Competitive Advantage. Journal of Systemic Knowledge Management .

Srinivas, H. (2009, December). Types of Knowledge. Retrieved March 22, 2010, from The Global Development Research Centre: http://www.gdrc.org/kmgmt/km-7.html