Skip to main content

Software Development Macro and Micro Process

If you think that in year 2012 all companies which produce software and IT divisions in our world have already their optimized software development process, you are wrong. It seems that we - software architects, software developers or whatever your title is - still need to optimize the software development process in many software companies and IT divisions.

So what do you do if you enter a software company or IT division and you see following things:

1. There is a perfect project management process to handle all those development of software but it is a pure project management without a context to software development. So basically you only take care of cost, time, budget and quality factors. In the software development you still use the old fashioned waterfall process.

2. From the tooling point of view: you have a project management planning and controlling tool but you are still in the beginning of Wiki (almost no collaboration tool) and you don't use issues tracking system to handle all the issues for the development of your software components and applications. You use Winword and Excel to define your requirements and you cannot transform them to your software products since you don't have any isssues tracking system. No chance to have traceability from your requirements down to your issues to be done in your software components and applications.

3. Maven is already used but with a lot customization and not intuitively used. The idea of using a concrete already released version of dependencies was not implemented. Instead you always open all the dependently projects in Eclipse. You can imagine how slow Eclipse works since you need to open a lot of projects at once although you only work for one project. Versioning in Maven is also not used correctly e.g.: no SNAPSHOT for development versions.

4. As you work with webapp you always need to redeploy to the application server. No possibility to hot deploy the webapp. Use ctrl-s, see your changes and continue to work without new deployment is just a dream and not available.

Luckily as an experienced software architect and developer we know that we can optimize the two main software development processes:

1. Software Development Macro Process (SDMaP): this is the overall software development lifecycle. In this process model we define our requirements, we execute analysis, design, implementation, test and we deploy the software into production. Waterfall process model and agile process model like RUP and Scrum are examples of SDMaP.

2. Software Development Micro Process (SDMiP): this is the daily work of a software developer. How a software developer works to develop the software. A software developer codes, refactors, compiles, tests, runs, debugs, packages and deploys the software.

More information on SDMaP and SDMiP:
The picture below shows the SDMaP and SDMiP in combination. The macro (SDMaP) and micro (SDMiP) process meet at the implementation phase and activity. So changing and optimizing one has definitely side effects on the other one and vice versa.


At the example of organization mentioned above it is important that we optimize both processes since they work hand in hand. So how can the optimization for macro and micro process looks like?

1. SDMaP:
  • Introduce Wiki for IT divisions and software companies. You can use WikIT42 to make the structure of your Wiki and use Confluence as your Wiki platform.
  • Introduce Wiki with issue tracking like JIRA and combine both of them to track your requirements.
  • Refine the requirements into issues (features, tasks, bugs, etc.) to the level of the software components and applications, because at the end you will implement all the requirements using your software components and applications.
  • Introduce iterative software development lifecycle instead of waterfall process. This is a long way to go since you need to change the culture of the company and you need a full support from your management.
2. SDMiP
  • Update the Maven projects to use the standard Maven mechanism and best practices with no exception. Transform the structure of the old Maven to the new standard Maven using frameworks like MoveToMaven
  • Use Maven release plugin to standardize the release mechanism of all Maven projects.
  • Use m2e Eclipse plugin to optimize your daily work as a software developer under Eclipse and Maven.
  • Use Mylyn to integrate your issue tracking system like JIRA into your Eclipse IDE.
  • Introduce JRebel to be able to hot deploy quickly your webapps into the application server.
Optimizing macro and micro process for software development is not an easy task. In the macro process you need to handle all those relationships with other divisions like Business Requirements, Quality Assurance and Project Management divisions. You need to convince them that your SDMaP optimization is the best way to go. This is more an organizational challenge and changes than the micro process optimization.

The micro process is also not easy to optimize, since you need to convince all developers that they can be more productive with the new way of working than before. You need to show them that it is a lot more faster if you don't open a lot of Java projects within your Eclipse workspace. Also using JRebel to deploy your webapp to your application server is the best way to go. Normally developers are technical oriented, so if you can show them the cool things to make, they will join your way.


