Complete Guidance

Complex processes, like software development, require professionals of many fields and domains to contribute to achieve success. Those people, however, wear not only different hats but different glasses, too: all come with their own concepts, approaches and goals, and while one sees your software as a set of data tables to facilitate user authentication, the other may see it as dashboards to make customer’s top-management happy. It is not that obvious to make conversations between these parties seamless, and it is not that obvious to have your own concepts and goals above the others. Should you happen to fail managing this, and you’ll easily find yourself to have a software which is not quite the same what you needed, while all parties completed their tasks individually in suitable quality. We wish you never find yourself in such a situation. Apart from whispering prayers, we can also help you using non-transcendental tools, as well. In our projects, we focus on providing complete guidance throughout software development lifecycle. We can stand in the role of the orchestrator to manage the orchestra trying to play your symphony. Years of experience in coordinating between developer parties and customers, as well as years of experience in business analyst and technical product manager roles makes us perfect to enforce your concepts and goals, so that you will get what you want to get for your hard-earned money.

The Primary Development Cycle
Take a look at our IT services

Modern approaches to software development focus on product or application lifecycles rather than development cycles, however the latter stays in central role, as efficient application management can only rely on properly developed software. The primary development cycle, in which Imprestige is specialized, consists of the four major steps of developing a software:

  • Imagine what the software should be like, this is called analyzing. This involves a visioning phase to develop a scope and a specification phase to accurately define the requirements.
  • Design how the software will serve the needs. Design starts with finding out how a software can meet the requirements (conceptual design), and follows with setting up its structure (architectural design).
  • Implement the designs (code development) and optimize the code to facilitate manageability (refactoring).
  • Test to check if the actual software satisfies expectations. A proper test phase consists of a preparational phase defining the test strategy and the test cases, and an execution phase.

You can learn about our roles in these activities in the next sections.

Service Showcase
Business Analysis
Business Analysis
Requiremens Management
Requiremens Management
Architecture Design
Architecture Design
UX Design
UX Design
Ergonomics & Usability
Ergonomics & Usability
Development
Development
Project & Team Management
Management
QA & Testing
QA & Testing
Product Development
Product Development
The Specifics
Business Analysis & Visioning
Business Analysis
Every Route Needs a Destination

Often overlooked even by professionals, business analysis is something which, when missed, may have a large unwanted impact on software development. At certain points of design and development, different decisions shall be made. Without knowing the strategical goals of the shareholders paying the bill, the decision maker, often an architect or developer, will not be able to account for these goals. What’s more, without strategical targeting, the requirements analyst won’t have the information on what aspects or features to focus more. The goal of business analysis is to overcome this situation. But what is business analysis actually? Well, it consists of:

Steps of Vision Development

Vision Development

  • Identifying the top-level benefits the stakeholders of a project want to achieve, and the issues they want to avoid. Examples are cost saving or cutting completion times of processes. Without conducting proper business analysis, the strategical goals may be left uncovered, and tradeoffs on aligning contradictory goals may be performed by a developer instead of CxO level—once there are no goals set, and there are no beneficiary parties assigned for the goals, there is no reason and no way to ask the proper shareholder to draw her decision. Even identifying stakeholders may not be trivial.
  • Some of the goals may be in contradiction, and one has to choose which one to give a higher priority. Setting up priorities among goals helps to ensure to create the best cost/value and focusing efforts on the most demanding needs. Should the team, for example, forget conformance requirements, and they may create a great and robust application—which cannot be deployed due to lack of conformance.
  • Putting the software in context. No software lives on its own, and most of those interacts not only with some hardware sensors or the such, but with an ecosystem of other applications. The new or improved software must fit this ecosystem, which may require special care and attention, and also may require initiating changes in connected software. On the other hand, hardly any software covers business processes end-to-end, most of the applications come into picture at a certain step of a process and at some other point the process employs other applications. Business process analysis and engineering conducted in the course of business analysis is to correctly place the software in the context of processes.
  • Prototyping or sketching the user interface is often the best way to communicate major functional and ergonomic requirements and visions, as well as processes implemented by the system, and gives a good indication for technology selection.
