Atlogys
Overview Technologies Value Addition
Client Benefits Unique Offerings
The Team Our Beliefs
Overview Areas of Expertise Skills and Competency Engagement Model Value Addition
Customers Case Studies

The Interface between Business and Technology – who, what, why ?

February 5th, 2013 by Ritika Sanghi
Posted in Chief Technology Officer | No Comments »

Situation 1

The diagram below shows the situation when a businessman works directly with a technical service provider like a software development company.


Result: Unsatisfied entrepreneur driven by WHAT the developer can do, and not what actually the business requires. The developer is focused on their technology and on only doing a fixed quantum of work (called work packet) without really thinking about the business use case or the evolving nature of the product.



SITUATION 2

The diagram below depicts the situation when a businessman employs an interface to manage the process. This interface can be their CTO or a technology consultant (IT consultant) who understands both the business and technology side of things.

RESULT: Satisfied and happy entrepreneur who gets real value for his time and money. The businessman initiatives really pay off and he/she gets a robust scalable product which is healthy and easy-to-use.
The CTO consultant advices on technology and creates a technical design in line with your business vision. He/she then can even choose the best team which suits your need, and also guide, monitor the team.

Businessmen and entrepreneurs often do not understand technology. They may have great ideas and great marketing plans. However, the lack of knowledge of the technical processes and parameters introduces inefficiencies in their product development cycle which lead to complete failure of the business idea itself.

Businessman should remain focused on the business and not software. Development companies should focus on what has to be done. The interface in the middle must manage the requirements, do the design and provide processes and guidelines to each party along with enforcing measurable performance benchmarks.


Share

 

Startups – The ideas that don’t make it !

February 5th, 2013 by Ritika Sanghi
Posted in Chief Technology Officer | No Comments »

The latest boom and trend in the IT industry is to risk one’s potential to the maximum by doing a startup. With the various open source technologies available today, more and more people are willing to give it a shot. Despite the risk, it is amazing to see the innovative ideas that take form in people’s mind today.

However, due to the lack of exposure to technical trends in the current IT industry, when people try to put into practice their innovations, they realize that there are many challenges in making a successful software product and as such, a successful business venture. By the time they learn to overcome the challenges and get into the drift, they realize realize their innovations are already dead.

So what is happening here?

The ones who take initiative go forth and begin the initial stages of bringing a startup together. They work on it with passion but soon realize that they had taken a lot of factors (from an IT perspective) for granted. Without sound technical know-how and an eye for the latest emerging trends and tools in software, they are not able to breathe strength and charisma into their product. In short, they fail to make their ideas successful.

As such, to avoid falling into such pitfalls, , it is only human nature to heed the advice of those experienced in the field. In order to support you in the areas where you lack expert knowledge, there is always an option to ask help from those who have achieved expert technical knowledge and experienced the IT industry much.

What you need is the next door CTO.

The Entreprenuers should focus on the business and not the software.

The basic problem that an entrepreneur experiences is the trouble of managing the entire project. Plus, without proper technical guidance, they will fail to see their business bloom. Apart from these, they also face the following challenges at various stages:

  • Low quality design.

  • Slow rate of initial development.

  • Intolerability of peak-time traffic.

  • Security loop holes.

  • Un-scalable architecture.

  • Time delays.

  • Unmet deadlines.

  • Impromptu communications.

With a CTO to watch your back, you can concentrate on your business and leave the geekiness and technology to the experts. You will find your innovation being packaged and ready for the world to behold in no time along with it being the best quality as well as making the very best first impression. Your CTO will

  • Understand your business vision.

  • Provide you with the most optimal technical execution strategy.

  • Seamlessly source and manage The Right development team off-site.

  • Provide a Fully managed and monitored development experience.

Have a startup in mind? Time to ring the bell of your next door CTO!


Share

 

Venture Capitalists express interest in ‘Offshore CTO’ to strengthen client’s software