Comments

Eleftheria K. said…
Hello Mr Dewanto,

Nice blog! Is there an email address I can contact you in private?

Thanks,

Eleftheria Kiourtzoglou

Head of Editorial Team

Java Code Geeks
email: eleftheria[dot]kiourtzoglou[at]javacodegeeks[dot]com
Unknown said…
Project Management played the most vital role in business. It helps to allocate and manage project resources, roles, and responsibilities and limit the rights to access projects to required persons only. With the proper management of project the business grow up more.Keep sharing such knowledgeable post.
Thanks for sharing this blog!!!
I will post to this page on my blog. I am sure my visitors will find that very useful.

Online Food Ordering Software
The delivery of native applications by the company is a good idea, but in my opinion such an application should be developed all the time. The company like https://grapeup.com/services/application-transformation does it very well which is constantly upgradeits IT solutions.
Mounika said…
Nice explanations of the CLOUD TECHNOLOGY basics, it's good to know that! A friend of mine has implemented a company which is the best ERP software in Hyderabad right now, she provides cloud based ERP software in Hyderabad, so I hope it goes well for her.
Best Regards
Inwizards said…
Hey! This is my first visit to your blog! We are
a collection of volunteers and starting
a new project in a community in the same niche. Your blog provided us beneficial information to work on. You have done a marvellous job!

Software consultant Company Frisco USA

Node js Development Company Texas USA

Sales Tracking Development Company Texas USA


Sales Fundaa said…
Great post I would like to thank you for the efforts you have made in writing this interesting and knowledgeable article. We are top CRM Software | CRM Software Mumbai | CRM Software Provider | CRM Software Pune | Field Management Software | CRM Software India
Appslure said…
Thanks for your great information. I like this topic. This site has lots of advantage. We are top Mobile App Development | Mobile App Development Company in India | Website Development Company in Delhi | Website Designing Company in Gurgaon.
Monica MS said…
I am not sure the place you are getting your information, however good topic. I needs to spend some time studying more or understanding more. Thank you for wonderful information I was in search of this info for my mission.
Chatbot Company in Dubai
Chatbot Companies in Dubai
Chatbot Development
Chatbot Companies
AI Chatbot Development
Chatbot Companies in UAE
Chatbot Company in Chennai
Chatbot Company in Mumbai
AI Chatbot Companies
Chatbot Development Companies
Ramya Balan said…
Really very great information for that post, am amazed and then more new information are get after refer that post. I like that post.
Visitor Management System
Visitor Management System Dubai
Visitor Management Software Dubai
Visitor Management System UAE
Visitor Management Software
Visitor Management App
BClub said…
Thanks for sharing your thoughts. I truly appreciate your efforts and I will be waiting for your further write ups thank you once again.
Agen Bola Terfavorit Agen Bola Terfavorit
Taruhan Bola Terfavorit Taruhan Bola Terfavorit
Kasino Online Terlengkap Kasino Online Terlengkap
bandar Kasino Online Terlengkap
Thanks for sharing this information.
Hindustan Tradecom is the best Share broker in Jaipur, jodhpur, Bikaner, Kota, Rajasthan and leading equity trader in Jaipur, Rajasthan. If you want to Open demat account in Jaipur or Open trading account in Jaipur or looking for commodity broker in Jaipur then Hindustan Tradecom is the right place for you to consult.
tak for at dele disse oplysninger.
Lautrop & Uhre er en bedste webside til smykkebutikker hvor du kan købe smykker med ædelsten. Her kan du købe FORGYLDT MESSING , FORGYLDT SØLV, guld
Thanks for sharing this information.

Apptians is the Best Staffing Company in Delhi and top Resource Augmentation company in Delhi NCR, Noida, Faridabad, Gurgaon, India. Dedicated React JS Developers and React Native developers can be hired from Apptians.
Pheeta said…
Thanks for sharing this information.
Pheeta is the best online shopping sites for Salwar suits for women and woman Kurti online in Jaipur, Rajasthan. Visit us at our website for more fancy and attractive dresses and Kurtas.
Thank you for sharing our information.