How Can We Help?

Our long track of rich experience in business analysis and product development proves we are successful in:

  • identifying and communicating with stakeholders
  • identifying strategical goals and priorities; driving trade-offs
  • analyzing and reengineering current business processes, as well designing new business processes
  • developing UI sketches, prototypes and wireframes
  • developing visions which may be turned to reality
  • developing a roadmap to make sure the first benefits come as early as possible

Get in Touch

Why don’t you just send us a few lines telling your issues? We may have the answer on-hand.

Requirements Analysis & Management
Requirements Analysis
Know What You Want

Requirements analysis and vision definition services of Imprestige may help in the preparation and initial stages of the software development process. Thorough definition of features and demands, as well as precise requirements specifications are the fundamental for success. Just imagine, when requirements are not straightforward and well-organized, how could the software based on those meet the expectations?

Our Methodology

Our concept is based on the fact that artifacts developed during software development should be generated by transforming one into the other: a good requirements specification should be the basis to develop system design, test plan and user assistance documents. Such a transformation guarantees consistency among the various documents and views of the system. The carefully developed set of requirements is, moreover, a necessary artifact for change management. Change management is critical to success since requirements and priorities change often and quickly over time. Any software unable to adjust to these changes may be outdated right at the moment of being released.

How Can We Help?

We simply think of everything during requirements analysis: in addition to functional requirements, we do not forget about security, architectural, ergonomics, conformance, performance and other kinds of requirements. Our thorough and comprehensive requirements specifications enable for precise measurement of an application’s conformance to requirements and, this way, for controlling vendors. By unambiguous identification of requirements, learning their interferences, analyzing risks and suggesting measurements to lower risks, we draw an exact picture of the system before writing the first line of program code. Imprestige’s software requirements specification concept has been evolved for over 10 years of success and failures. That’s why we say it’s our main specialty.

Get in Touch

Why don’t you just send us a few lines telling your issues? We may have the answer on-hand.

System Design
BannerYard-IT-SAD
Build Together

You get the image of the solution. We have the skills to build it up for you. With over 15 years experience in building software applications, we can develop reliable and robust architectures open to future extensions. By combining the latest results from the fields of software modeling and design, we can find the suitable structural and behavioral elements, as well as design patterns and technologies to construct future-oriented solutions. We are primarily specialized at Microsoft architectures and to building .NET solutions.

Get in Touch

Why don’t you just send us a few lines telling your issues? We may have the answer on-hand.

Ergonomics & Usability
Topic-IT-Ergonomics
Usability Is Money. Earn or Lose?

Do you find elegance important? And what about being practical, productive and effective? What about getting the job done using intuitive and clear methods? Your answers also apply for software and websites. Appearance and usability are extremely important for out-of-the-box products and commercial websites—once your stuff doesn’t look state-of-the-art or is not easy to use, customers will choose your competitors. Regarding internally used software, on the other hand, users may not have the choice to switch to another application, however efficiency and productivity may be greatly impacted by how much a software, along with its navigation features and function access methods are intuitive and comprehensive: how many to click to access commonly used functions, do hotkeys and keyboard shortcuts support more efficient work, do users need to repeatedly perform the same operations? Contrary to the popular belief saying ergonomics is about appearance, appearance is actually only one constituent to the recipe of real ergonomics. You can find many software and websites which look good, but usage is a nightmare: a labyrinth of poorly documented functions, bad wording, inconvenient processes, unexpected results, lack of support for common tasks and shortcuts and so on. How can one expect to exploit the value implemented in a system which may feature the world’s best algorithms, if time is wasted on figuring out how to use rather than spent on value production?

Ergonomics Can Be Engineered