March 14th, 2011 by Ritika Sanghi
Tags: , ,
Posted in Chief Technology Officer, Consulting | No Comments »


The success of a web based business depends highly on the quality and efficiency of its underlying technical platform. As a Venture Capitalist funding such technical ventures, it is necessary to ensure that the portfolio CEO not only has sound technical competence for the design of the platform, but also has reliable and competitive developers for implementation and delivery as per its scope and schedule.

In such a situation, if the entrepreneur is considering outsourcing the platform’s development; perhaps to save costs; then he/she must hire and employ an ‘offshore CTO’ to safe guard themselves from all shortcoming of the offshoring process.
An offshore ‘Chief Technology Officer’ (CTO) is a highly niche service that provides tremendous value addition.

A CTO is a 3rd party individual, who sources and guides a high-performance, local offshore development team to ensure delivery of self-designed, robust, scalable software on an on-time and on-budget basis. The CTO works closely and collaboratively with the client as their dedicated point of contact and manages the entire implementation process.

 

The CTO ensures:
A final product the fully meets all strategic goals –> implements the business vision as per expectations
• Cutting-Edge software that can scale to millions of users
• A fully managed and monitored dev process –> and delivery on-time,on-budget, as per scope and schedule

The services provided by the offshore CTO are as follows:

  1. Program Management – The Business –> IT Translator
    • Technical Advising – In sync with latest developments and trends in IT
    • Execution Strategy & Roadmap – Mock individual features, finalize order of implementation
  2. Software Design Engineering
    • Selection of technology, programming language, tools, API’s and integrations.
    • Overall Architecture Design –Select algorithms and data structures, make data flow diagrams, software design
    • Advice on Coding guidelines – Code refactoring, Hierarchy design
    • Cloud server architecture – Server Farm Design
  3. Project Management
    • Project Lifecycle Management – bug tracking, ticketing
    • Resource and Delivery management
    • Communication – Demos, report submissions, sync ups, meetings
    • Client feedback and iterations
  4. The CTO provides the extra Engineering Eye for Detail often ignored by development teams
    • Testing – Model, functional and integration test cases – App QA and Regression
    • Performance Optimization – Conduct client and server side latency tests
    • Load balancing and Scalability Testing

The Offshore CTO also has the following credentials and qualifications:
• Understands Web 2.0, Understands large-scale, distributed web development
• Passion for designing Heavy traffic, low latency web architectures
• Seasoned Computer scientist and software engineer
• Well-versed with latest trends and development in technology
• Quickly and comprehensively understands the client’s requirements

 

The CTO can also help shortlist and select an offshore development team in situations where clients don’t already have one selected. The CTO can frame an optimized quotation from the vendor on behalf of the client. The CTO ensures that the vendor is charging for the number of hours that are actually needed to write the code as designed by the CTO themselves.


Advantages of such a service:

  1. Software written by outsource teams is usually of low quality – It works as expected but it is not secure, not scalable, not well tested, not performance friendly and not maintainable.
    Non-technical savvy entrepreneurs are also unable to judge the stability, scalability and performance of the site. In the end what they get is a beta platform that drives users away, kills all its initial investment and has no room for future growth and/or funding.
    The CTO can prevent this by acting as a central point of contact for all technical what’s/when’s/how’s/where’s. They understand distributed web design; they can perform code reviews and can supervise the development of well-rounded code.
  2. Offshore Software Development also gets very time-consuming for the entrepreneur – It becomes impossible to manage scope creeps, time delays, resource switches, provide on-time feedback, and conduct continuous tests/QA. The CTO resolves technical deadlocks, handles all communication with the development team, manages on-time delivery, conducts all meetings, and advices entrepreneurs on what features/integrations/tests to add or delete.

The extra costs of hiring such a service prove to be inconsequential in the long term. The CTO prevents the entrepreneur from wasting more money on the re-haul and re-design of a poorly designed product.

