Qualitative and Agile Cooperation Within IT Projects
2019-02-27 | Weronika Masternak | lean development
Do you plan to create a new solution and need IT support? Learn about the specifics of IT industry projects, how to develop them to meet the expectations of recipients, and how can you benefit from establishing a cooperation with a Technology Partner.
From the article you will learn:
- what is the agile approach to creating solutions;
- what is better – employing specialists or outsourcing them;
- what are the components of a project;
- what are the key aspects to consider in an IT project.
In just one day, millions of ideas are being born in people's heads, and thousands of them are then implemented and presented to others. IT projects are a somewhat specific category that requires many well-thought-out decisions from originators or investors. One mistake can cost a lot of time and money. In order to reduce the chances of loss or failure, it is worth to have experienced companies or Technology Partners by your side, that show professionalism and high quality of activities with their attitude and hitherto successes (supported, among others, by an extensive portfolio). What to look out for when developing an IT project?
Agile approach to projects
In every IT project you can distinguish several important roles, such as Project Manager, Functional and Operational Manager, Process and Business Analyst, Quality Specialist, System Architect, Database Administrator, Developer or Tester. Due to the fact that each person has a different scope of duties, tasks or priorities, it might happen that they forget the main goal – that is, providing a valuable product for the Client and their end users. Divergent processes and emerging communication gaps become burdensome over time, and cause time and cost overheads for the entire organisation. In order to ensure high quality of delivered services/products, and to reduce the possibility of communication noise, companies implement agile methods into their structures. Thanks to this, individual departments gain a chance to conduct activities that are coherent and create a comprehensive system. Such an approach plays an important role in managing applications, software or product versions.
Thanks to agile methods such as Extreme Programming, Lean Management, Scrum, Kanban, you can observe in the companies carrying out IT implementations:
- reduction of number of drastic changes introduced to a project – new versions appear more often and do not cause a decision-paralysis;
- increased coordination within the released product editions – the project team and the company are informed and fully aware of the changes being introduced, their nature, quality/quantity; in addition, it allows for closer cooperation between sub-teams;
- ability to implement automation for selected processes and/or activities – this means both: tasks repetition and reducing the risk of errors.
These were only some of the advantages arising from employing agile methods. Depending on the organisation, they are able to provide much more attractive benefits, streamline the work, introduce flexibility into the organisational structure, strengthen the internal and external control over the project.
Specialists in the company or outsourcing within the project
Whether the company should create a team as a result of isolating individuals from the current human resources or employing new specialists, or rather choose IT outsourcing depends on many factors – first of all, before making a decision it is worth to specify:
- project objective – determining the reason for the creation of a given solution and formulating the needs. It is best if the goal is be defined in accordance with the SMART principle, i.e. the goal must be specific, measurable, ambitious, real and timely;
- project type – outline the industry; target market; list of competitive solutions; end users; as well as specify the technical/technology, economic, legal, planned and operational feasibility;
- project scope – define the scope in a way that best describes the size of the upcoming works, including presenting the number of people involved in the project, difficulty and time-consuming level of the tasks, quality and quantity of possible changes. It is only logical that the broader the objective, the greater the scope of project activities;
- project risk – assess if there is a chance of occurrence of an event with a specific effect, and decide on the need for people in the project who are able to remedy the given crisis situation;
- project duration – determine if the project is a one-off execution of a sequence of activities, or maybe a continuous observation, updates and implementation of improvements;
- project schedule and framework – create a set of tasks or other activities that need to be done at a given time in order to achieve the intended project goal. In addition, make sure if the set is rigidly determined or remains flexible;
- project budget – specify the amount that is allocated by the company for the development of the solution, and estimate the potential cost;
- project team – define the type of messages and the frequency of their exchange. Communication should be carried out both within and outside of the team. The information activities include: reporting on the progress of works, notifying about the actions having a positive/negative impact on the functioning of other departments/subteams.
What counts in every project is the responsiveness to situations and the rapidity of introducing changes. In the case of companies characterised by a smaller infrastructure, the Investor can usually count on a possibly faster response to the questions asked and expressing the position regarding new implementations. In larger projects, the dynamics of reactions to emerging changes and the speed with which the final version of the solution will be delivered will play a significant role. The key challenges the project team has to face today are also the development of mobile/cloud technologies, as well as the software security (in particular – compliance with the GDPR guidelines and taking into account the activities in line with the Regulation in your strategies; determining the type of reaction at the time of a hacker attack or other crisis situations).
The decision which path to choose – whether to focus on the actual presence of specialists in the company, or maybe consider outsourcing them – should be based primarily on the needs of the investor and the design specification. It is worth to spend some time and energy on consulting your doubts with an expert, e.g. a Technology Partner, that will help to profile the product, and also ensure its sustainable development. An expert's recommendation may turn out to be crucial for the further success of the project. The investor has an important task to do here – they must determine what is more important when creating their product: focusing on the process or on the final business value.
Project's elements it is worth to pay attention to
Apart from a proper team, the IT infrastructure plays a key role. Technology Partners' recommendations should contain information including: the amount of memory and computing power needed; possible solutions in the event of a physical failure of the allocated IT infrastructure; optimal software and the extent to which the processed information is to be secured as part of the project. The basic questions that should be asked in relation to information security will concern the type and amount of the organisational data processed; the degree of their confidentiality; their dependence on the provisions for personal and sensitive data processing (see the GDPR).
During the interview and presenting the offer, it is worth to pay attention to:
- security – the way the software is created and tested; in what environment it will be developed; whether it will be verified in terms of the provisions of law and the principles of data processing; what the access security will look like; will the solution be developed in accordance with the Privacy by Default and Privacy by Design rules;
- scalability – checking how flexible are the solutions delivered; whether there is a possibility for changes in the computing power, data storage locations, encryption method, user impact on the final version of the project, and other;
- resources conservation and code cleanliness – verifying the developers' work standards introduced by the them to the project.
During talks with an outsourcing company or a software contractor, it is worth to talk about the trends that significantly affect the modern face of software development, e.g. the key role of security (e.g. introduction of Zero Trust Security), specialisation within one service specific to a given industry (e.g. creating BIM objects; developing tools supporting BIM distribution within the sales channels owned); the power of process automation; the importance of activities and high-quality UX/UI artefacts in projects, or the emergence of solutions that are part of the convergence of technologies (e.g. artificial intelligence, machine learning, the Internet of Things).
There are many aspects to consider when making a decision to implement a new IT solution or improve an existing one, and there is usually not much time. In such moments, it is worth to look around and get support of a Technology Partner that – with their experience and resources – is able to speed up the processes and reduce the chance of a project chaos occurring.