Jewellery By Mitali Jain is the best website to buy artificial jewellery online and Jain Jewellery in Jaipur. They sell fancy and attractive products like Earrings, Rings, Necklaces, Headgears, Bracelets, Mask and Glass Chains, Bookmark Jewellery, Gift Cards and many more items like this.
Thanks for sharing this information.
Biharapps is the best website design agency and mobile app development company in Melbourne, Australia. Top andoid app developers and iOS app developers , web designers in Melbourne, Australia and Software development company in Melbourne, Australia. We are Digital Marketing Agency and SEO Company in Australia.
Thanks for sharing this information.
Biharapps is the best website design agency and mobile app development company in London, United Kingdom. Top andoid app developers and iOS app developers , web designers in London, United Kingdom and Software development company in london, United Kingdom. We are Digital Marketing Agency and SEO Company in United Kingdom.
Thanks for sharing this information

Shop jewellery from best Jewelry Manufacturer in jaipur , Buy jaipur bangles online, rajasthani silver jewellery, Silver Kundan Ring, 925 silver earring, pearl bunch necklace, silver kundan jewellery, 925 silver jewellery wholesale manufacturer,artificial kundan wholesaler of jewellery manufacturers in jaipur at SilverMountain Jaipur.

we are on the top search from following keywords:
garnet and sterling silver rings hathful design in silver, gold plated silver temple jewellery, online jewellery shopping in jaipur, silver wholesale jewellery jaipur, silver shops near me, intimate jewelry wholesale, oxidised jewellery jaipur wholesale, sterling silver earring, silver mountain jewellery, mountain jewellery, silver wholesale jewellery jaipur rajasthan, silver jewellery jaipur
new maang tikka
ACE Infra is the Best Construction Material Wholesaler in Jaipur and a leading Aggregate and Concrete Supplier in Jaipur, Rajasthan. We provide different Wholesale Building Material like M-Sand, P-Sand, Grit, Dust, brick, Bajri, TMT, ACC Block, Concrete Paver and Block as well as Cement.
Wao its a great blog.
Best Jewellery Wholesaler in Jaipur is Ratnavali. It is a best place to buy silver jewelry Jaipur, Jaipuri gold jewellery, gemstone figures in Jaipur, Rajasthan. We have skilled craftsmanship who made best designer collection of jewelry for you.
Wao this is great article. Thanks for sharing this information.
Get best pest control services in jaipur, ro repair service in jaipur, ac repair service in jaipur online by Yes Done. For more service visit our website.
Thank you for sharing this valuable information.

Apparrant is the leading UX UI Design agency having experienced designers and developers working throughout the year on important and life changing products. We have been awarded as top UI UX Design agency in India by multiple agencies. If you are looking for best UX Design Agency in Noida, UI UX Design Agency in Faridabad, and UX UI Design Company in Delhi then Apparrant is best for you.
Thanks for sharing this information.
Yes Done is the best online site for on demand home services, professional service providers in Jaipur, Rajasthan. We are providing top services like carpenter, cleaning, TV, best pest control services in Jaipur, ro repair service in Jaipur, ac repair service in Jaipur online by Yes Done is there for services at your doorstep in Jaipur, Rajasthan. For more service visit our website. For more services visit our website.
Nice one, Good writing. Congratulations!

Read about Wi4 which is Provider of EMR Systems and Provider of EHR Systems . We are also best hipaa compliant web and hipaa compliant app development agency having experience with doctor App Development experience also.
Apparrant Technologies - Best UX UI Design Company in India.Great, it's really good blog

If you are looking for best UX Design Company in Gurgaon Haryana, India then Apparrant is Awesome. We have been known as leading UX Design Company in Pune , UX Design Studio in Hyderabad , UX Design Company in Mumbai , and UX Design Company in Bangalore .
It's a great blog, shares a piece of good information.