Real-World EXAMPLES:

  1. Here are a few case studies of projects that suffered horribly in the lack of such a service. Business Elitehad to shut down operations as it jumped from one bad off development team to another – all in the absence of sound technical guidance and project management.
  2. Here are a few case studies of projects that benefited hugely from having an offshore CTO. Kuhono – a complex IT startup platform designed and built in Rails within three months with more than expected functionality, and delivered on time without much supervision of the entrepreneurs themselves.

At Atlogys, we provide offshore CTO services to entrepreneurs for web platform design and development. Please contact us at ritika@atlogys.com


Share

 

IT Consultant Vs. Software Developer in Offshore Development

January 19th, 2011 by Ritika Sanghi
Tags: , ,
Posted in Consulting, Software Design | No Comments »


 

QUESTION: What’s the difference between an architect and a construction worker on a house construction project?

ANSWER: It is very similar to the difference between an IT consultant and a Software Developer on an offshore software development project.

Most offshore development is handled by a team of software developers who are well versed with coding in a specific language. 90% of the times, such offshore software teams have basic to intermediate software design skills only! They only do what’s necessary to make functional software.

What they almost always lack is detailed strategic planning and a high-profile architecture required for a scalable and performance friendly software.

 
Specifically, an IT consultant can perform the following roles:

  • Design Engineering
  • Program Management
  • Project Management

 

Here are the differences between an IT consultant and a Software Developer on a typical offshore software development project:
 

IT Consultant Software Developer
An IT Consultant looks at technology from the business perspective. They offer advice on latest technology trends & best practices. This way they help clients make better business decisions. A Software Developer takes the approved technical specification and looks at implementing the same to get things working.
An IT Consultant works on adding/deleting features from the app specification as per target audience, goal, market competitive study and ROI. A Software Developer is usually not involved with the market performance reports of their features and/or their customer reports. They are concerned with implementing the approved feature specification in a given time frame.
An IT Consultant can help with code reviews and code re-factoring. A Software Developer writes the initial functional code.
An IT consultant looks at software from the perspective of security, scalability, maintainability, ease of usage and performance. This 360 degree angle puts the implementation strategy on the right track from the very beginning. A Software developer’s first priority is to write functional code. Aspects of security, performance etc often get neglected till the end. This requires major revamps and re-hauls in the software at a later point of time.
An IT consultant looks at the platform from long term use and helps select a DBMS and Db schema accordingly. A Software Developer makes a schema for one feature at a time and usually modifies the same vigorously.
An IT consultant gets involved with ‘testing and QA’ as code and features are being written. He/She then formalizes a process of regular regression testing, and helps in creation of written test cases. This helps with early bug detection and prevents creation of nested buggy code. A Software developer performs manual feature testing after the feature is implemented and continues to build on top or moves on to other features.
An IT consultant can conduct client/server-side latency and load measurements by simulating traffic. This helps in optimizing code by improving data structures, DB schema and algorithms. This activity is usually outside the realm of a Software Developer’s role as it takes up a lot of additional time over and above coding of the actual features.
As the application begins to shape up, the IT consultant can help with the server farm design and launch architecture for launching the application. Choosing an environment for web platforms on the cloud requires a lot of work and understanding. A software developer can then run the processes for moving the app to the cloud as and when told.
An IT consultant can help maintain the app on the cloud as he/she understand the prod machine setup A Software Developer is usually not aware of this setup.
An IT consultant can function as a Project Manager to manage timelines, resources, schedule and project scope. The software developer finds it difficult to stay so organized and update the project status as and when things happen.
The IT consultant can conduct meetings with the clients, offer sync-ups, provide demos, collect bugs and iterate on the status follow-ups. The software developer can save time from doing all this and instead work on the feedback provided to improve the application.

The value addition is similar to the value addition of having an architect on a house construction project.


At Atlogys, we act as IT consultants on web application development and web 2.0 platform design. If you have a web based business and want technical advice or review of your application, please contact us at ritika@atlogys.com