Creating ergonomic software is not magic and not a question of innate talent, but a process careful enough to pay attention to the details of what makes a software usable. Ergonomically designed software:

  • is intuitive to allow users to feel familiar even on first use;
  • puts frequently used assets at the user’s fingertips;
  • conforms to de facto standards of the underlying platform;
  • is well documented and the documentation is also easy to use;
  • is responsive.

Such features in commercial software attract users, and in internal software they enable for leveraging maximal productivity.

Get in Touch

Why don’t you just send us a few lines telling your issues? We may have the answer on-hand.

QA & Testing
Banner: Don't waste your money: ROI in quality
Our Principles of Quality Assurance

The Buzzword

The term you heard the most during the years you’ve spent in the industry is certainly QA. Chances are that you, despite of the many mentions, rarely heard a competitive definition for it. In our approach, QA is the concept of getting and staying organized, as well as exploiting all values laying in what you have in order to create efficient and highly productive software to maximize the ROI of the developer and the customer. QA should not be l’art pour l’art activity, but that with the strict rationale of adding value.

Hyper-linking

No, not in that sense. In the sense of knowing everything is linked to everything. To know that making a „minor” change in the implementation of a function may break a screen you don’t even know it exists. As one of the believers of accuracy, we propose the use of repositories offered by market-leading CASE tools, which are capable of storing any assets of your software development, from business goals, through use cases to UI elements, and of creating links between them. This makes change management easy and ensures your software stays consistent with its requirements and designs, due to frequent changes.

Testing = QA?

We have the definite answer: no! No way! Testing is just as reliable as carefully it is planned. Testing in itself is just a comparison of expected and actual results. It is inevitably a core part of QA, however testing itself can be good and bad, as well. Are you sure you are testing the correct requirements? Are you sure you test each relevant aspects, not only functionality? Are you sure your coverage is satisfactory? Testing is a stage in software development projects, which should be planned and executed along the principles and practice of quality assurance. But don’t panic! That’s not magic! It is only about carefully planning testing, from requiring accurate requirements definitions, through extending test to non-functional aspects like ergonomics and performance, to not forgetting about regression. All planned and coordinated.

Quality Assurance Principles

Get in Touch

Why don’t you just send us a few lines telling your issues? We may have the answer on-hand.

Product Development Services
Topic-IT-ProductDevelopment
One Step at a Time

Business requirements and changing markets demand for complex applications, either talking about internal developments or out-of-the-box products. Developing a complex solution in one step has just too many risks: quickly changing business and technology environments may outdate monumental plans by the time they become ready; usually nor clients, nor vendors have a clear and comprehensive picture of the system; during the long development time there’s no possibility to pre-check at least some portions of the solution, making it impossible to determine if things are going fine or corrective measures should be taken. All these yield in late return on the investment, if there is a return at all, and clients need to wait for a long for the benefits of the investment—such as cost saving, increase in efficiency, increased productivity etc—or those benefits will not even appear. Dividing mega-visions into plannable smaller projects built upon each other and implementing functions in a logical manner, however, enables for the implementation of more and more functions over time and projects. This concept ensures that users can even use the first versions, so that the return on investment may increase soon. This is called incremental and iterative development, and is one of the fundamental concepts of many classic and agile methodologies like the Rational Unified Process (RUP) or Scrum.

How Can We Help?

By learning your business demands, technical environment and restrictions, budget and deadlines, Imprestige can help in dividing your long-term complex development into phases resulting working application versions. As the first step of planning, Imprestige’s experts hold interviews to collect all business demands of the planned solution, as well as technical restrictions. Next, they assign priorities to these demands and restrictions, and perform risk analysis. Based on the picture obtained in accordance with you, Imprestige then develops your middle or long term product development plan, with which it will be easier for you to persuade decision-makers of the necessity of the investment, since you’ll be able to continuously deliver straightforward results for them to check whether the investment meets their expectations.

Get in Touch

Why don’t you just send us a few lines telling your issues? We may have the answer on-hand.