GIEC Global is the leading education and migration consultants in Australia. We are top Education consultants in Melbourne, Sydney, Perth, Brisbane, Adelaide and Australia. We are best education consultants for Canada in Australia. We also helps people in studying in USA and have been awarded as education consultants for USA in Melbourne and education consultant for UK in Australia.
Good One, it is one of the very great blog I have ever read. It has increased my knowledge.


Seraro is one of the best ASP Dot Net Developer Staffing Agency in Atlanta.
We have dedicated team for hiring of RoR Developer , SQL Developer, PERL Developer , Wordpress Developer
Good One, it is one of the very great blog I have ever read. It has increased my knowledge.


Seraro is one of the best Azure Developer Staffing Agency in Atlanta.
We have dedicated team for hiring of AWS Developer , MERN Developer, MEAN Developer , Phalcon Developer
The awesome blog shares good information with everyone. I will bookmark it in the future.

France Education Consultants in Australia is GIEC Global. We are top Education consultants for Norway in Melbourne, Sydney, Perth, Brisbane, Adelaide and Australia. We are best education consultants for Netherlands in Australia. We also helps people in studying in Ireland and have been awarded as education consultants for Ireland in Melbourne and education consultant for Finland in Australia.
Thanks for the marvelous posting! I actually enjoyed reading it, you will be a great author. I want to encourage continue your great writing. Thanks for sharing your nice topic.
telehealth software development
telehealth solutions
Thank you, your blog is really very good.

Read about Wi4 which is best IBM healthcare solutions and Microsoft healthcare solutions provider in the USA. We are also best behavioral health software solutions provider and Medical equipment software providing agency having experience with Home Health care Solutions also.
Pharmacoders said…
Thank you for sharing this amazing blog.

Pharmacoders is a mobile and web app development company and we provide Telemedicine App Development for healthcare practitioners, hospitals and clinics.
Altezatel said…
Thank you for sharing great blog.

Alteza holds an upper hand in Telemedicine App Development

Amazing blog! Thank you for sharing.

Alteza is a leading online pharmacy app development company and we address every concern of our clients by providing comprehensive online pharmacy apps for their business needs.
banerpunep said…
really appealing and approaching content for reading and implementation purpose.
Property Management Software
RSM Enterprises said…
The offered Kamagra Gold Tablets comply with International Quality Standards and are offered at competitive market prices.
Order Now : +91 92163-25377

Popular posts from this blog

Moving Host Cobol Batches and Monolith Webapps to Cloud and Microservices

Very interesting presentation in Amazon Event "From Mainframe to Microservices - Vanguard's Move to the Cloud" . Following parts can be used as Migration Patterns : Different ways of how to move from Mainframe to Microservices: Re-host Reengineer  Refactor Rewrite Batch job migration Data analytics enablement Data-driven augmentation Re-platform with Linux and Java Repurchase Retire Combination of all This presentation also shows the Cloud Data Architecture at Vanguard. Generally this is how we can build our own database for our micrsoservicew at the cloud and at the same time still use the data from DB2 mainframe on-premise as well.  Advantages using this data architecture: Each microservice reads data from its own local database. DB2 mainframe database can still be used from other Host / Cobol batches. DB scalability Disadvantages: You cannot write to the database in case you have a network problem. There is an extension t

GWT Training for Java Developers with GWT Boot

I'm always a fan of " one language solution with Java to rule them all ", here are sofar my opinions about Polyglot Programming: Why "Polyglot Programming" or "Do It Yourself Programming Languages" or "Language Oriented Programming" sucks? Warum Polyglot Programming nicht praxistauglich ist Java als universelle Programmiersprache Until today nobody can excite me about Polyglot Programming. My points are getting another big support after I read the " Rise of Polyglot at Netflix " presentation which says that Polyglot is expensive , also for company in the category of Netflix. At the end of the day we need to be productive . Our applications should have a  high quality standard and the total costs  (TCO) of our software development should be manageable and low . To be able to reach this goal we have Java with Spring Boot or JakartaEE on the server-side which offers REST interfaces. So logically for user interface development