Share

 

Do I need Program Management? Software Program Management?

August 16th, 2010 by Ritika Sanghi
Tags: , , , ,
Posted in Consulting, software management | No Comments »


Program Management is about understating your needs from a business perspective and then converting them into a solution that can be technically implemented. It is about understanding your requirements and then understanding your budget, audience so use-case so that all details can be feasibly addressed in your software and its making.


The value addition from softwate program management is equivalent to the value addition of an architect on a house construction project, the value addition from a total local-shopaholic on your next new-town shopping trip, and the value-addition from talking to the chef prior to gorging at your next expensive restaurant visit.


An IT program manager is someone who will understand your needs and provide the most optimized and ideal solution that will address all demands in one go. An IT savvy person who understands technology and who has a passion for problem solving. Someone well versed with enterprise practices and standards and someone who stays upbeat with latest trends in IT to meet those industry challenges.


If you are considering offshore software development, it is highly recommended to use the services of a trained and experienced program manager. The first step should be to approach the PM (Program Manager) to get the project specifications outlined and designed. As an ongoing process, the PM should work dedicatedly with your software development teamto make sure the project adheres to its quality, to test the project specs, to get the project optimized on grounds of latency, security and to ensure constant and smooth follow-up and collaboration.

More details on Program Management Services.


Share

 

Know your Software Application

October 16th, 2009 by Ritika Sanghi
Tags:
Posted in Consulting, How To | No Comments »


As a software owner, it is very critical to learn and understand few basic details about the application. This will help in utilizing the software application to its fullest potential.

Whether the application is be-spoke (i.e made custom for you from scratch), or an off-the-shelf ready product or an opensource solution, knowing a few basic tidbits can help you debug, troubleshoot the application & use it to its fullest scale and efficiency.

Make sure the following are clarified with the vendor or consultant

  • License Terms and Rules
  • Software ownership and IP property
  • Get the technical documentation on the application
  • The maintenance and support clauses on the application
  • The infrastructure needed to run the application effectively – hardware, electricity, temperature etc.
  • Bug fixing policy

Technical Documentation can prove really useful . It is like an application manual. Go over the documentation and make sure you understand the following:

  • Rules/Assumptions made by the application (if any) – what the application will do in-case user fails to provide a particular input, how it will handle certain edge cases.
  • Formulas, Algorithms, Calculations coded into the application
  • All inputs the application expects along with their data Type
  • All sorts of output it can generate
  • The user control flow scenarios – what all can a user do after logging into the application
  • The modules, tools and features provided by the application
  • Security and Performance clauses built into it – whether it does browser pre-fetching, uses cache layer.
  • Compatibility with newer versions of software and licenses – if the application uses a particular software e.g apache server or windows XP, then can you easily upgrade to vista without disrupting the application functionality.

An IT consultant can help you give a demo of the application and go over its technical documentation. They can also help you understand the application setup for basic troubleshooting.

Do spend a few hours obtaining this critical knowledge. Get in-charge of the software. It will make you feel more comfortable allowing you to experiment, play and use the application in more beneficial ways.

Free Personal Consulting for one hour Free Personal Consulting for one hour


Share

 

Software development Quotations from Vendors – How To

August 14th, 2009 by Ritika Sanghi
Tags:
Posted in Consulting, How To, Service Provider | No Comments »


As a client who hires a vendor for purposes of software development, it is very essential to get a detailed proposal or quotation from the vendor for the proposed application. After getting the detailed proposal, it is equally important to understand the various elements of the proposal so as to make sense of the work needed, the hours estimated and the charges proposed.

These above mentioned two steps will make sure that the client is paying just enough for the quanta of work needed by them for developing their software and not something excessive as per the over-the-top estimations of the vendor.

Sometimes vendors have legitimate estimations of the number of man hours and the number of modules that need to be developed for an application, but many times, these numbers are overestimated to account for slack, change in requirement, bugs, testing and project management.

The overestimation hurts the pocket of the client as vendors will never return the money even if they actually did take fewer hours than proposed to get the work done.

Here are a few tips on getting a detailed quotation:

  1. The proposal should list all modules needed to make the software.
  2. Modules should ideally be divided into the following categories:
    * project management
    * interface graphic design
    * frontend components
    * controller logic
    * backend components
    * testing
    * resolving bugs
    * documentation
    * demo
    * final deployment.
  3. Each such module should contain list of functionality and features needed. Each such functionality or feature should contain the total man hours proposed by the vendor for doing the task.
    Here is an example of a fairly standard list of features to be seen for making an e-commerce and photo intensive online store.

    Interface Graphic Design
    * Overall Template design like header, footer and stylesheet for all pages – 8 hours
    * Editing of images using photoshop – 4 hours
    * Form elements look and feel – e.g. Buttons/Arrows/Dropdowns/selections etc – 2 hours
    Frontend Design
    * User Control flow – Overall navigation – 10 hours
    * Data Listing – 2 hours
    * Prefetching of large images for faster access – 5 hours
    * User login – add/edit/delete users – 8 hours
    * Forms for enquiries/submissions/data retrieval – 3 hours
    * Client side browser processing for various actions like slideshow, events, generating text etc. – 5 hours
    * Payment Gateway incorporation – 15 hours
    * Secure Transaction signatures – 12 hours
    * Generating reports – 14 hours
    Controller Logic
    * ORM mapping betweeb backend and frontend – 20 hours
    * Calculations or complicated algorithms for sorting data items as per price, quantity etc – 20 hours
    Backend Components
    * Database design for storing items, storing prices, storing user accounts – 50 hours
    * Data Archival and Manipulation – 12 hours
    Project Management – 40 hours
    *Design of application SRS
    *Design of application DFD
    *Design of application engineering architecture
    *Monitoring of the overall development
    Testing
    * Browser compatibility of interface across many standard browsers like IE, Mozilla, FF, Opera, Chrome – 3 hours
    * Tests for controller logic – 10 hours
    * Software QA od database and frontend components – 10 hours
    * Design of an intuitive interface – 15 hours
    * Mocks and Feedback from engineers and client. – 5 hours

  4. Each module must also contain the technologies proposed by the vendor for software implementation. e.g. Ruby on Rails, PHP, clearsilver for tempolates, MySql vs. MsSql etc.
  5. Furthermore, the vendor must attched detailed Data flow diagrams and engineering architecture diagram to better help the client understand the application control flow
  6. There should be delivery milestones set in place for each module along with demo dates and final delivery timeline.
  7. The invoice payments must be broken as per delivery milestone and should Not be upfront upon finalization of order.

Understanding the detailed Proposal/Quotation

It is best advised to seek the help of a professional software/IT consultant to understand a vendor’s proposal.

  1. Study your software requirements and make sure that the list of functionality/features mentioned in the modules matches the same. There should not be extra features. If so, you can get them removed and reduce the total hours of work needed.
  2. Look at the technologies proposed for implementation of the modules and confirm with an IT consultant if these are scalable, viable and practical given your software needs. Outdated and old technologies take longer to develop on and are not dependable in the long run. Switching to newer technologoes e.g. switching to ruby on rails from asp.net or from php will save atleast 20% frontend development time for the client.
  3. Look at the project management hours – The vendors charge this for purposes of fully understanding your requirement and making a list of features needed by you. Save on these as follows:
  4. Show the number of man hours proposed for each feature to a 3rd party unbiased IT consultant – Seek their advice and understand is the time peoposed is legitimate for that quanta of work. Very often consultants will give you justification for why the time should be reduced saving you vauable money from the vendor.
  5. Make sure the vendor covers tests for all modules mentioned in the proposal.
  6. Calculate the price being charged per hour by the vendor and see if it makes sense given your industry and size of business.

Consulting firms and professional IT consultants will often work with you to reduce the vendor’s proposed project management hours and the overall man hours estimated for various modules by as much as 40%. This can lead to huge savings in total price to be paid to the vendor.

Most often, consulting firms charge nothing for initial primary consultation. So always seen their 3rd party, unbiased advice and benefit for this valued service.

Free Personal Consulting for one hour Free Personal Consulting for one hour


Share

 

Output of Technical Consulting

July 11th, 2009 by Ritika Sanghi
Tags:
Posted in Consulting | No Comments »


What is IT consulting all about? What does it mean to talk IT or to talk technology?

IT consulting is about understanding the needs of the clients, analyzing various solutions with respect to client’s needs, budget, sclability, sustainability and proposing optimal software solutions. The solutions can be:

  • New bespoken designs and implementations
  • Off the shelf market products
  • Opensource technical solutions integrated and tweaked for a certain need.

The basics of IT consulting are as follows:

  • Understand IT need
  • Create product specifications
  • Conceptualize and Compare different technical solutions for solving need
  • Present the optimal technical solutions to the client
  • Suggest engineering technologies, methodologies and strategies for addressing need
  • Create a software requirement specifications
  • Create a data flow diagram
  • Identify and define engineering components
  • Create an engineering architecture
  • Suggest roadmap and delivery timelines

Atlogys Technical Consulting is an effort towards providing business with ‘one of its kind’, expert technical consulting on all their IT needs and requirements. We provide a packaged service that also includes expert vendor selection and expert product followup.

Free Personal Consulting for one hour Free Personal Consulting for one hour


Share

 

Feel the spread of Information Technology

May 24th, 2009 by Ritika Sanghi
Tags: ,
Posted in Information Technology | No Comments »


What would we do without IT?



This shows how fast numbers are doubling, how fast processes are evolving, how fast our systems are responding, how fast our thought processes are moving and just about how fast everything around us is changing. The only limitation is how fast IT is developing and transforming our lives. According to the video, its EXPONENTIAL !!

Free Personal Consulting for one hour Free Personal Consulting for one hour


Share

 

Protect yourself from Bad Software Design

May 13th, 2009 by Ritika Sanghi
Tags:
Posted in How To, Software Design | 1 Comment »


Charles Hoare has rightly said -
“There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.”

Most often software development vendors will deliver you solutions that meet your required feature set. These solutions seem to do the work at the time of delivery, but on closer inspection, they are not built so that they may be strong and sustainable. Many users are also not in a position to make this judgement. As a result, the solutions deployed fail to live up to the changing needs of an IT service user and need to be replaced with newer ones again and again. This process is no-doubt tedious and expensive for the end user.

However, with a slight understanding of the principles of good software design, all end users can save themselves from this trouble and can make meaningful judgements before accepting a vendor’s solution.

The easiest thing to do is to perform these tests and ask these questions:

  • Check the Usability – Is the Interface easy to use and intuitive?
  • Security Engineering – Is the system open to security vulnerabilities? Can it be easily hacked into? This may be hard to check on your own. Ask an IT expert or the vendor to run some XSS and security tests and make sure they pass.
  • Scalable – Is the solution scalable? What if you need to provide parallel access to your system to many people at once? Is the solution built in a manner that it can be used in parallel?
  • Performance Intensive – How much RAM and CPU cycles does the solution need to run smoothly? What if your server is overloaded? Will this solution fail to function?
  • Modularity – What if you need to add extensions and build in more features into the system? Is the solution written in a manner that adding or editing code will be easy?
  • Tests – Make sure the solution has enough software tests accompanying it, especially Regression Tests. This is the only sane way to make sure that existing functionality is intact when more newer features are added to the solution.

If you do not have anyone to answer these questions for you, seek the advice of expert technical consultants. Technical Consultants can best understand your needs and help propose a highly optimal solution that not only works but is also strong and sustainable.

Free Personal Consulting for one hour Free Personal Consulting for one hour


Share